久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
52單片機雙機通信Proteus仿真程序
[打印本頁]
作者:
杜鳴磊
時間:
2020-5-18 08:17
標題:
52單片機雙機通信Proteus仿真程序
在PROTEUS上采用雙單片機A和B,采取TXD連接另一個單片機的RXD,建立一對一通信A外接4個按鍵,編號1~3;B外接一個數碼管,平時顯示0。 A按鍵后,B顯示相應鍵號0.3秒;
進階要求1:A的TXD與B的RXD間加入按鍵開關K,通過K的ON/OFF來控制通信連接的有效和無效;
運行中,K由ON改為OFF,通信無效時,B不響應A的按鍵表示通信未建立;
進階2:通信無效時,B顯示9,表示通信無效;運行中K由OFF改為ON,系統自動回復正常
1,首先考慮資源分配
波特率設置要用定時器1自動重裝載模式。
定時器1用于產生10ms中斷
定時器2用來產生20ms中斷
故可選用89c52單片機
2:主函數完成3個定時器初始化函數,之后在while(1)休眠或啥也不干。
3:定時器2中斷服務函數:
自動重裝載模式不需要重置本定時器
按鍵掃描函數獲取鍵號,若無按鍵鍵號為0
重置并啟動超時定時器(tim0)
根據S_OK狀態點亮LED(S_OK=0時點亮)
4:接收中斷模塊
S_OK置1
關閉超時定時器
5:10ms定時中斷模塊
S_OK=0
關閉超時定時器
接收B板模塊
同樣需要3個定時器
1:main函數中三個定時器初始化
2:接收中斷
直接顯示鍵號,開啟0.3s定時器
重置啟動超時定時器
發送信息給A板
3:0.3s定時中斷
關閉本定時器
顯示0
4:超時中斷函數
S_OK=0
數碼管顯示9
關閉本定時器
關閉0.3s定時器
發送A板主函數文件程序示例。完整程序和proteus圖見附件。
51hei.png
(6.4 KB, 下載次數: 52)
下載附件
2020-5-18 14:16 上傳
單片機源程序如下:
#include <reg52.h>
#include"init.h"
//sfr T2MOD=0XC9;
void send(uchar num); //聲明子函數的時候要加分號
void delay(int z) //晶振11.592.延時z毫秒
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void key()
{
if(key3==0)
flash=4;
else if(key2==0)
flash=3;
else if(key1==0)
flash=2;
else if(key0==0)
flash=1;
else
flash=0;
}
void send(uchar num)
{
SBUF=num; //把發送的內容寫進sbuf,自動發送 ,發送數據時TI為0,!0為1
while(!TI); //!邏輯非,發送完數據,發送完數據時TI為1.!1為0,停止發送
// led=1;
TI=0; //TI需要軟件清零
}
void tim0() interrupt 1//超時中斷
{
static unsigned char count;
//定義變量,記錄中斷次數
// TH0=0xd8;
// TL0=0xf0; //定時器重置,一幀數據一來一回兩個多毫秒,定時10ms夠了
S_OK=0; //進入超時中斷,說明通信已經中斷
led=1;
led2=1;
TR0=0; //通信已經中斷,關閉超時定時器
// count++;
// if(count==50)
// {
// led2=~led2;
// count=0;
// }
}
void receive() interrupt 4
//串行接收和發送中斷
{
if(RI==1)
{
S_OK=1; //進入接收中斷說明通信正常
RI = 0; //RI要手動清0
led=0;
led2=0;
TR0=0; //關閉超時定時器
}
if(TI==1)
{
TI=0;
// TH0=0xd8;
// TL0=0xf0;
TH0=0xec;
TL0=0x78;
TR0=1;
}
}
void timer_T2() interrupt 5 //中斷函數
{
static unsigned char count1; //定義變量,記錄中斷次數
TF2=0; //軟件清零定時器2溢出標志位
count1++;
//重置并啟動超時定時器
//根據S_OK點亮led3
if(count1==3)
{
key(); //掃描按鍵
SBUF=flash; //發送一次鍵號key(); //掃描按鍵
count1=0; //清零
}
}
void main()
{
//待運行一次的初始化函數
tim2init();
tim1init() ;
tim0init();
TR0=0;
led=0;
led2=0;
led3=0;
while(1)
{
// send(flash);
// if(S_OK==0)
// led3=1;
// else
// led3=0;
//key();
}
}
復制代碼
全部資料51hei下載地址:
程序源碼和原理圖.rar
(105.97 KB, 下載次數: 33)
2020-5-18 08:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91精品国产综合久久香蕉922
|
日韩精品在线一区二区
|
视频一区二区中文字幕日韩
|
午夜欧美一区二区三区在线播放
|
欧美爱爱视频
|
成人免费在线观看视频
|
国产精品免费一区二区三区
|
日韩综合网
|
欧美一区二区三区免费在线观看
|
久久久精品网站
|
神马影院一区二区三区
|
国产午夜精品一区二区
|
久久精品a级毛片
|
秋霞a级毛片在线看
|
黄色免费看
|
国产在线www
|
免费看黄色片
|
不卡一区二区三区四区
|
久久性色
|
久久国内精品
|
国产精品一区二区视频
|
国产精品99久久久久
|
中文字幕不卡
|
97视频成人
|
中文字幕在线一区
|
日产精品久久久一区二区福利
|
懂色一区二区三区免费观看
|
亚洲精品国产电影
|
91精品国产综合久久精品图片
|
亚洲午夜在线
|
日韩高清中文字幕
|
密室大逃脱第六季大神版在线观看
|
九色国产
|
日韩av在线一区二区
|
a免费视频
|
欧美日产国产成人免费图片
|
www国产成人免费观看视频
|
国产成人精品免高潮在线观看
|
色妞av
|
av中文网
|
亚洲精品中文字幕中文字幕
|