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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

74hc595驅動共陽數碼管原理圖+源程序

[復制鏈接]
ID:140725 發表于 2016-10-20 22:43 | 顯示全部樓層 |閱讀模式
原理圖:
0.png

0.png
單片機源程序:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. typedef unsigned char u8;
  4. typedef unsigned int  u16;
  5. #define HIGH                1
  6. #define LOW                        0
  7. #define TH0_VALUE        0xDC
  8. #define TL0_VALUE        0x00
  9. #define CNT_VOICE_TIME 60

  10. //對芯片74hc164管腳定義
  11. sbit IO_74HC595_DATA = P1^7;
  12. sbit IO_74HC595_CLK = P1^6;
  13. sbit IO_74HC595_LATCH_CLK = P1^5;
  14. sbit IO_74HC595_DATA1 = P1^4;
  15. sbit IO_74HC595_CLK1 = P1^3;
  16. sbit IO_74HC595_LATCH_CLK1 = P1^2;
  17. sbit IO_BEEP = P1^4;

  18. //寫數據到74hc595
  19. u8 code LedData[]=
  20. {
  21.         0xC0,  //"0"
  22.         0xF9,  //"1"
  23.         0xA4,  //"2"
  24.         0xB0,  //"3"
  25.         0x99,  //"4"
  26.         0x92,  //"5"
  27.         0x82,  //"6"
  28.         0xF8,  //"7"
  29.         0x80,  //"8"
  30.         0x90,  //"9"
  31. };
  32. //變量定義
  33. u8 u8SystemTime;           //全部變量前面要注明類型
  34. u8 BeepTime;
  35. u8 u8Voice_Time_Cnt;
  36. u8 Count;
  37. u8 DspBuf[2]=0;           //存儲變量定義

  38. //時間變量定義
  39. u8 Second = 0;
  40. u8 Minute = 0;
  41. u8 Hour = 0;

  42. /***********************************************************
  43. 函數名稱:           void DelayUs(u8 t)
  44. 函數功能:           大致延時長度如下 t*2 + 5                           
  45. 入口參數:           t
  46. 出口參數:           無
  47. 備 注:
  48. ***********************************************************/
  49. void DelayUs(u8 t)
  50. {
  51.         while(--t);
  52. }

  53. /***********************************************************
  54. 函數名稱:           void DelayUs(u16 t)
  55. 函數功能:           大致延時長度如下 1ms                           
  56. 入口參數:           t
  57. 出口參數:           無
  58. 備 注:
  59. ***********************************************************/
  60. void DelayMs(u16 t)
  61. {
  62.         while(--t)
  63.         {
  64.                 DelayUs(245);
  65.                 DelayUs(245);
  66.         }
  67. }
  68. //發送數據到74hc595
  69. void HC595_SendByte(u8 Byte)
  70. {
  71.         u8 i;
  72.         for(i = 0; i < 8; i++)
  73.         {        
  74.                 IO_74HC595_DATA = Byte & 0x80;
  75.                 IO_74HC595_CLK = HIGH;
  76.                 IO_74HC595_CLK = LOW;
  77.                 Byte <<= 1;                                
  78.         }
  79. }
  80. //74hc595輸出數據
  81. void HC595_OutData(void)
  82. {
  83.         IO_74HC595_LATCH_CLK = LOW;
  84.         _nop_();
  85.         _nop_();
  86.         _nop_();
  87.         IO_74HC595_LATCH_CLK = HIGH;
  88.         _nop_();
  89.         _nop_();
  90.         _nop_();
  91.         IO_74HC595_LATCH_CLK = LOW;
  92.         _nop_();
  93.         _nop_();
  94.         _nop_();
  95.                
  96. }
  97. //2222發送數據到74hc595
  98. void HC595_Send2Byte(u8 Byte)
  99. {
  100.         u8 i;
  101.         for(i = 0; i < 8; i++)
  102.         {        
  103.                 IO_74HC595_DATA1 = Byte & 0x80;                 //先送高位
  104.                 IO_74HC595_CLK1 = HIGH;
  105.                 IO_74HC595_CLK1 = LOW;
  106.                 Byte <<= 1;                                
  107.         }
  108. }
  109. //2222 74hc595輸出數據
  110. void HC595_Out2Data(void)
  111. {
  112.         IO_74HC595_LATCH_CLK1 = LOW;
  113.         _nop_();
  114.         _nop_();
  115.         _nop_();
  116.         IO_74HC595_LATCH_CLK1 = HIGH;
  117.         _nop_();
  118.         _nop_();
  119.         _nop_();
  120.         IO_74HC595_LATCH_CLK1 = LOW;
  121.         _nop_();
  122.         _nop_();
  123.         _nop_();
  124.                
  125. }
  126. //刷新數碼管
  127. void HC595_Refresh(void)
  128. {
  129.         HC595_SendByte(DspBuf[0]);
  130.         HC595_OutData();
  131.         
  132.         HC595_Send2Byte(DspBuf[1]);
  133.         HC595_Out2Data();        
  134. }

  135. //定時器初始化
  136. void T0_Init(void)
  137. {
  138.         TMOD |= 0x01;
  139.         TH0 = TH0_VALUE;
  140.         TL0 = TL0_VALUE;
  141.         EA  = 1;                //打開總中斷
  142.         ET0 = 1;                //打開中斷使能
  143.         TR0 = 1;                //開啟中斷
  144. }
  145. //定時器中斷服務
  146. void Time0_ISR(void) interrupt 1
  147. {
  148.         TH0 = TH0_VALUE;
  149.         TL0 = TL0_VALUE;
  150.         u8SystemTime++;
  151.         if(u8SystemTime == 100)
  152.         {
  153.                 u8SystemTime = 0;
  154.                 Second++;
  155.                 if(Second == 10)
  156.                 {
  157.                         Second = 0;
  158.                         Minute++;
  159.                         if(Minute == 6)
  160.                         {
  161.                                 Minute = 0;
  162.                                 Second = 0;               
  163.                         }
  164.                 }
  165.         }
  166.         DspBuf[0] = LedData[Second %10];
  167.         DspBuf[1] = LedData[Minute %10];
  168. }
  169. void main(void)
  170. {
  171.         u8 i = 0;
  172.         T0_Init();
  173.         while(1)
  174.         {        
  175.                 HC595_Refresh();                                                
  176.         }
  177. }
復制代碼




74hc595驅動.zip

39.29 KB, 下載次數: 65, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:62340 發表于 2016-11-22 16:05 來自觸屏版 | 顯示全部樓層
太好了 學習學習
回復

使用道具 舉報

ID:80618 發表于 2018-12-15 21:32 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日本视频 | 亚洲香蕉在线视频 | 久草新在线 | 成人高清在线视频 | 国产日韩欧美综合 | 欧美视频成人 | 亚洲成av人片在线观看无码 | 午夜av毛片| 神马久久久久久久久久 | 久久久久91 | 中国黄色毛片视频 | 亚洲伊人精品酒店 | 国产日韩久久 | 黄色毛片免费视频 | 亚洲精品乱码久久久久久蜜桃 | 色婷婷狠狠| 日韩av成人 | 欧美一区在线视频 | 中文字幕高清在线 | 天天色天天射天天干 | 亚洲日日夜夜 | 一级黄色录像毛片 | 狠狠色综合久久丁香婷婷 | 久久中文字幕一区 | 亚洲成网| 久久精品亚洲国产奇米99 | 超碰一区二区 | 91看片免费 | 久久亚洲综合 | 伊人色综合久久久天天蜜桃 | 久久久久久久久久一区 | 免费成人在线网站 | 在线亚洲一区二区 | 女同久久另类99精品国产 | 国产毛片毛片 | 国产精品成人在线 | 精品国产乱码久久久久久丨区2区 | 中文字幕一区在线观看视频 | 国产 日韩 欧美 中文 在线播放 | 欧美视频xxx | 久久久久久久久久久国产 |