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

QQ登錄

只需一步,快速開始

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

單片機(jī)數(shù)碼管顯示亂碼,求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
求大神看看這是什么原因,還是不太會(huì)用這個(gè)模塊兒


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>

  3. sbit SRCLK=P1^2;
  4. sbit RCLK=P1^1;
  5. sbit SER=P1^0;   


  6. unsigned char code Segduan[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,
  7.                             0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};

  8. unsigned char code Segwei[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

  9. void delay(unsigned int time)
  10. {
  11.   unsigned int i,j;
  12.   for(i=0;i<time;i++)
  13.     for(j=0;j<121;j++);
  14. }

  15. void Hc595SendByte(unsigned char dat)
  16. {
  17.         unsigned char a;
  18.         for(a=0;a<8;a++)
  19.         {
  20.                 SER=dat>>7;
  21.     SRCLK=1;
  22.     _nop_();
  23.     _nop_();
  24.     SRCLK=0;      
  25.     dat<<=1;
  26.         }
  27. }

  28. void main()
  29. {        
  30.         unsigned int  i;
  31.         SRCLK=0;
  32.         RCLK=0;
  33.         while(1)
  34.         {        
  35.                         for(i=0;i<8;i++)
  36.                         {                                                                                                        
  37.                                 Hc595SendByte(Segwei[i]);        
  38.                                 Hc595SendByte(Segduan[i]);        
  39.                                 RCLK=1;                                            
  40.                                 _nop_();
  41.                                 _nop_();
  42.         RCLK=0;
  43.                                 delay(100);        
  44.                         }
  45.         }
  46. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:267719 發(fā)表于 2020-3-31 23:05 | 只看該作者
你試試先發(fā)段,后發(fā)位。
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2020-4-1 06:11 | 只看該作者
這個(gè)程序本身沒有問題,有可能與數(shù)碼管模塊不配套,把發(fā)送位碼和段碼順序?qū)φ{(diào)一下試試,另外最后的延時(shí)時(shí)間太長(zhǎng),改為不大于2ms為宜。
回復(fù)

使用道具 舉報(bào)

地板
ID:481163 發(fā)表于 2020-4-1 11:01 | 只看該作者
carpcarey 發(fā)表于 2020-3-31 23:05
你試試先發(fā)段,后發(fā)位。

感謝感謝,可以了
回復(fù)

使用道具 舉報(bào)

5#
ID:481163 發(fā)表于 2020-4-1 11:01 | 只看該作者
wulin 發(fā)表于 2020-4-1 06:11
這個(gè)程序本身沒有問題,有可能與數(shù)碼管模塊不配套,把發(fā)送位碼和段碼順序?qū)φ{(diào)一下試試,另外最后的延時(shí)時(shí)間 ...

感謝大神,謝謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:720092 發(fā)表于 2020-4-1 11:44 | 只看該作者
可以消影試一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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