標(biāo)題: 我想通過(guò)串口通信來(lái)改變數(shù)碼管的顯示 [打印本頁(yè)]

作者: kaixinjiuhao    時(shí)間: 2017-4-1 17:59
標(biāo)題: 我想通過(guò)串口通信來(lái)改變數(shù)碼管的顯示
現(xiàn)在的問(wèn)題是:如果我成功顯示了數(shù)字2,但是我在不復(fù)位的情況下,不能再次通過(guò)串口通信來(lái)讓數(shù)碼管顯示數(shù)字3。希望大家教我一下。謝謝大家!!



#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned int
sbit du=P2^6;
sbit we=P2^7;
uchar a;
char code table []={0x3f,0x06,0x5b,0x4f,0x66,0x6d,     0x7d,0x07,0x7f,0x6f,0x77,0x7c,     0x39,0x5e,0x79,0x71};

void main()
{
        SCON=0X50;
        PCON=0x00;
        TMOD=0X20;
        EA=1;
        ES=1;
        TL1=0Xfd;
        TH1=0Xfd;
        TR1=1;
        du=0;
        we=0;       

        while(1) ;
}

void zhongduan() interrupt 4
{
        ES=0;
        RI=0;
        a=SBUF;

        we=1;
        P0=0x00;
        we=0;
        P0=0xff;
        du=1;
        P0=table[a];
        du=0;

        EA=1;
}


QQ截圖20170401123806.png (270.03 KB, 下載次數(shù): 100)

這是原理圖

這是原理圖

作者: imxuheng    時(shí)間: 2017-4-1 20:15
a=SBUF;
while(!RI);-//-等待數(shù)據(jù)接收完成,RI=1了,說(shuō)明數(shù)據(jù)接收完成了,就不等待了,往下執(zhí)行
RI=0;//置位標(biāo)識(shí)符
作者: kaixinjiuhao    時(shí)間: 2017-4-1 20:38
imxuheng 發(fā)表于 2017-4-1 20:15
a=SBUF;
while(!RI);-//-等待數(shù)據(jù)接收完成,RI=1了,說(shuō)明數(shù)據(jù)接收完成了,就不等待了,往下執(zhí)行
RI=0;// ...

那有什么方式可以讓他在顯示完2之后,再次傳送數(shù)字3,數(shù)碼管由2變?yōu)?
作者: zl2168    時(shí)間: 2017-4-1 21:16
本帖最后由 zl2168 于 2017-4-1 21:18 編輯

雙機(jī)串行通信方式1
Proteus仿真一下,確認(rèn)有效。
實(shí)例77 雙機(jī)通信方式1.rar (40.4 KB, 下載次數(shù): 48)

以上摘自張志良編著80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。

作者: zl2168    時(shí)間: 2017-4-1 21:19
雙機(jī)串行通信方式2
Proteus仿真一下,確認(rèn)有效。
實(shí)例78 雙機(jī)通信方式2.rar (46.57 KB, 下載次數(shù): 29)

以上摘自張志良編著80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。

作者: zl2168    時(shí)間: 2017-4-1 21:20
本帖最后由 zl2168 于 2017-4-1 21:21 編輯

雙機(jī)串行通信方式3
Proteus仿真一下,確認(rèn)有效。
實(shí)例79 雙機(jī)通信方式3.rar (45.3 KB, 下載次數(shù): 43)

以上摘自張志良編著80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。

作者: imxuheng    時(shí)間: 2017-4-2 09:00
kaixinjiuhao 發(fā)表于 2017-4-1 20:38
那有什么方式可以讓他在顯示完2之后,再次傳送數(shù)字3,數(shù)碼管由2變?yōu)?

就是這三句,
void zhongduan() interrupt 4
{
        ES=0;

        a=SBUF;
        while(!RI);-//-等待數(shù)據(jù)接收完成,RI=1了,說(shuō)明數(shù)據(jù)接收完成了,就不等待了,往下執(zhí)行
        RI=0;//置位標(biāo)識(shí)符

        we=1;
        P0=0x00;
        we=0;
        P0=0xff;
        du=1;
        P0=table[a];
        du=0;

        EA=1;
}
看看行不行




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1