亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
單片機(jī)串口發(fā)射 接收顯示二極管,四個(gè)按鍵控制四種顯示狀態(tài)
[打印本頁(yè)]
作者:
電子發(fā)燒人
時(shí)間:
2020-6-15 22:33
標(biāo)題:
單片機(jī)串口發(fā)射 接收顯示二極管,四個(gè)按鍵控制四種顯示狀態(tài)
按鍵1按下從上到下點(diǎn)亮
按鍵2按下從兩頭往中間點(diǎn)亮
按鍵3按下從中間往兩邊點(diǎn)亮
按鍵4按下從下面往上點(diǎn)亮
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(15.15 KB, 下載次數(shù): 73)
下載附件
2020-6-16 15:26 上傳
單片機(jī)源程序如下:
#include<reg51.h>
#define ILEN 8 //接收緩沖區(qū)大小
unsigned char display_data[ILEN][8]; //顯示方式數(shù)據(jù)緩沖存儲(chǔ)區(qū)
unsigned char istart=0; //接收緩沖區(qū)起始索引
unsigned char iend=0; //接收緩沖區(qū)結(jié)束索引
unsigned int dat_size[ILEN]=0; //顯示方式數(shù)據(jù)長(zhǎng)度存儲(chǔ)區(qū)
/******************************************************
函數(shù)功能:延時(shí)N微秒
******************************************************/
void delay_nus(unsigned int i)
{
i=i/10;
while(--i);
}
/******************************************************
函數(shù)功能:延時(shí)N毫秒
******************************************************/
void delay_nms(unsigned int n)
{
n=n+1;
while(--n)
delay_nus(900);
}
void main()
{
unsigned char j;
TMOD=0x20; //定時(shí)器T1工作方式2
SCON=0x50; //串口工作方式1
PCON=0x00; //SMOD=0,波特率不倍增
TH1=0xfd;
TL1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值,即波特率為9600b/s
TR1=1; //啟動(dòng)定時(shí)器T1
ES=1; //串口中斷允許
EA=1; //開啟總中斷
while(1)
{
while(iend == istart) //等待數(shù)據(jù)緩沖區(qū)出現(xiàn)新數(shù)據(jù)
;
for(j=0;j < dat_size[istart & (ILEN-1)];j++) //根據(jù)顯示數(shù)據(jù)長(zhǎng)度取出數(shù)據(jù)
{
P1=display_data[istart & (ILEN-1)][j]; //送顯示數(shù)據(jù)
delay_nms(500);
}
istart++; //為下次從緩沖區(qū)取出一組顯示數(shù)據(jù)做好準(zhǔn)備
}
}
/******************************************************
函數(shù)功能:串口中斷接收服務(wù)函數(shù)
******************************************************/
void com_isr() interrupt 4 using 1
{
unsigned char c;
static unsigned char i=0;
if(RI==1) //是否接收完成
{
c=SBUF; //從緩沖寄存器中取出數(shù)據(jù)
RI=0; //軟件清零
if(istart+ILEN !=iend ) //判斷緩沖區(qū)是否以存滿
{
if(c!=0xff) //判斷接收的數(shù)據(jù)是否是結(jié)束標(biāo)志數(shù)據(jù)
{
display_data[iend & (ILEN-1)][i++]=c; //緩沖區(qū)接收數(shù)據(jù)
}
else //一組顯示數(shù)據(jù)接收完成
{
dat_size[iend & (ILEN-1)]=i; //同時(shí)存儲(chǔ)該組數(shù)據(jù)的長(zhǎng)度
iend++; //為接收下組數(shù)據(jù)做好準(zhǔn)備
i=0;
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
串口發(fā)射 接收四種方式點(diǎn)亮8個(gè)二極管.rar
(78.96 KB, 下載次數(shù): 15)
2020-6-15 22:32 上傳
點(diǎn)擊文件名下載附件
串口點(diǎn)亮LED二極管
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1