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

標題: 單片機+74hc595芯片控制數碼管顯示ccx [打印本頁]

作者: 小方愛學習    時間: 2019-5-2 09:33
標題: 單片機+74hc595芯片控制數碼管顯示ccx
//根據實驗現象,對每行程序的功能進行注釋!
#include        <reg52.h>  

sbit        P27  = P2^7;//        SER 串行數據輸入引腳
sbit        P25  = P2^5;//  RCLK  儲存寄存器時鐘        
sbit        P26 = P2^6;        // SRCLK 輸入數據移位時鐘

void Send_595(unsigned char dat);//74hc595發送數據函數聲明
void BufToSeg();//數碼管顯示函數聲明
void NumToNuf();//數據轉換函數聲明
void Delay(unsigned int n);// 延時函數聲明

unsigned char code Segcode[]=
{0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};        //共陰極數碼管段碼0~9

unsigned char code Bitcode[]=
{0x01,0x02};//第一和第二個共陽極數碼管位選碼        

unsigned char  DisBuf[2];
unsigned char Count;

/*************主程序*********************************/
void main()
{
        unsigned char m; //定義一個無符號字符型變量m
        while(1)   //大循環
        {
                if(++m==220)  
                {
                        m=0;
                        if(++Count==60)
                                Count=0;
                }                        //延時 1s
                NumToNuf(); //取余取整函數
                BufToSeg(); //顯示函數
        }
}
/*****************************************************/
/***************595發送字節程序***********************/
void Send_595(unsigned char dat)        
{               
        unsigned char        i;
        for(i=0; i<8; i++)  //循環是為了將8位數據送入595中
        {
                if(dat & 0x80)        //判斷最高位數據 是否為“1”
                        P27 = 1;        //若為“1”,就把1通過 P26發送給74hc595
                else                        
                        P27 = 0;        //若為“0”,就把0通過 P26發送給74hc595
                P26 = 0;
                P26 = 1;  //P26出現上升沿,單片機通過 P26向74hc595發送數據
                dat = dat << 1; //左移一位
        }
}

/*****************毫秒級延時子程序*****************************/
void Delay(unsigned int n)
{
        unsigned char i;//定義一個無符號字符型變量i
        while(n--)
        {
                for(i=0;i<123;i++);
        }
}
/**************兩位數取整取余子程序***************************/
void NumToNuf()
{
        DisBuf[0]=Count/10; //取整
        DisBuf[1]=Count%10;        //取余
}
/**************數碼管顯示子程序***************************/
void BufToSeg()
{
        unsigned char k;
        for(k=0;k<2;k++)
        {
                Send_595(~Bitcode[k]);//發送位選信號,取反后為共陰極數碼管,位選第一二個數碼管               
                Send_595(Segcode[DisBuf[k]]);//發送段選信號        ,在前兩個數碼管上顯示DisBuf[]的值
                P25 = 0;
                P25 = 1;          // P25出現上升沿,                                                
                Delay(1);        //延時1s        
        }
}

send595.rar

1.12 KB, 下載次數: 12, 下載積分: 黑幣 -5


作者: admin    時間: 2019-5-2 17:21
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 51ⅴ精品国产91久久久久久 | 国产美女自拍视频 | 北条麻妃一区二区三区在线观看 | www.99热这里只有精品 | 欧美精品一区二区三区在线播放 | 国产精品自产拍 | 国产精品www | 久久99精品久久久久久琪琪 | 亚洲一区二区精品视频 | 国产成人免费在线 | www.色午夜.com| 久久久久久久一区二区 | 国产精品毛片一区二区在线看 | 久久y| 欧美 日韩 亚洲91麻豆精品 | 国产精品视频免费看 | 亚洲一二三区精品 | 亚洲欧美精品国产一级在线 | 中文区中文字幕免费看 | 成人性生交a做片 | 久久33| 免费激情av | 欧美一级二级视频 | 日韩欧美三区 | 日韩欧美三级电影 | 日韩成人免费在线视频 | 免费欧美 | 国产亚洲一区在线 | a级黄色片在线观看 | 最新国产精品 | 亚洲二区在线观看 | 日本色综合 | 中文字幕一区二区三区四区五区 | www.免费看片.com| 日韩久久久久久 | 国产精品久久九九 | 国产午夜久久久 | 蜜桃一区二区三区在线 | 日韩精品av一区二区三区 | 欧美韩一区二区三区 | 爽爽免费视频 |