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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3001|回復(fù): 2
收起左側(cè)

求74HC595驅(qū)動4位數(shù)碼管程序

[復(fù)制鏈接]
ID:315106 發(fā)表于 2019-1-14 17:01 | 顯示全部樓層 |閱讀模式
哪位大神幫忙寫個74HC595驅(qū)動四位共陽數(shù)碼管的程序,主要是想設(shè)置倒計時。謝謝!
回復(fù)

使用道具 舉報

ID:470389 發(fā)表于 2019-2-13 17:36 | 顯示全部樓層
#include        "reg52.h" /****************************** 用戶定義宏 ***********************************/ #define MAIN_Fosc                11059200UL        //定義主時鐘 //#define                MAIN_Fosc        22118400UL        //定義時鐘 /*****************************************************************************/ /******************** 下面的宏自動生成, 用戶不可修改 **************************/ #define        Timer0_Reload        (MAIN_Fosc / 12000) /*****************************************************************************/ /*************        本地常量聲明        **************/ unsigned char code t_display[]={ //         0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F   消隱         0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};        //段碼 unsigned char code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};                //位碼 /*************        本地變量聲明        **************/ //sbit        P_HC595_SER   = P3^2;        //pin 14        SER                data input //sbit        P_HC595_RCLK  = P3^4;        //pin 12        RCLk        store (latch) clock //sbit        P_HC595_SRCLK = P3^3;        //pin 11        SRCLK        Shift data clock sbit        P_HC595_SER   = P1^5;        //pin 14        SER                data input sbit        P_HC595_RCLK  = P1^4;        //pin 12        RCLk        store (latch) clock sbit        P_HC595_SRCLK = P1^7;        //pin 11        SRCLK        Shift data clock unsigned char         LED8[8];                //顯示緩沖 unsigned char        display_index;        //顯示位索引 bit                                B_1ms;                        //1ms標志 /**********************************************/ void main(void) {         unsigned char        i,k;         unsigned int        j;                  TMOD = 0x01;        //Timer 0 config as 16bit timer, 12T         TH0  = (65536 - Timer0_Reload) / 256;         TL0  = (65536 - Timer0_Reload) % 256;         ET0 = 1;         TR0 = 1;         EA  = 1;         for(i=0; i<8; i++)        LED8[i] = 0x10;        //上電消隱         j = 0;         k = 0; //        for(i=0; i<8; i++)        LED8[i] = i;                  while(1)         {                 while(!B_1ms)        ;        //等待1ms到                 B_1ms = 0;                 if(++j >= 500)                //500ms到                 {                         j = 0;                         for(i=0; i<8; i++)        LED8[i] = k;        //刷新顯示                         if(++k > 0x10)        k = 0;                                //8個數(shù)碼管循環(huán)顯示0,1,2...,A,B..F,消隱.                 }         } }  /**********************************************/ /**********************************************/ void Send_595(unsigned char dat)        //發(fā)送一個字節(jié) {                         unsigned char        i;         for(i=0; i<8; i++)         {                 if(dat & 0x80)        P_HC595_SER = 1;                 else                        P_HC595_SER = 0;                 P_HC595_SRCLK = 1;                 P_HC595_SRCLK = 0;                 dat = dat << 1;         } } /**********************************************/ void DisplayScan(void)        //顯示掃描函數(shù) {         //        Send_595(~T_COM[display_index]);                        //共陰        輸出位碼 //        Send_595(t_display[LED8[display_index]]);        //共陰        輸出段碼         Send_595(T_COM[display_index]);                                //共陽        輸出位碼         Send_595(~t_display[LED8[display_index]]);        //共陽        輸出段碼         P_HC595_RCLK = 1;         P_HC595_RCLK = 0;                                                        //鎖存輸出數(shù)據(jù)         if(++display_index >= 8)        display_index = 0;        //8位結(jié)束回0 } /**********************************************/ void timer0 (void) interrupt 1        //Timer0 1ms中斷函數(shù) {         TH0  = (65536 - Timer0_Reload) / 256;        //重裝定時值         TL0  = (65536 - Timer0_Reload) % 256;         DisplayScan();        //1ms掃描顯示一位         B_1ms = 1;                //1ms標志 }
回復(fù)

使用道具 舉報

ID:315106 發(fā)表于 2020-4-8 09:46 | 顯示全部樓層
萬分感謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜丁香视频在线观看 | 日韩在线不卡 | 爱爱视频在线观看 | 久草网址 | 午夜黄色 | 粉嫩一区二区三区四区公司1 | 欧美在线视频一区二区 | 视频一区在线观看 | 国产精品国产亚洲精品看不卡15 | 亚洲日本三级 | 欧美日韩国产精品激情在线播放 | 韩国欧洲一级毛片 | 日本精品一区二区三区在线观看视频 | 国产一区二区久久 | 成人精品国产一区二区4080 | 国内精品视频在线观看 | 亚洲精品一区二区另类图片 | 久久久久国产一级毛片高清网站 | 日韩成人精品 | 国产精品不卡 | 成人一区二区三区在线观看 | 日韩福利在线 | 久久不卡日韩美女 | 成人国产综合 | 福利社午夜影院 | 男女啪啪高潮无遮挡免费动态 | 精品国产欧美一区二区三区成人 | 日韩在线一区二区三区 | 欧美二三区 | 欧美另类视频在线 | 日本成人免费网站 | 综合一区二区三区 | 亚洲精品国产区 | 在线成人免费观看 | 91九色视频 | 色久伊人| 国产精品18久久久 | 一级黄色片在线免费观看 | 超碰97人人人人人蜜桃 | 日本成人综合 | 欧美成人专区 |