通過串口助手控制led,還有加了蜂鳴器,也有響聲,不過不是太大,一點學習,希望大家多指教。 #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16; //對數據類型進行聲明定義 typedef unsigned char u8; sbit beep=P1^5; void delay(u16 i) { while(i--); } /******************************************************************************* * 函數名 :UsartInit() * 函數功能 :設置串口 * 輸入 : 無 * 輸出 : 無 *******************************************************************************/ void UsartInit() { SCON=0X50; //設置為工作方式1 TMOD=0X20; //設置計數器工作方式2 PCON=0X80; //波特率加倍 TH1=0X30; //計數器初始值設置,注意波特率是300的 TL1=0X30; ES=1; //打開接收中斷 EA=1; //打開總中斷 TR1=1; //打開計數器 }
/******************************************************************************* * 函 數 名 : main * 函數功能 : 主函數 * 輸 入 : 無 * 輸 出 : 無 *******************************************************************************/ void main() { UsartInit(); // 串口初始化 while(1); }
/******************************************************************************* * 函數名 : Usart() interrupt 4 * 函數功能 : 串口通信中斷函數 * 輸入 : 無 * 輸出 : 無 *******************************************************************************/ void Usart() interrupt 4 { u8m; m=SBUF; beep=m; beep=~beep; delay(10); P2=m; RI= 0;//清除接收中斷標志位 SBUF=m;//將接收到的數據放入到發送寄存器 while(!TI); //等待發送數據完成 TI=0; }
1.png (37.81 KB, 下載次數: 76)
下載附件
2018-11-22 23:35 上傳
1:如果輸入fe,那么P2口p2.0就亮,如果輸入ff,p2.0就滅,如果想有閃爍,就輸入ff fe ff,然后在定時發送那里有多長時間一次,我們自己設置,然后勾選,就會看到閃爍的led燈。 2:輸入0011就會有響聲,可以調節發送的次數,聲音也會變化。 3:流水燈,點開擴展,會看到多條字符串定義,依次輸入之后,點自動循環發送,就會出現流水燈,可以自己設置時間。
2.png (14.15 KB, 下載次數: 70)
下載附件
2018-11-22 23:58 上傳
|