STC8A8K单片机和YS-LDV7语音识别模块使用笔记

STC8A8K和LDV7语言模块在使用时用不少相似之处,并且主控芯片都是STC系列,只不过型号不同,开发环境完全一致。(keil4和STC-ISP 其实其他STC型号也差不多),这两个东西是本来是为了电赛准备的,无奈都没用上,这里分享一下踩过的坑。

  1. STC8A8K
    在这里插入图片描述

  2. YS-LDV7语音识别模块
    在这里插入图片描述

  3. STC是51增强版,开发亦使用keil4(语音模块也一样,以下省略),但是stc头文件是的大坑,keil4总也找不到。

  4. 官网 http://www.stcmcudata.com/ 下载STC-ISP开发工具
    在这里插入图片描述
    在这里插入图片描述
    大部分初学者会把keil4和keil5安装一起,导致无法添加头文件,这里建议重新安装keil4到一个独立的文件夹,最好不要有中文,然后重新按提示添加头文件到keil4安装路径中。

  5. 添加成功后
    在这里插入图片描述
    如果是语音模块则不用新建工程,直接打开商家给的例程修改即可。

  6. 编译成功后,切记要生成.hex文件,使用串口下载。
    在这里插入图片描述

  7. 编译成功后,打开STC-ISP程序,在这里插入图片描述

  8. 连接好开发板,如果是有USB数据线的插数据线就可以了,如果语音模块就找一个USB转TTL,RX -TX TX-RX 交叉连接,5v或者3.3V供电后,点击下载。 点击下载后,一定要按复位键 或者断开5V供电线迅速插好才能下载,STC芯片是冷启动,必须断电重新连接才能下载。

这里附上语音模块资料链接:https://pan.baidu.com/s/1geZq3TJyQC9SFwBoZg2-Ng
提取码:t91y
STC8A8K资料
链接:https://pan.baidu.com/s/1xwNUtZ0El4uEoAJnriLfcA
提取码:h9nt
资料不完全,网盘上传文件数量有限制。

好的,以下是STC8A8K64D4单片机与JDY-31蓝牙模块进行通信的基本代码: ```c #include <STC8.H> #include <intrins.h> #define FOSC 24000000L //系统时钟频率 #define BAUD 9600 //串口波特率 #define MD0 P3_0 //定义STC8A8K64D4 P3.0引脚作为蓝牙模块的模式选择引脚 bit busy; //串口忙标志位 unsigned char RcvBuff; //串口接收缓冲区 void InitUART() //初始化串口 { SCON = 0x50; //8位数据,可变波特率 TMOD &= 0x0F; //清除原来的定时器设置 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TH1 = TL1 = -(FOSC/12/32/BAUD);//设定波特率 TR1 = 1; //启动定时器1 ES = 1; //串口中断允许 EA = 1; //总中断允许 } void UART_SendByte(unsigned char dat) //串口发送一个字符 { while(busy); //等待前面的数据发送完成 busy = 1; SBUF = dat; //写数据到UART数据寄存器 } void main() { InitUART(); //初始化串口 while(1) { MD0 = 0; //将P3.0引脚置为低电平,使蓝牙模块进入AT指令模式 UART_SendByte('A'); //向蓝牙模块发送AT指令 MD0 = 1; //将P3.0引脚置为高电平,使蓝牙模块退出AT指令模式 } } void UART_Isr() interrupt 4 using 1 //串口中断服务程序 { if(RI) { RI = 0; RcvBuff = SBUF; } if(TI) { TI = 0; busy = 0; } } ``` 以上代码实现了串口初始化、发送一个字符的函数以及主函数中对蓝牙模块的AT指令操作。其中,P3.0引脚作为蓝牙模块的模式选择引脚,当该引脚为低电平时,蓝牙模块进入AT指令模式;当该引脚为高电平时,蓝牙模块退出AT指令模式。此外,还需要注意将STC8A8K64D4单片机的串口接口连接到JDY-31蓝牙模块的TX和RX引脚上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值