這是今天制作完成的手機藍牙APP遙控實物,感覺還不錯,貼出來,供大家學習借鑒。
手機藍牙APP遙控1
手機藍牙APP遙控2
手機藍牙APP遙控3
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #include <math.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar receive=0;
- uchar send=0xff;
- sbit out1=P2^0; //繼電器1
- sbit out2=P2^1; //繼電器2
- sbit out3=P2^2; //繼電器3
- /********************************************************************
- * 名稱 : Delay_1ms()
- * 功能 : 延時子程序,延時時間為 1ms * x
- * 輸入 : x (延時一毫秒的個數)
- * 輸出 : 無
- **********************************************************************/
- void Delay_1ms(uint i) //1ms延時
- {
- uchar x,j;
- for(j=0;j<i;j++)
- for(x=0;x<=148;x++);
- }
- /********************************************************************
- * 名稱 : Com_Init()
- * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷
- * 輸入 : 無
- * 輸出 : 無
- **********************************************************************/
- void Com_Init(void)
- {
- TMOD = 0x20; //設置定時器工作方式2
- SCON = 0x50; //設置為工作方式1
- TH1 = 0xfd; //設置波特率 9600
- TL1 = 0xfd;
- TR1 = 1; //啟動定時器1
- ES = 1; //開串口中斷
- EA = 1; //開總中斷
- }
- //開關操作函數,接收到一次數據改變一次狀態
- void alloff()
- {
- P2=0xff;
- }
- void main()
- {
- Delay_1ms(100);
- Com_Init();//串口初始化
- while (1);
- }
- /********************************************************************
- * 名稱 : Com_Int()
- * 功能 : 串口中斷子函數
- * 輸入 : 無
- * 輸出 : 無
- **********************************************************************/
- void Com_Int(void) interrupt 4
- {
- EA = 0;
- if(RI == 1) //當硬件接收到一個數據時,RI會置位
- {
- receive = SBUF ; //接收=SBUF
- RI = 0; //令接收中斷標志位為0(軟件清零)
- switch (receive)
- {
- case 0x00:alloff();break; //關閉所有
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
單片機藍牙遙控開關制作資料.rar
(2.9 MB, 下載次數: 374)
2018-12-2 19:22 上傳
點擊文件名下載附件
|