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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5782|回復: 9
收起左側

proteus+單片機數碼管顯示問題,顯示太快的話,軟件會亂碼

[復制鏈接]
ID:418425 發表于 2019-1-7 00:08 | 顯示全部樓層 |閱讀模式
剛剛上手proteus這個軟件,在做ad轉換實驗時,遇到一個問題,數碼管顯示太快的話,軟件會亂碼,不知道什么原因,求助一下。
  1. /* adc0804 實驗 display*/

  2. #include<reg52.h>
  3. #include<intrins.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define MS 5  //數碼管顯示時間

  7. sbit dula=P2^6;
  8. sbit wela=P2^7;
  9. sbit cs=P3^5;        //adc0804 端口
  10. sbit rd=P3^6;
  11. sbit wr=P3^7;

  12. uchar code table[]={
  13.         0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
  14.                                         0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
  15. };

  16. void delayms(uint xms)
  17. {
  18.         uint i,j;
  19.         for(i=xms;i>0;i--)
  20.                 for(j=110;j>0;j--);
  21. }

  22. void display(uchar bai,uchar shi,uchar ge)
  23. {
  24.         dula=1;
  25.         P0=table[bai];
  26.         dula=0;
  27.         P0=0xff;
  28.         wela=1;
  29.         P0=0x37;
  30.         wela=0;
  31.         delayms(MS);

  32.         dula=1;
  33.         P0=table[shi];
  34.         dula=0;
  35.         P0=0xff;
  36.         wela=1;
  37.         P0=0x2f;
  38.         wela=0;
  39.         delayms(MS);

  40.         dula=1;
  41.         P0=table[ge];
  42.         dula=0;
  43.         P0=0xff;
  44.         wela=1;
  45.         P0=0x1f;
  46.         wela=0;
  47.         delayms(MS);
  48. }

  49. void main()
  50. {
  51.         uchar a,A1,A2,A3,adval;
  52.         cs=0;                                           //cs一直為0即可
  53.         while(1)
  54.         {
  55.                 wr=1;                                           //wr 先拉高后置低 等待_nop_ ();
  56.                 _nop_();
  57.                 wr=0;
  58.                 _nop_();
  59.                 wr=1;
  60.                 for(a=10;a>0;a--)
  61.                 {                                                   //等待數據
  62.                         display(A1,A2,A3);
  63.                 }
  64.                 P1=0xff;
  65.                 rd=1;
  66.                 _nop_();
  67.                 rd=0;
  68.                 _nop_();
  69.                 adval=P1;
  70.                 rd=1;
  71.                 A1=adval/100;
  72.                 A2=adval/100%10;
  73.                 A3=adval%10;

  74.         }
  75. }
復制代碼


回復

使用道具 舉報

ID:213173 發表于 2019-1-7 06:49 | 顯示全部樓層
這個顯示程序是針對用鎖存器解決共用P0傳輸段碼和位碼編寫的,但有缺陷!仿真時會出亂碼,實際電路也不可能有效消除鬼影。樓主改成如下步驟:先消隱、送位碼、送段碼,這樣就可以了。
void display(uchar bai,uchar shi,uchar ge)
{
        dula=1;
        P0=0x00;
        dula=0;
       
        wela=1;
        P0=0x37;
        wela=0;
       
        dula=1;
        P0=table[bai];
        dula=0;
        delayms(MS);
       
        dula=1;
        P0=0x00;
        dula=0;
       
        wela=1;
        P0=0x2f;
        wela=0;
       
        dula=1;
        P0=table[shi];
        dula=0;
        delayms(MS);
       
        dula=1;
        P0=0x00;
        dula=0;
       
        wela=1;
        P0=0x1f;
        wela=0;
       
        dula=1;
        P0=table[ge];
        dula=0;
        delayms(MS);
}
回復

使用道具 舉報

ID:7485 發表于 2019-1-7 07:51 | 顯示全部樓層
怎么是“軟件會亂碼”?

在刷新之前,先關閉顯示,你試一試。
回復

使用道具 舉報

ID:123289 發表于 2019-1-7 07:53 | 顯示全部樓層
只有“人”會亂。看你程序規劃的是否合理。
回復

使用道具 舉報

ID:463496 發表于 2019-1-7 10:05 | 顯示全部樓層
更新顯示的時間太短無法正常更新顯示數據
回復

使用道具 舉報

ID:149389 發表于 2019-1-7 19:04 | 顯示全部樓層
消隱一下“鬼影”應該就好了,位選切換的時候,斷碼對應的數碼管顯示全滅就好了。
回復

使用道具 舉報

ID:418425 發表于 2019-1-7 22:45 | 顯示全部樓層
wulin 發表于 2019-1-7 06:49
這個顯示程序是針對用鎖存器解決共用P0傳輸段碼和位碼編寫的,但有缺陷!仿真時會出亂碼,實際電路也不可能 ...

我改了,果然是這個原因,謝謝了
回復

使用道具 舉報

ID:892140 發表于 2022-6-8 09:49 | 顯示全部樓層
yf15966844335 發表于 2019-1-7 22:45
我改了,果然是這個原因,謝謝了

怎么改的啊,我也亂碼了
回復

使用道具 舉報

ID:1032822 發表于 2022-6-8 16:24 | 顯示全部樓層
不會吧,硬件怎么會使軟件亂碼,你先消抖,再進行段位碼的傳送,還有你要處理好,數碼管給最大的不好就是處理不好,會產生閃爍
回復

使用道具 舉報

ID:329625 發表于 2022-6-8 18:52 | 顯示全部樓層
有兩種情況會出現亂碼,第一延時太短,加大延時即可,第二是位碼和短碼的順序也會影響,第二種情況實物里面不會影響
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表