<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        四位數碼管的加減計數器

        作者:西西   來源:本站原創   點擊數:  更新時間:2014年04月05日   【字體:

        /*四位數碼管的加減計數器程序,陳永飛同志寫,采用AT89C2051單片機,4位共陽數碼管顯示*/
        #include<reg51.h>
        #define leddata P1 //數碼管的段碼輸出
        #define uchar unsigned char
        #define uint unsigned int
        uint shu;
        sbit jia=P3^0; //加一按鍵
        sbit jian=P3^1; //減一按鍵
        sbit qw=P3^2; //數碼管的千位
        sbit bw=P3^3; //數碼管的百位
        sbit sw=P3^4; //數碼管的十位
        sbit gw=P3^5; //數碼管的個位
        uchar code tab[]={ 0xC0,/*0*/
        0xF9,/*1*/
        0xA4,/*2*/
        0xB0,/*3*/
        0x99,/*4*/
        0x92,/*5*/
        0x82,/*6*/
        0xF8,/*7*/
        0x80,/*8*/
        0x90,/*9*/
        };

        void desplay();
        void delay(uchar a) //延時函數
        {
        uchar x,y;
        for(x=0;x<a;x++)
        for(y=0;y<200;y++);
        }
        void key() //按鍵掃描函數
        {
        if(jia==0)
        {
        delay(50);
        if(jia==0)
        {
        while(!jia)desplay();
        if(shu==9999)shu=0;
        else shu++;
        }
        }
        if(jian==0)
        {
        delay(50);
        if(jian==0)
        {
        while(!jian)desplay();
        if(shu==0)shu=9999;
        else shu--;
        }
        }
        }
        void desplay() //顯示函數
        {
        leddata=tab[shu/1000]; qw=0;delay(200);qw=1;
        leddata=tab[shu%1000/100];bw=0;delay(200);bw=1;
        leddata=tab[shu%100/10];sw=0;delay(200);sw=1;
        leddata=tab[shu%10];gw=0;delay(200);gw=1;
        }
        void main() //主函數
        {
        while(1)
        {
        key();
        desplay();
        }
        }

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮