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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5316|回復: 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. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
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 | 只看該作者
只有“人”會亂?茨愠绦蛞巹澋氖欠窈侠怼
回復

使用道具 舉報

5#
ID:463496 發表于 2019-1-7 10:05 | 只看該作者
更新顯示的時間太短無法正常更新顯示數據
回復

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

8#
ID:892140 發表于 2022-6-8 09:49 | 只看該作者
yf15966844335 發表于 2019-1-7 22:45
我改了,果然是這個原因,謝謝了

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

使用道具 舉報

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

使用道具 舉報

10#
ID:329625 發表于 2022-6-8 18:52 | 只看該作者
有兩種情況會出現亂碼,第一延時太短,加大延時即可,第二是位碼和短碼的順序也會影響,第二種情況實物里面不會影響
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频在线一区二区 | 欧美一区二区三区在线播放 | 青青草网| 午夜免费看视频 | 先锋资源亚洲 | 国产精品麻 | 女人一区| 欧美成人激情视频 | 天天色图 | 91久久综合亚洲鲁鲁五月天 | 狠狠操av | 精品一区国产 | 伊人一二三 | 国产欧美一区二区三区在线看 | 欧美在线激情 | 精品欧美一区免费观看α√ | 国产高清在线精品一区二区三区 | 国产成人福利在线观看 | 婷婷91 | 国产精品一二三区 | 九色.com | 国产福利观看 | 国产精品第2页 | 久艹网站 | 久久久久久久97 | 在线不卡一区 | 国产成人免费在线 | 久久精品国产v日韩v亚洲 | 亚洲精品一区二区三区蜜桃久 | 日本在线网站 | 欧美片网站免费 | 亚洲精品乱码久久久久久按摩 | 福利网址 | 欧美性受| 欧美精品福利 | 国产免费一区二区 | 亚洲精品视频在线观看视频 | 九九久久国产精品 | 免费在线看a | 精品视频一区二区 | 久色视频在线观看 |