proteus仿真51串口實兩個單片機串口通信,一個發( {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};),一個收(收到的數據點亮LED)
發送端與接收端源程序及仿真文件見附件
單片機源程序如下:
- #include<reg51.h>
- //--聲明全局函數--//
- void UsartConfiguration();
- void Delay10ms(unsigned int c); //誤差 0us
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- // unsigned char i;
- UsartConfiguration();
- while(1)
- {
- if(RI)
- {
- P0=SBUF; //接收的數據點亮led (跑馬燈)
- RI=0;
- }
-
-
- }
- }
- /*******************************************************************************
- * 函 數 名 :UsartConfiguration()
- * 函數功能 :設置串口
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void UsartConfiguration()
- {
- SCON=0X50; //設置為工作方式1
- TMOD=0X20; //設置計數器工作方式2
- PCON=0X00; //波特率不加倍
- TH1=0XFD; //計數器初始值設置,注意波特率是9600的
- TL1=0XFD;
- // ES=1; //打開接收中斷
- // EA=1; //打開總中斷
- TR1=1; //打開計數器
- }
- /*******************************************************************************
- * 函 數 名 : Delay10ms
- * 函數功能 : 延時函數,延時10ms
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void Delay10ms(unsigned int c) //誤差 0us
- {
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
串口.rar
(17.63 KB, 下載次數: 88)
2018-4-19 17:10 上傳
點擊文件名下載附件
串口源程序及仿真文件
|