這是一個單片機與單片機通信的
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (25.55 KB, 下載次數: 51)
下載附件
2018-6-29 03:01 上傳
單片機源程序如下:
- /*發送程序*/
- #include<reg52.h>
- #define uchar unsigned char
- void initUart(void); //初始化串口波特率
- void time(unsigned int ucMs); //延時單位:毫秒
- void main(void){
- uchar counter=0; //定義計數器
- initUart();
- while(1){
- SBUF = counter; //發送聯絡信號
- while(!TI); //等待發送完成
- TI = 0; //清TI標志位
- while(!RI); //等待乙機回答
- RI = 0;
- if(SBUF ==counter){ //若返回值與發送值相同,組織新數據
- P2 = counter; //顯示已發送值
- if(++counter>15) counter=0;//修正計數器值
- time(500);
- }}}
- void time(unsigned int ucMs)//延時單位:ms
- {
- #define DELAYTIMES 239
- unsigned char ucCounter; // 延時設定的循環次數
- while (ucMs!=0) {
- for (ucCounter=0; ucCounter<DELAYTIMES; ucCounter++){}//延時
- ucMs--;
- }
- }
- /********** 初始化串口波特率 ************/
- void initUart(void)
- { SCON=0X50; //串口工作在方式1
- PCON=0;
- TMOD=0X20;
- TH1=0XF4; //2400bps
- TL1=0XF4;
- TCON=0X40;
- }
復制代碼
所有資料51hei提供下載:
串口雙機通信.zip
(129.73 KB, 下載次數: 22)
2018-6-28 12:30 上傳
點擊文件名下載附件
弟弟 下載積分: 黑幣 -5
|