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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5190|回復: 2
收起左側

單片機三片74HC595級聯驅動數碼管顯示亂碼

[復制鏈接]
ID:441232 發表于 2019-1-16 23:03 | 顯示全部樓層 |閱讀模式
三個595 一個用于段,其他兩個用在位選。 單獨顯示8位數碼管都行,但是只要兩個段碼數據都輸入進去,就變成亂碼了。如圖
QQ圖片20190115212414.png
  1. wei_duan[3];定義三個595的變量
  2. xierushuju[16];
  3. void main()
  4. {
  5.      TMOD=0X01;
  6.      TH0=(65535-1000)/256;
  7.          TL0=(65535-1000)%256;
  8.          TR0=1;
  9.          
  10.   while(1)
  11.   {
  12.                   
  13.          xierushuju[0]= xierushuju[1]1;
  14.                 =1;
  15.                  xierushuju[2]=2;
  16.                  xierushuju[3]=3;
  17.                  xierushuju[4]=4;
  18.                  xierushuju[5]=5;
  19.                  xierushuju[6]=6;
  20.                  xierushuju[7]=6;


  21.                  xierushuju[8]=0;
  22.                  xierushuju[9]=1;
  23.                  xierushuju[10]=2;
  24.                  xierushuju[11]=3;
  25.                  xierushuju[12]=4;
  26.                  xierushuju[13]=5;
  27.                  xierushuju[14]=6;
  28.                  xierushuju[15]=7;
  29.                
  30.            for(i=0;i<3;i++)
  31.            {
  32.              if(i==1)                //選擇低位
  33.                   {
  34.                     for(x=0;x<8;x++)
  35.                         {
  36.                     wei_duan[ i]=wei[x];//低位掃描[ i]
  37.                 //        wei_duan[0]=shuzu[xierushuju[x]];//段位寫入數據
  38.                           HC595_QUDONG();   
  39.                           shuchu();
  40.                         }
  41.                   }
  42.                   if(i==2)                //選擇高位
  43.                   {
  44.                     for(x=8;x<16;x++)
  45.                         {
  46.                     wei_duan[ i]=wei[x];//高位掃描[ i]
  47.                         wei_duan[0]=shuzu[xierushuju[x]];//段位寫入數據
  48.                           HC595_QUDONG();   
  49.                           shuchu();
  50.                         }
  51.            }
  52.          


  53.             
  54.          
  55.   }
  56. }
  57. }



  58. void HC595_QUDONG()         
  59. {
  60.     static unsigned char i=0;


  61.         for(i=0;i<8;i++)                        //
  62.         {
  63.           shizhong=0;                                 
  64.           shuju=wei_duan[2]&0x80;         
  65.           wei_duan[2]<<=1;                          
  66.           shizhong=1;                                 
  67.         }
  68.         for(i=0;i<8;i++)               
  69.         {
  70.           shizhong=0;
  71.           shuju=wei_duan[1]&0x80;
  72.           wei_duan[1]<<=1;
  73.           shizhong=1;                                
  74.         }                                                        
  75.                 for(i=0;i<8;i++)         
  76.         {
  77.           shizhong=0;
  78.           shuju=wei_duan[0]&0x80;
  79.           wei_duan[0]<<=1;
  80.           shizhong=1;                        
  81.         }
  82. //        suocun=1;                                 
  83. //        shuju=0;
  84. //        suocun=0;
  85. }


  86. void shuchu()
  87. {
  88.         suocun=1;                                  //當數據塞滿一個字節后,鎖存就像門,打開放出一次八只二哈,向你奔去
  89.         shuju=1;
  90.         suocun=0;
  91. }
復制代碼



回復

使用道具 舉報

ID:138119 發表于 2019-1-27 11:31 | 顯示全部樓層
//本人實際用過的 15 級聯 595驅動代碼 部分現在已經改成 3級 絕對好用

sbit LCD_CS  = P5^4;                                //74HC595 片選
sbit LCD_DAT = P5^5;                        //74HC595 數據
sbit LCD_CLK = P3^3;                        //74HC595 時鐘
sbit LCD_OE  = P1^4;                        //74HC595輸出使能

unsigned char LED_code[3];        //顯示緩沖

/*----------------------------
LED驅動---74HC595 3個級聯
-----------------------------*/
void LCD_send_data(void)                        //LED驅動
{
        unsigned char tmp = 0 , i = 0, dat = 0;
                LCD_CS = 0;                                        //關輸出
                delay_us(2);                                //延時
                for( tmp = 0; tmp <= 2; tmp ++)
                {
                        dat = LCD_code[tmp];//======待顯示數據
                        for(i = 0; i <= 7; i ++)
                        {
                                LCD_CLK = 0;
                                delay_us(2);                //延時
                                if( (dat & 0x80) == 0x80)
                                        LCD_DAT = 1;
                                else
                                        LCD_DAT = 0;
                                dat <<= 1;
                                delay_us(2);                //延時
                                LCD_CLK = 1;
                                delay_us(2);                //延時
                        }
                }
                LCD_CS = 1;                                        //開輸出
}
//

回復

使用道具 舉報

ID:469417 發表于 2019-1-31 19:27 | 顯示全部樓層
yfpc2006 發表于 2019-1-27 11:31
//本人實際用過的 15 級聯 595驅動代碼 部分現在已經改成 3級 絕對好用

sbit LCD_CS  = P5^4;                                //74HC ...

強人!值得學習咯

評分

參與人數 4黑幣 +88 收起 理由
shuisheng60 + 10
找人PK + 8 很給力!
shuisheng + 35 很給力!
jinsheng7533967 + 35 贊一個!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频一区二区在线观看 | 国产精品久久久久久婷婷天堂 | 97精品超碰一区二区三区 | 一区二区三区亚洲 | 精品久久久久久久久久 | 欧美激情综合五月色丁香小说 | 亚洲成人精品久久 | 国产精品久久久久久久久久免费看 | 先锋资源亚洲 | 日本久草| 精品成人av | 欧美激情在线一区二区三区 | 久久久久国产一级毛片高清网站 | 暖暖日本在线视频 | 久久久久国产 | 成人精品一区二区三区 | 亚洲国产精品一区二区第一页 | 国产亚洲网站 | 91资源在线观看 | 91久色| 欧美性受xxxx白人性爽 | 欧美啪啪网站 | 国产成人精品久久二区二区91 | 91国内在线观看 | 精精国产xxxx视频在线 | 国产乱码精品一区二区三区中文 | 久久久久国产精品一区二区 | 日韩欧美国产精品 | 一区二区成人 | 亚洲国产成人av好男人在线观看 | 麻豆视频国产在线观看 | 国产在视频一区二区三区吞精 | 国产精品久久久久一区二区三区 | 国产激情一区二区三区 | 伊人久久综合 | 国产精品美女久久久久久久网站 | 欧洲精品码一区二区三区免费看 | 97国产成人 | 久久久不卡网国产精品一区 | 在线国产一区 | 成人网在线观看 |