找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

兩個(gè)51單片機(jī)串口通信程序遇到的疑惑

查看數(shù): 2062 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2023-6-5 17:29

正文摘要:

大家好最近學(xué)習(xí)單片機(jī)串口通信,教材給出的例子是一個(gè)數(shù)字密碼(935467)從甲傳遞給乙,再顯示到數(shù)碼管上。但通過Proteus仿真,一直顯示“8.8.8.8.8.8”,看不出問題在哪里。 發(fā)送端代碼如下: //程序:ex6_1.c // ...

回復(fù)

ID:1008259 發(fā)表于 2023-6-8 11:03
wulin 發(fā)表于 2023-6-7 15:49
你仔細(xì)看一下甲機(jī)代碼,只在初始化時(shí)發(fā)送一次,如果乙機(jī)還沒有準(zhǔn)備好,當(dāng)然收不到,后續(xù)也沒有信號(hào)了。

多謝,我再好好琢磨~
ID:213173 發(fā)表于 2023-6-7 15:49
Intel2006 發(fā)表于 2023-6-7 13:15
多謝,但是我設(shè)置了消隱并修改了硬件為7SEG-MPX6-CA之后,顯示是6個(gè)“0”,還是沒解決��?感覺甲機(jī)的數(shù)據(jù) ...

你仔細(xì)看一下甲機(jī)代碼,只在初始化時(shí)發(fā)送一次,如果乙機(jī)還沒有準(zhǔn)備好,當(dāng)然收不到,后續(xù)也沒有信號(hào)了。
ID:1008259 發(fā)表于 2023-6-7 13:15

多謝,但是我設(shè)置了消隱并修改了硬件為7SEG-MPX6-CA之后,顯示是6個(gè)“0”,還是沒解決��?感覺甲機(jī)的數(shù)據(jù)傳送到乙(串口助手可以檢測(cè)到數(shù)據(jù)發(fā)送),但并沒有成功給buffer[]賦值,使得這個(gè)數(shù)組還是初始化的樣子。請(qǐng)問您知道里面的原因嗎?
ID:1008259 發(fā)表于 2023-6-7 08:01

是的,我昨晚也發(fā)現(xiàn)它用的是共陰極了。教材還是國(guó)家特等獎(jiǎng),但例程不止這一個(gè)有問題。
ID:213173 發(fā)表于 2023-6-7 07:04
Intel2006 發(fā)表于 2023-6-7 00:41
多謝樓上的回復(fù),但似乎不是消隱的問題。


ID:213173 發(fā)表于 2023-6-7 07:03
Intel2006 發(fā)表于 2023-6-7 00:41
多謝樓上的回復(fù),但似乎不是消隱的問題。

消隱是問題之一,從你的圖片看明顯是數(shù)碼管用錯(cuò)了,要用共陽。
ID:1008259 發(fā)表于 2023-6-7 00:41
多謝樓上的回復(fù),但似乎不是消隱的問題。
ID:213173 發(fā)表于 2023-6-6 10:21
void disp()
{
        unsigned char w,i,j;
        w=0x01;                //位碼賦初值
        for(i=0;i<6;i++)
        {
                P2=0xff;           // 消隱
                P1=tab[buffer[i]]; // 送共陽極顯示字型段碼,buffer[i]作為數(shù)組分量的下標(biāo)
                P2=~w;             // 送反相后的位碼
                for(j=0;j<100;j++);// 顯示延時(shí)
                w<<=1;             // w左移一位
        }
}
ID:235200 發(fā)表于 2023-6-6 01:05
P2口輸出經(jīng)過了反相器74LS04,所以在程序中的P1和P2輸出剛好反好,應(yīng)該為
P1=~tab[buffer[i]]; // 送共陽極顯示字型段碼,buffer[i]作為數(shù)組分量的下標(biāo)
     P2=w;             // 送反相后的位碼
另外仿真時(shí),數(shù)碼管顯示未消影,所以最終要把程序改成如下就對(duì)了:
P1=0;
P1=~tab[buffer[i]]; // 送共陽極顯示字型段碼,buffer[i]作為數(shù)組分量的下標(biāo)
P2=w;             // 送反相后的位碼

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表