久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2906|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

求教各路大咖:本人使用Proteus 8仿真AT89C51_ADC0804出現(xiàn)亂碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
//代碼如下
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={                 //數(shù)碼管編碼 0到F
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit dula=P2^6;                        //定義數(shù)碼管的段選
sbit wela=P2^7;                        //定義數(shù)碼管的位選
sbit adwr=P3^6;
sbit adrd=P3^7;
void delay_ms(uint);        //申明延時(shí)函數(shù);因?yàn)樵谥骱瘮?shù)之前,也可以不申明

void display (uchar bai,uchar shi,uchar ge)  //數(shù)碼管顯示子函數(shù)
{
        P0=0x00;
        dula=1;
        P0=table[bai];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7e;
        wela=0;
        delay_ms(5);

        P0=0x00;
        dula=1;
        P0=table[shi];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7d;
        wela=0;
        delay_ms(5);

        P0=0x00;
        dula=1;
        P0=table[ge];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7b;
        wela=0;
        delay_ms(5);
               

}
void delay_ms(uint cc)          //延時(shí)子函數(shù)
{
        uint aa,bb;
        for (aa=cc;aa>0;aa--)
                for (bb=110;bb>0;bb--);       
}
void main()                          //主函數(shù)
{
         uchar adval,A1,A2,A3,a;
         wela=1;
         P0=0x78;
         wela=0;
         while(1);
                 {
                        adwr=1;
                         _nop_();
                        adwr=0;
                        _nop_();
                         adwr=1;                          
                         for(a=10;a>0;a--)
                         {
                                display(A1,A2,A3);
                        }
                        P1=0xff;
                         adrd=1;
                         _nop_();
                         adrd=0;
                         _nop_();
                         adval=P1;
                         adrd=1;
                         A1=adval/100;
                         A2=adval%100/10;
                         A3=adval%10;                       
                }         
                                                        
}

顯示情況.png (22.9 KB, 下載次數(shù): 101)

顯示情況.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:462827 發(fā)表于 2020-2-13 12:55 | 只看該作者
先不要ADC,先驗(yàn)證你能在數(shù)碼管上正確顯示要顯示的數(shù)字吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:235200 發(fā)表于 2020-2-13 13:07 | 只看該作者
在每一條P0=table[]前加上P0=0;就可以了
回復(fù)

使用道具 舉報(bào)

地板
ID:535242 發(fā)表于 2020-2-13 14:37 | 只看該作者
hantu 發(fā)表于 2020-2-13 12:55
先不要ADC,先驗(yàn)證你能在數(shù)碼管上正確顯示要顯示的數(shù)字吧

好的,我先試試哈,感謝你的建議。
回復(fù)

使用道具 舉報(bào)

5#
ID:535242 發(fā)表于 2020-2-13 14:38 | 只看該作者
嗯嗯 我去試一下 謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:535242 發(fā)表于 2020-2-13 14:39 | 只看該作者
csmyldl 發(fā)表于 2020-2-13 13:07
在每一條P0=table[]前加上P0=0;就可以了

我已經(jīng)加了哈
回復(fù)

使用道具 舉報(bào)

7#
ID:535242 發(fā)表于 2020-2-13 14:43 | 只看該作者
hantu 發(fā)表于 2020-2-13 12:55
先不要ADC,先驗(yàn)證你能在數(shù)碼管上正確顯示要顯示的數(shù)字吧

去掉了 AD 顯示異常?還是一樣,不知道哪里錯(cuò)了

#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={                 //數(shù)碼管編碼 0到F
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit dula=P2^6;                        //定義數(shù)碼管的段選
sbit wela=P2^7;                        //定義數(shù)碼管的位選
sbit adwr=P3^6;
sbit adrd=P3^7;
void delay_ms(uint);        //申明延時(shí)函數(shù);因?yàn)樵谥骱瘮?shù)之前,也可以不申明

void display (uchar bai,uchar shi,uchar ge)  //數(shù)碼管顯示子函數(shù)
{
        P0=0x00;
        dula=1;
        P0=table[bai];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7e;
        wela=0;
        delay_ms(5);

        P0=0x00;
        dula=1;
        P0=table[shi];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7d;
        wela=0;
        delay_ms(5);

        P0=0x00;
        dula=1;
        P0=table[ge];
        dula=0;
        P0=0xff;
        wela=1;
        P0=0x7b;
        wela=0;
        delay_ms(5);
               

}
void delay_ms(uint cc)          //延時(shí)子函數(shù)
{
        uint aa,bb;
        for (aa=cc;aa>0;aa--)
                for (bb=110;bb>0;bb--);       
}
void main()                          //主函數(shù)
{
         uchar adval,A1,A2,A3,a;
         wela=1;
         P0=0x78;
         wela=0;
         while(1);
                 {
                //        adwr=1;
                 //        _nop_();
                //        adwr=0;
                //        _nop_();
                //         adwr=1;                          
                        // for(a=10;a>0;a--)
                 //        {
                                display(A1,A2,A3);
                //        }
                //        P1=0xff;
                //         adrd=1;
                //         _nop_();
                //         adrd=0;
                //         _nop_();
                         adval=0x00;
                        // adrd=1;
                         A1=adval/100;
                         A2=adval%100/10;
                         A3=adval%10;                       
                }         
                                                        
}
回復(fù)

使用道具 舉報(bào)

8#
ID:258566 發(fā)表于 2020-2-13 19:12 | 只看該作者
段碼,換一個(gè),
比如這樣
unsigned char code numtab[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
p2=numtab[3];//顯示3
回復(fù)

使用道具 舉報(bào)

9#
ID:535242 發(fā)表于 2020-2-14 12:14 | 只看該作者
cccc888 發(fā)表于 2020-2-13 19:12
段碼,換一個(gè),
比如這樣
unsigned char code numtab[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x8 ...

我用的是共陰數(shù)碼管,之前做實(shí)驗(yàn)一直都正常的,我在研究下吧
回復(fù)

使用道具 舉報(bào)

10#
ID:535242 發(fā)表于 2020-2-14 17:50 | 只看該作者
cccc888 發(fā)表于 2020-2-13 19:12
段碼,換一個(gè),
比如這樣
unsigned char code numtab[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x8 ...

  while(1); 后面多列個(gè); 去掉就正常了謝謝你
回復(fù)

使用道具 舉報(bào)

11#
ID:535242 發(fā)表于 2020-2-14 18:07 | 只看該作者
hantu 發(fā)表于 2020-2-13 12:55
先不要ADC,先驗(yàn)證你能在數(shù)碼管上正確顯示要顯示的數(shù)字吧

  while(1); 后面多列個(gè); 去掉就正常了謝謝你
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 欧美 综合 | 国产精品视频一区二区三区四区国 | 欧美黄色网 | 欧美国产日韩精品 | 国产电影一区二区在线观看 | 久草在线青青草 | 国产乱一区二区三区视频 | 日韩在线精品视频 | 久草在线 | 国产精品久久久久久久久久免费 | 亚洲高清网| 亚洲国产欧美一区二区三区久久 | 91黄色片免费看 | 国产精品一卡 | 久久97精品 | 亚洲一区二区三区在线视频 | 一区二区三区日韩精品 | 91在线精品秘密一区二区 | 日韩欧美精品一区 | 99热国产免费 | 亚洲天堂av一区 | 91九色视频 | 国产福利91精品 | 精品日韩一区 | 亚洲精品自在在线观看 | 亚洲精品久久久久久久久久久久久 | 日本粉嫩一区二区三区视频 | 中文字幕国产 | 亚洲成人999| 久久一区二区免费视频 | 久草在线影 | 在线观看成人小视频 | 免费在线观看av片 | 久久中文字幕一区 | 国产精品成人在线观看 | 亚洲国产精品久久久久秋霞不卡 | 6996成人影院网在线播放 | 日韩国产在线 | 91av精品| 蜜桃官网 | 黄色亚洲|