1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
自己理解的一個串口中斷函數,大神指點,初學者可以看看比較
[打印本頁]
作者:
bai850107
時間:
2017-9-26 20:28
標題:
自己理解的一個串口中斷函數,大神指點,初學者可以看看比較
#include<reg52.h>
typedef unsigned char num;
void UsartInit() //初始化串口
{
TMOD=0X20; //確定T1定時器計數器工作方式——工作方式1
SCON=0X50; //確定串口工作方式——工作方式1 波特率=(2^SMOD/32)*T1溢出率
PCON=0X80; //SMOD 倍頻選擇 SMOD=0 波特率正常,SMOD=1波特率加倍
TH1=0XF3; //根據已知波特率、晶振頻率、串口工作方式計算初值
TL1=0XF3;
EA=1; //開總中斷
ES=1; //開串口中斷
TR1=1; //開啟計數模式
}
void main()
{
UsartInit();//初始化串口
while(1);//等待中斷
}
void serialopen() interrupt 4 //中斷函數,選擇中斷源 4
{
num receivedata; //receivedata 接受和發送的數據
receivedata=SBUF; //接受數據寫入SBUF
RI=0; //必須軟件清零RI。硬件置1,CPU響應中斷,下一幀數據寫入SBUF。
SBUF=receivedata; //發送數據到SBUF
while(!TI); //!TI不是0既是1,說明數據還沒發送完。TI不是1,便是0,跳出while函數,說明數據發送完畢。
TI=0; //必須軟件清零
}
作者:
信陽職院
時間:
2017-9-27 08:45
在串行中斷函數內,首先判斷是哪種中斷,然后在進行相關操作。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1