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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2527|回復: 3
收起左側

我的單片機流水燈程序不知道為什么無法很好的顯示?

[復制鏈接]
ID:972866 發表于 2021-10-17 23:24 | 顯示全部樓層 |閱讀模式
本帖最后由 sophist 于 2021-10-18 09:05 編輯

剛學51,按郭天祥的那本紅書和那個配套的單片機做的,芯片是89C52RC
具體就是我剛學流水燈,然后自己寫了一個程序,我想讓一共六個數碼管輪流顯示0——9,a——f的功能,就是第一個顯示1,第二個顯示2,這樣輪流下去,第六個管子顯5,第一個顯6,這樣輪下去。

接下來是一些問題
① 不太明白為什么前面4個數碼管總是一起變化,后兩個數碼管卻可以單獨變化,

②有時候數碼管會顯示錯誤,這里本應該顯示8的,包括后面字符的顯示也有很多有問題。有時候能顯示0,有時候又不能了

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. sbit dula=P2^6;  //送段選數據的那個鎖存端,對應U1鎖存器(后面有圖)
  4. sbit wela=P2^7;   //送位選數據的鎖存端,對應U2鎖存器
  5. unsigned char code table[]={0X3F,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f,0X77,0X7c,0X39,0X5e,0X79,0X71};                                          unsigned char aa;            //  ↑這個是數碼管的字母表,分別實現0—9,a--f的字符顯示,下面的變量j與之對應。
  6. void delayms(unsigned int xms);    //實現延遲

  7. void main()
  8. {
  9.         unsigned int i=0,j=0;
  10. while(1)
  11. {
  12.          aa=0XFE;            //每次for語句前重啟aa地址
  13.          for(i=0;i<6;i++)
  14.          {
  15.                  dula=1;                 
  16.                  P0=table[j++];  
  17.                 dula=0;
  18.                  P0=0Xff;

  19.                  wela=1;
  20.                  P0=aa;     //共陰極接法,0的時候對應的數碼管亮
  21.                  wela=0;
  22.                  aa=_crol_(aa,1);                 
  23.                  delayms(1000);
  24.          }
  25. if(j>15)
  26.          j=0;         //防j越界
  27. }
  28. }
  29. void delayms(unsigned int xms)
  30. {unsigned int p,q;
  31.         for(p=xms;p>0;p--)
  32.         for(q=110;q>0;q--);
  33. }
復制代碼


前四個管子一起顯示數字

前四個管子一起顯示數字

后兩個管子可以單獨顯示數字

后兩個管子可以單獨顯示數字

本該是8的

本該是8的

書上的電路

書上的電路
回復

使用道具 舉報

ID:956872 發表于 2021-10-18 07:39 來自觸屏版 | 顯示全部樓層
給你推薦bilibili 金善愚老師的視頻,我是跟他視頻自學的。 先點亮一個,一個的程序理順了,多個也跟一個一樣
回復

使用道具 舉報

ID:332444 發表于 2021-10-18 08:28 | 顯示全部樓層
本帖最后由 xianfajushi 于 2021-10-18 16:43 編輯

如果按每6個顯示的話,數組個數是希望分3次顯示還是分2次顯示?分3次顯示顯然數組個數不足,不足的部分就要另外處理,第一次顯示后切換下一次顯示應該按6步進才對. 錄像68_轉.gif
回復

使用道具 舉報

ID:213173 發表于 2021-10-18 08:50 | 顯示全部樓層
天祥板子只有6位數碼管,樓主初學單片機寫這個程序有點難度。給你稍改一下基本可以滿足設計目標。
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. sbit dula=P2^6;  //送段選數據的那個鎖存端,對應U1鎖存器(后面有圖)
  4. sbit wela=P2^7;   //送位選數據的鎖存端,對應U2鎖存器
  5. unsigned char code table[]={//數碼管字庫
  6. //         0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
  7.         0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
  8. //   H    J          K         L           N          o    P            U
  9.    0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E};
  10. unsigned char aa;//  ↑這個是數碼管的字母表,分別實現0—9,a--f的字符顯示,雖然我實在不明白a 怎么顯示。。。
  11. void delayms(unsigned int xms);    //實現延遲

  12. void main()
  13. {
  14.         unsigned int i=0,j=0;
  15.         while(1)
  16.         {
  17. //                aa=0XFE;            //每次for語句前重啟aa地址
  18. //                for(i=0;i<16;i++)
  19. //                {
  20.                         dula=1;                 
  21.                         P0=table[i];  
  22.                         dula=0;
  23. //                        P0=0Xff;
  24.        
  25.                         aa=~(0x01<<i%6);
  26.                         wela=1;
  27.                         P0=aa;     //共陰極接法,0的時候對應的數碼管亮
  28.                         wela=0;
  29.                         delayms(1000);
  30.                         i=++i%24;
  31. //                        aa=_crol_(aa,1);                 

  32. //                }
  33. //                if(j>15)
  34. //                        j=0;         //防j越界
  35.         }
  36. }
  37. void delayms(unsigned int xms)
  38. {
  39.         unsigned int p,q;
  40.         for(p=xms;p>0;p--)
  41.                 for(q=110;q>0;q--);
  42. }
復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一级黄色大片 | 免费国产黄色 | 欧美在线亚洲 | 精品久久久久久一区二区里番 | 一区二区av | 日韩欧美国产高清91 | 久久精品视频免费 | 日韩国产在线 | www免费视频 | 99热国产 | 国产精品视频免费看 | 在线观看的av | 亚洲小视频 | 久久久午夜精品 | 香蕉视频在线观看网站 | 久久久青草 | 亚洲成人黄色 | 黄色片在线 | 国产一区二区在线看 | 免费观看全黄做爰的视频 | 欧美日韩国产在线播放 | 黄色在线小视频 | 91成人精品一区在线播放 | 久热精品在线观看 | 成人免费毛片嘿嘿连载视频 | 日韩天天操 | 精品国产91乱码一区二区三区 | 少妇高潮久久久久久潘金莲 | 精品国产一区二 | av在线免费观看网站 | 国产成人一区二区 | 日本一区二区不卡视频 | 国产高潮在线观看 | 久久久久久久国产精品 | 国产精品二区在线观看 | 成人小网站 | 欧美精品在线播放 | 亚洲人在线观看 | 亚洲第一视频网站 | 欧美一级淫片免费视频黄 | 在线视频h |