新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串口通信實(shí)驗(yàn)程序(數(shù)據(jù)接收)

串口通信實(shí)驗(yàn)程序(數(shù)據(jù)接收)

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
試驗(yàn)效果如下:



#include
#define duan P0//段選
#define wei P2//位選
unsigned char code wei1[8] = {
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制 查表的方法控制
unsigned char code duan1[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char ge,shi,bai,temp;
void DigDisplay(); //動(dòng)態(tài)顯示函數(shù)
void init(); //初始化函數(shù)
void main(void)
{
init();
while(1)
{
DigDisplay();
}
}

本文引用地址:http://m.butianyuan.cn/article/201612/324625.htm


void DigDisplay()
{
unsigned char i,j;
bai=temp/100;
shi=temp%100/10;
ge=temp%10;


wei = wei1[i];//發(fā)送位選
duan = duan1[bai]; //發(fā)送段碼
j = 10;//掃描間隔時(shí)間設(shè)定
while(j--);
duan = 0x00; //消隱
i++;


wei = wei1[i];//發(fā)送位選
duan = duan1[shi]; //發(fā)送段碼
j = 10;//掃描間隔時(shí)間設(shè)定
while(j--);
duan = 0x00; //消隱
i++;


wei = wei1[i];//發(fā)送位選
duan = duan1[ge]; //發(fā)送段碼
j = 10;//掃描間隔時(shí)間設(shè)定
while(j--);
duan = 0x00; //消隱
i=0;
}
void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
EA=1;
TR1=1;
SM1=1;
REN=1;
ES=1;
}
void usb() interrupt 4
{
RI=0;
temp=SBUF;
}



評(píng)論


技術(shù)專區(qū)

關(guān)閉