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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

學(xué)習(xí)一個(gè)單片機(jī)新知識點(diǎn),74HC595驅(qū)動(dòng)四位共陰數(shù)碼管

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224580 發(fā)表于 2023-8-17 15:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近學(xué)習(xí)輝芒微單片機(jī),自己弄了一個(gè)驅(qū)動(dòng)74HC595 四位共陰數(shù)碼管,還在不斷學(xué)習(xí)新知識。


  1. #include        "SYSCFG.h";
  2. #include         "FT62F21X.h";

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar LedChar[]={
  6.         0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
  7.         0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
  8.         };   //共陰數(shù)碼管0-F真值表


  9. #define        Key1           PA2    //按鍵輸入
  10. #define        smg_wei1   PA0    //數(shù)碼管位選1
  11. #define        smg_wei2   PA1    //數(shù)碼管位選2
  12. #define SER        PA3    //串行數(shù)據(jù)輸入
  13. #define RCLK       PA4    //存儲寄存器時(shí)鐘
  14. #define SRCLK      PA5    //串行輸入時(shí)鐘

  15. uchar mode=0;
  16. //bit flags =0;
  17. uchar kk;

  18. void Hc595SendByte(uchar dat);
  19. //uint i;
  20. /*-------------------------------------------------
  21. * 函數(shù)名:DelayUs
  22. * 功能:  短延時(shí)函數(shù) --16M-4T--大概快1%左右.
  23. * 輸入:  Time延時(shí)時(shí)間長度 延時(shí)時(shí)長Time*2Us
  24. * 輸出:  無
  25. -------------------------------------------------*/
  26. void DelayUs(unsigned char Time)
  27. {
  28.         unsigned char a;
  29.         for(a=0;a<Time;a++)
  30.         {
  31.                 NOP();
  32.         }
  33. }
  34. /*-------------------------------------------------
  35. * 函數(shù)名:DelayMs
  36. * 功能:  短延時(shí)函數(shù) 快1%
  37. * 輸入: Time延時(shí)時(shí)間長度 延時(shí)時(shí)長Time ms
  38. * 輸出: 無
  39. -------------------------------------------------*/
  40. void DelayMs(unsigned char Time)
  41. {
  42.         unsigned char a,b;
  43.         for(a=0;a<Time;a++)
  44.         {
  45.                 for(b=0;b<5;b++)
  46.                 {
  47.                          DelayUs(98);
  48.                 }
  49.         }
  50. }
  51. /*-------------------------------------------------
  52. * 函數(shù)名:DelayS
  53. * 功能:  短延時(shí)函數(shù)
  54. * 輸入:  Time 延時(shí)時(shí)間長度 延時(shí)時(shí)長Time S
  55. * 輸出:  無
  56. -------------------------------------------------*/
  57. void DelayS(unsigned char Time)
  58. {
  59.         unsigned char a,b;
  60.         for(a=0;a<Time;a++)
  61.         {
  62.                 for(b=0;b<10;b++)
  63.                 {
  64.                          DelayMs(100);
  65.                 }
  66.         }
  67. }

  68. /*******************************************************************************
  69. * 函數(shù)名         : Hc595SendByte(u8 dat)
  70. * 函數(shù)功能                   : 向74HC595發(fā)送一個(gè)字節(jié)的數(shù)據(jù)
  71. * 輸入           : 無
  72. * 輸出                  : 無
  73. *******************************************************************************/
  74. void Hc595SendByte(uchar dat)
  75. {
  76.         char a;
  77.         SRCLK=0;    //串行輸入時(shí)鐘
  78.         RCLK =0;    //存儲寄存器時(shí)鐘

  79.         for(a=0;a<8;a++)
  80.         {
  81.                 SER=dat>>7;
  82.                 dat<<=1;

  83.                 SRCLK=1;
  84.                 NOP();
  85.                 NOP();
  86.                 SRCLK=0;        
  87.         }

  88.         RCLK=1;
  89.         NOP();
  90.         NOP();
  91.         RCLK=0;
  92. }


  93. void POWER_INITIAL (void)
  94. {
  95.         OSCCON = 0B01110000;        //IRCF=111=16MHz/4T=4MHz,0.25us
  96.         INTCON = 0;                          //暫禁止所有中斷

  97.         OPTION = 0;              // /PAPU  INTEDG T0CS T0SE PSA PS2 PS1 PS0
  98.     //PSRCA = 0;                                //00:4mA        01/10:8mA        11:28mA        bit[3:2]控制PA5源電流        bit[1:0]控制PA4源電流
  99.     //PSINKA = 0;                                //bit[1:0]        控制PA5和PA4 0:灌電流最小 1:灌電流最大
  100.     TRISA = 0B00000100;         //1:輸入 0:輸出 PA2為輸入模式
  101.     PORTA = 0B00000100;         //1:PAx輸出高電平        0:PAx輸出低電平        PA2輸出低電平 ,PA3輸出高電平
  102.     WPUA =  0B00000100;         //1:使能PA口上拉        0:關(guān)閉PA口上拉  PA3 上拉

  103. }

  104. /*-------------------------------------------------
  105. * 函數(shù)名:main
  106. * 功能:  主函數(shù)
  107. * 輸入:  無
  108. * 輸出:  無
  109. --------------------------------------------------*/
  110. void main()
  111. {  
  112.      uchar i=0;
  113.          POWER_INITIAL();                //系統(tǒng)初始化
  114.      Hc595SendByte(LedChar[0]);                       
  115.         while(1)
  116.         {     

  117.         if(Key1==0)
  118.         {
  119.             DelayMs(10);
  120.             if(Key1==0)
  121.             {   
  122.                DelayMs(10);               
  123.                Hc595SendByte(LedChar[i]);
  124.                i++;              
  125.                if(i>=15)
  126.                {
  127.                   i=0;               
  128.                }                        
  129.             }
  130.             while(!Key1);               
  131.         }                     
  132.         }      
  133. }
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1064915 發(fā)表于 2023-8-25 10:56 | 只看該作者
輝芒微單片機(jī),不常用,有原理圖最好
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久 | 九九导航 | 99久久久国产精品 | 精品自拍视频 | 免费观看一级毛片 | 羞羞在线观看视频 | 欧美成人自拍视频 | 亚洲乱码一区二区三区在线观看 | 成年免费大片黄在线观看岛国 | 播放一级毛片 | 亚洲精品二区 | 国产激情自拍视频 | 久久精品色视频 | 日韩中文字幕在线免费 | 免费日韩网站 | 欧美成人影院在线 | 涩涩导航 | 久久精品二区 | 一本久久a久久精品亚洲 | 天天干免费视频 | 国产精久久久久久久 | 日韩免费av网站 | www国产亚洲精品久久网站 | 久久精品视频网站 | 亚洲高清av在线 | 国产精品久久久久久久久久久久久 | 久久综合久久久 | 欧美国产日韩在线观看 | 一级片av | 久久久综合网 | 夜夜骑首页 | 国产精品永久免费视频 | 青青草国产在线观看 | 91久操视频 | 国产小视频在线看 | 成人激情视频网 | 亚洲中午字幕 | 九色视频网站 | 精品视频免费 | 911影院| 免费一区|