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

標題: 74HC273拓展單片機IO口40個LED燈顯示Proteus仿真程序 [打印本頁]

作者: 634967256    時間: 2019-12-16 12:59
標題: 74HC273拓展單片機IO口40個LED燈顯示Proteus仿真程序
利用51單片機設計多于40個LED的流水燈,其中LED靜態顯示。
本設計是以51系單片機STC89C52作為控制中心的40個LED流水燈顯示,硬件方面利用鎖存器74HC273、40個LED流水燈等組件,實現帶有點陣圖片的LED流水燈顯示,通過定時器控制LED燈的刷新頻率。利用數電知識進行LED顯示擴展I/O。軟件程序使用Keil進行編程,STC—ISP進行寫入。程序中使用定時器0進行中斷,并在中斷內完成點陣動態刷新,實現40LED的靜態顯示的目的。此單片機LED流水燈有著價格適中、電路設計簡單的特點。

74HC273帶鎖存功能,這樣D輸入的信號可以鎖住保持在輸出端,保持LED的驅動是固定的電平狀態。脈沖輸出信號也可以驅動LED,只是亮度與脈沖的脈寬有關。一般74HC273 的輸入端接在數據總線上,74HC273可以起到隔離的作用。動LED一般需要5-7mA的電流,負載比較大,如果接到其他門電路的輸出上,會影響這個輸出驅動其他門電路輸入的能力。

在主程序中,先使能全局中斷,然后使能74HC27來然后使能74HC273來控制LED點陣。配置定時器0工作在模式1并設置定時初值,清零TF位,使能定時器0并啟動定時器0。在while(1)循環中更新鎖存器數據,進入中斷后定時250ms。主程序流程圖如圖5所示:  



中斷子程序中,定時器T 0中斷250次,即定時250ms,flagls 賦值為1。定時器中斷流程圖如圖6所示:


單片機源程序如下:
  1. #include<reg52.h>

  2. unsigned char code ledchar[]={                //字模表
  3. 0x00,0x00,0x00,0x00, 0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF, 0x00,0x00,0x00,0x00, 0x00,0x00       


  4. };
  5. unsigned char flagls =0;   //250ms定時標志         
  6. unsigned char j=1;                  //判斷i是否變化
  7. unsigned char cnt =0;          //記錄T0中斷次數
  8. unsigned char i=0;                  //數組刷新索引

  9. void main()
  10. {
  11.    
  12.    EA = 1; //使能總中斷
  13.    TMOD = 0X01;        //T0  為模式1
  14.    TH0 = 0XFC;//為T0賦初值0xfc67,定時1 ms
  15.    TL0 = 0X67;
  16.    ET0 = 1;//使能T0中斷
  17.    TR0 = 1;        //啟動T0

  18.    while(1)
  19.    {
  20.       if(flagls == 1)         //判斷250ms定時標志
  21.       {         
  22.               flagls = 0;         //250ms定時標志清零
  23.                   i++;                         //圖片索引自加1
  24.           }
  25.           if(i>17) i=0;         //圖片索引達到17后歸零
  26.          
  27.            if(i !=j)        //判斷i是否變化
  28.            {
  29.             j=i;            //更新備份為當前值,以備進行下次比較
  30.             P0 = 0X00;P1 = 0X00;P1 = 0X01;                //消隱處理
  31.                 P0 = ledchar[i];P1 = 0X00;P1 = 0X01;        //計數值顯示到LED上
  32.                   P0 = 0X00;P1 = 0X00;P1 = 0X02;
  33.                 P0 = ledchar[i+1];P1 = 0X00;P1 = 0X02;
  34.                  P0 = 0X00;P1 = 0X00;P1 = 0X04;
  35.                 P0 = ledchar[i+2];P1 = 0X00;P1 = 0X04;
  36.                   P0 = 0X00;P1 = 0X00;P1 = 0X08;
  37.                 P0 = ledchar[i+3];P1 = 0X00;P1 = 0X08;
  38.                   P0 = 0X00;P1 = 0X00;P1 = 0X10;
  39.                 P0 = ledchar[i+4];P1 = 0X00;P1 = 0X10;
  40.                   }
  41.    }
  42.    
  43. }

  44. //定時器0的中斷服務函數
  45. void interrupttimer0() interrupt 1
  46. {
  47.    TH0 = 0XFC;                   // 重新加載初值
  48.    TL0 = 0X67;
  49.    cnt++;                          // 中斷次數計數值加1
  50.    if(cnt>=250)                 //        中斷250次即250ms
  51.    {
  52.       cnt = 0;                 //        清零計數值以重新開始下一250ms計時
  53.           flagls = 1;         //        設置250ms定時標志為1
  54.    }
  55.      
  56. }
復制代碼

所有資料51hei提供下載:
拓展IO口40個LED顯示.zip (1.5 MB, 下載次數: 56)


作者: 11111111111s    時間: 2020-4-8 14:42
如何可以控制更多的led的燈呢
作者: Mty1111    時間: 2020-10-26 17:14
麻煩問一下那個74HC273的CLK引腳接C51的哪個引腳?那個還有麻煩問一下你這個上面的代碼是全部代碼嗎?
作者: 51hei團團    時間: 2020-10-26 17:21
Mty1111 發表于 2020-10-26 17:14
麻煩問一下那個74HC273的CLK引腳接C51的哪個引腳?那個還有麻煩問一下你這個上面的代碼是全部代碼嗎?

從我從上面下載的原理圖來看是接的p1口




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 黄色免费网站在线看 | 午夜精品久久久久久久久久久久久 | 日朝毛片| 日本精品一区二区三区视频 | 精品欧美一区免费观看α√ | 91亚洲国产成人久久精品网站 | 日本精品一区二区 | 亚洲精品一区二区三区蜜桃久 | 色毛片 | 日韩精品成人 | 欧美日韩精品亚洲 | www成人啪啪18 | 国产大片黄色 | 成人国产在线视频 | 欧美日韩中文在线 | 国产一级片一区二区 | 国产精品2区 | 蜜桃av鲁一鲁一鲁一鲁 | 自拍偷拍第1页 | 欧美综合自拍 | 大象视频一区二区 | 日韩在线一区二区三区 | 在线观看国产精品视频 | 国产精品免费视频一区 | 成人亚洲视频 | avav在线看 | 性大毛片视频 | 日本一道本视频 | 日韩精品一区二区三区老鸭窝 | 精品视频网 | 国产精品日韩欧美一区二区三区 | 久草视频2 | 中文字幕三区 | 黄色综合 | 欧美自拍视频 | 欧美亚洲另类丝袜综合网动图 | 亚洲国产成人精 | 最新av在线播放 | 久草视频在线播放 | 中文字幕 国产精品 | 日韩精品极品视频在线观看免费 |