硬件 l JDY-23藍(lán)牙模塊(配有官網(wǎng)的安卓和ios軟件) l STC12c2052AD l 11.0592晶振,30pf陶瓷電容x2 l LED,杜邦線若干
軟件l 串口調(diào)試工具,電腦直接使用STC自帶的比較方便,其它的也可以下面附件壓縮包里面也有 l Ios使用的是jdy-23自帶的JDY-LED(應(yīng)用商店搜索) l 安卓附件里面帶有jdy官方軟件,或者其他藍(lán)牙串口調(diào)試工具都可以
stc波特率計算器
接線l 晶振和電容,最小系統(tǒng)對應(yīng)接 l 藍(lán)牙模塊燒錄器接線一樣,R ----> T,T ----> R l LED,正極 ----> vcc,負(fù)極 ----> P3.7 線路簡單就沒必要配圖了
對我來說難點(diǎn)1. 藍(lán)牙模塊的操作,實(shí)際上就是串口的操作 2. 串口十六進(jìn)制,ASCII碼,字符串之間的關(guān)系 3. 藍(lán)牙中斷(串口中斷)相關(guān)寄存器配置(有的是現(xiàn)成的模塊,不過還是要自己消化一下) (1) STC單片機(jī)可以在STC軟件的”波特率計算器”,里面直接生成方便。(生成的話要自己添加EA=1(總中斷),ES=1(串口中斷)
實(shí)際效果1. 通過字符串 o,點(diǎn)亮LED(發(fā)送低電平),發(fā)送c,關(guān)閉LED(發(fā)送高電平) (1) 也可以發(fā)送對應(yīng)的十六進(jìn)制,例如o ----> ASCII的111(10進(jìn)制) ----> 6f(16進(jìn)制)。所以發(fā)送f6等同于發(fā)送o(可以直接找網(wǎng)站轉(zhuǎn)碼省的自己算)
存在的問題 - 不穩(wěn)定,雖然發(fā)送之后可以點(diǎn)亮LED,有時候會穩(wěn)定常亮。但是有時候會閃爍一下之后LED就熄滅了(有人知道是啥問題嗎?)
單片機(jī)代碼代碼很簡單,就是想記錄一下自己的學(xué)習(xí)(論壇的代碼格式真的太爛了,將就看看吧) - #include "reg52.h"
- #include <intrins.h>
- sfr AUXR = 0x8E; //reg52.h這個庫未對AUXR定義,這里額外定義一下
- sbit led = P3^7;
- char cmd;
- void UartInit() //9600bps@11.0592MHz
- {
- PCON &= 0x7F; //波特率不倍速
- SCON = 0x50; //8位數(shù)據(jù),可變波特率
- AUXR &= 0xBF; //定時器1時鐘為Fosc/12,即12T
- AUXR &= 0xFE; //串口1選擇定時器1為波特率發(fā)生器
- TMOD &= 0x0F; //清除定時器1模式位
- TMOD |= 0x20; //設(shè)定定時器1為8位自動重裝方式
- TL1 = 0xFD; //設(shè)定定時初值
- TH1 = 0xFD; //設(shè)定定時器重裝值
- ET1 = 0; //禁止定時器1中斷
- TR1 = 1; //啟動定時器1
- EA = 1; //開啟總中斷
- ES = 1; //開啟串口中斷
- }
- void send_byte(char data_msg)
- {
- SBUF = data_msg;
- while(!TI);
- TI = 0;
- }
- void send_msg(char* data_msg)
- {
- while(*data_msg != '\0')
- {
- send_byte(*data_msg);
- data_msg++;
- }
- }
- void main()
- {
- UartInit();
- led = 1;
- while(1);
- }
- void UART_Routine() interrupt 4
- {
- cmd = SBUF;
- if(cmd == 'o')
- {
- led = 0;
- send_msg("turn on.\r\n");
- }
- if(cmd == 'c')
- {
- led = 1;
- send_msg("turn off.\r\n");
- }
- // SBUF接收到數(shù)據(jù)置1,只能通過軟件設(shè)置恢復(fù)成0
- // 接受完數(shù)據(jù)處理之后需要恢復(fù)0,不然無法接受后續(xù)數(shù)據(jù)
- RI = 0;
- }
復(fù)制代碼
JDY-23 5.0BLE藍(lán)牙模塊手冊-V1.2版本.7z
(2.26 MB, 下載次數(shù): 24)
2022-7-12 00:02 上傳
點(diǎn)擊文件名下載附件
|