正在初學51的中斷,定時器,串口等等,遇到很多瓶頸比如串口怎么發送變量的數值啦(加一個0x30就好),分享這個程序給初學者們啦
功能:
1. 開機以后,LED0和LED1實現0.5秒間隔閃爍2次,蜂鳴器同時鳴叫2次。
2. 之后,串口等待接收到一個字符'R',開始進入主循環體。
3. 主循環體中,LED0和LED1實現1秒間隔閃爍。
4. 串口接收到字符'D',回復LED當前狀態和系統當前處于運行還是暫停狀態,如果運行狀態,收到字符'R',如果暫停狀態,收到字符'P'。
5. 串口接收到字符'T',回復主循環體開始運行的時間和系統當前處于運行還是暫停狀態,時間單位為秒,最大計數值65535,以每一位的ASCII碼字符發送,最后加換行符。
6. 串口接收到其他字符,回復字符'W',且蜂鳴器高頻率鳴叫2次。
7. 主循環體運行每分鐘,蜂鳴器低頻率鳴叫1次。
8. 開啟INT0中斷,按下S_INT0,可以暫停目前的程序運行,再次按下,可以繼續運行,之前的所有都保持繼續運行的狀態,計數值也繼續累加。暫停狀態下, 依然可以響應串口的'D'和'T'的應答回復,具體暫停還是運行狀態的解釋,詳見第4條要求。
9. 所有定時, 用T0方式1中斷實現。
10. 串行口配置為方式1,4800波特率,中斷接收,查詢發送。
PS:定時器的初值為了方便是用晶振12HZ算的哦,想要精確延時的朋友記得換成11.0592算一下啦
用的STC89C52REC的迷你單片機,原理圖附在壓縮包里啦
單片機源程序如下:
所有資料51hei提供下載:
totaltask.rar
(83.75 KB, 下載次數: 34)
2019-8-19 17:02 上傳
點擊文件名下載附件
源程序+原理圖 下載積分: 黑幣 -5
|