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