新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 七段數碼管顯示四位數字

        七段數碼管顯示四位數字

        作者: 時間:2016-11-17 來源:網絡 收藏
        七段數碼管顯示四位數字的C代碼:

        #include
        //#include
        unsigned char a,b,c,d;
        unsigned char code dispbitcode[]={0x10,0x20,0x40,0x80,0x00};//共陰位碼
        unsigned char code dispcode[]= { 0X3F,/*0*/
        0X06,/*1*/
        0X5B,/*2*/
        0X4F,/*3*/
        0X66,/*4*/
        0X6D,/*5*/
        0X7D,/*6*/
        0X07,/*7*/
        0X7F,/*8*/
        0X6F,/*9*/};//共陰段碼
        /*************延時子程序*******************************/
        void delay(unsigned int x)//最小1毫秒
        {
        unsigned char j;
        while(x--)
        {
        for(j=0;j<125;j++)
        {;}
        }
        }
        /***************顯示子程序**********************/
        void display(unsigned char qian,unsigned char bai,unsigned char shi,unsigned char ge)
        {
        P3=dispbitcode[0];
        P0=dispcode[qian]; //顯示千位
        delay(5);
        //P3=dispbitcode[5];
        //P2=dispcode[11];
        P3=dispbitcode[1];
        P0=dispcode[bai]; //顯示佰位
        delay(5);
        //P3=dispbitcode[5];
        //P2=dispcode[11];
        P3=dispbitcode[2];
        P0=dispcode[shi]; //顯示十位
        delay(5);
        //P3=dispbitcode[5];
        //P2=dispcode[11];
        P3=dispbitcode[3];
        P0=dispcode[ge]; //顯示個位
        delay(5);
        }
        void main(void)
        {
        while(1)
        {
        unsigned int abcd=1024; //一定要注意數據類型之前我一直用的是char(0^225)導致千位無法顯示
        a=abcd/1000;//送去顯示
        b=abcd%1000/100;
        c=abcd%1000%100/10;
        d=abcd%1000%100%10;
        display(a,b,c,d);
        }
        }

        本文引用地址:http://www.104case.com/article/201611/315523.htm

        仿真電路:



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宜城市| 永城市| 长岭县| 皮山县| 嘉祥县| 乌拉特中旗| 巴塘县| 余江县| 错那县| 建昌县| 巩义市| 台州市| 彭州市| 游戏| 鄄城县| 德惠市| 大洼县| 东平县| 江油市| 水城县| 融水| 财经| 财经| 六枝特区| 都江堰市| 平塘县| 福安市| 青川县| 娄底市| 宿州市| 喀喇| 浏阳市| 上犹县| 安新县| 蓝田县| 民县| 邻水| 承德市| 临安市| 白水县| 灵寿县|