欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機與PC上位機串行口通信調不通 [打印本頁]

作者: lianjinhui    時間: 2017-11-6 16:04
標題: 單片機與PC上位機串行口通信調不通
#include<reg52.h>
#define  uchar  unsigned  char
#define  uint  unsigned  int
#define  zxmaddr  P0
#define  zwmaddr  P2
unsigned  char  flag,a,i;
uchar  code  table[]="The  date  is";/*共陰極數碼管字形碼,共陽極數碼管取反即可*/

uchar  code  zixing[]={  0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7c,0x39,0x5E,0x79,0x71};/*共陰極數碼管字形碼,共陽極數碼管取反即可*/
uchar  code  ziwei[]={  0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void  init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
void  disp(void)
{
zwmaddr=~ziwei[7];
zxmaddr=~zixing[a&0x0f];
}
void  send_char(unsigned  char  txd)
{
SBUF=txd;
while(!TI);
TI=0;
}
void  main()
{
init();
while(1)
{
disp();
if(flag==1)
{
ES=0;
send_char(a);
ES=1;
flag=0;
}
}
}
void  ser()  interrupt  4
{
RI=0;
a=SBUF;
flag=1;
}


[attach]85851[/attach]
這個程序對這個圖為什么不行呢?求指教

QQ截圖20171106155922.png (150.88 KB, 下載次數: 39)

QQ截圖20171106155922.png

作者: zl2168    時間: 2017-11-6 21:14
本帖最后由 zl2168 于 2017-11-6 21:15 編輯

介紹你一個虛擬仿真案例
單片機與PC機虛擬串行通信
實驗16 與PC機虛擬串行通信.rar (151.41 KB, 下載次數: 14)

Proteus仿真一下,確認有效。以上摘自張志良編著《80C51單片機實用教程》ISBN 978-7-04-044532-9,高教社出版。     書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。

作者: wulin    時間: 2017-11-7 08:47
程序毛病不是語法問題,是語句次序問題。flag=0;要放在ES=0;與ES=1;之間,否在會丟幀。因為中斷一旦打開,很可能不是執行flag=0;,而是先響應中斷,再返回執行flag=0;,這樣就丟了一幀。改后如下:
void  main()
{
        init();
        while(1)
        {
                disp();
                if(flag==1)
                {
                        ES=0;
                        send_char(a);
                        flag=0;
                        ES=1;
                }
        }
}
作者: lianjinhui    時間: 2017-11-22 14:43
zl2168 發表于 2017-11-6 21:14
介紹你一個虛擬仿真案例
單片機與PC機虛擬串行通信
先Proteus仿真一下,確認有效。以上摘自張志良編著《8 ...

謝謝
作者: lianjinhui    時間: 2017-11-22 14:43
wulin 發表于 2017-11-7 08:47
程序毛病不是語法問題,是語句次序問題。flag=0;要放在ES=0;與ES=1;之間,否在會丟幀。因為中斷一旦打開, ...

謝謝

作者: lianjinhui    時間: 2017-11-22 15:10
zl2168 發表于 2017-11-6 21:14
介紹你一個虛擬仿真案例
單片機與PC機虛擬串行通信
先Proteus仿真一下,確認有效。以上摘自張志良編著《8 ...

謝謝
作者: lianjinhui    時間: 2017-11-22 15:11
wulin 發表于 2017-11-7 08:47
程序毛病不是語法問題,是語句次序問題。flag=0;要放在ES=0;與ES=1;之間,否在會丟幀。因為中斷一旦打開, ...

謝謝




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