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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1201|回復: 0
收起左側

單片機數碼管顯示程序

[復制鏈接]
ID:679653 發表于 2020-1-3 08:52 | 顯示全部樓層 |閱讀模式
#include <reg52.h>

#define uchar unsigned char        //宏定義
#define uint  unsigned int         //宏定義
#define DELAY_TIME 2                 //將常量定義為宏,方便修改代碼
sbit we = P2^7;                                //數碼管位選鎖存器接口
sbit du = P2^6;                                //數碼管段選鎖存器接口
//數碼管段選表
uchar code leddata[]={
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄滅
                0x00  //自定義
                          };
//毫秒級延時函數
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}

void main()
{
                while(1)
                {

                        P0 = 0xfe;//1111 1110 第一位數碼管顯示,注意數碼管的排序,P0.0對應連接的是左邊第一位數碼管
                        we = 1;                //打開位選
                        we = 0;                //關閉位選

                        P0 = leddata[1];
                        du = 1;                //打開段選
                        du = 0;                //關閉段選
                        delay(DELAY_TIME);//延時

                        P0 = 0xfd;        //1111 1101 只選通第二位數碼管
                        we = 1;                //打開位選
                        we = 0;                //關閉位選

                        P0 = leddata[2]; //顯示2
                        du = 1;                        //打開段選
                        du = 0;                        //關閉段選
                        delay(DELAY_TIME);//延時

                        P0 = 0xfb;        // 1111 1011只選通第三位數碼管
                        we = 1;                //打開位選
                        we = 0;                //關閉位選

                        P0 = leddata[3];        //顯示3
                        du = 1;                                //打開段選
                        du = 0;                                //關閉段選
                        delay(DELAY_TIME);        //延時

                        P0 = 0xf7;        //1111 0111 只選通第四位數碼管
                        we = 1;                //打開位選
                        we = 0;                //關閉位選

                        P0 = leddata[4]; //顯示4
                        du = 1;                        //打開段選
                        du = 0;                        //關閉段選
                        delay(DELAY_TIME);//延時

                        P0 = 0xef;        //1110 1111 只選通第五位數碼管
                        we = 1;                //打開位選
                        we = 0;                //關閉位選

                        P0 = leddata[5]; //顯示5
                        du = 1;                        //打開段選
                        du = 0;                        //關閉段選
                        delay(DELAY_TIME);//延時

                        P0 = 0xdf;                //1101 1111 只選通第六位數碼管
                        we = 1;                        //打開位選
                        we = 0;                        //關閉位選

                        P0 = leddata[6];        //顯示6
                        du = 1;                                //打開段選
                        du = 0;                                //關閉段選
                        delay(DELAY_TIME);        //延時

                        we = 1;                        //打開位選
                        P0 = 0xbf;                //1011 1111 只選通第七位數碼管
                        we = 0;                        //關閉位選

                        P0 = leddata[7];        //顯示7
                        du = 1;                                //打開段選
                        du = 0;                                //關閉段選
                        delay(DELAY_TIME);        //延時

                        P0 = 0x7f;                        //0111 1111 只選通第八位數碼管
                        we = 1;                                //打開位選
                        we = 0;                                //關閉位選

                        P0 = leddata[8];        //顯示8
                        du = 1;                                //打開段選
                        du = 0;                                //關閉段選
                        delay(DELAY_TIME);        //延時        
                }
}


數碼管原理圖

數碼管原理圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区中文 | 欧美视频一区 | 午夜久久久久久久久久一区二区 | 色视频在线播放 | 免费在线看黄 | 在线观看av网站 | 国产精品一区二区欧美 | 日韩欧美中文在线 | 色视频一区二区 | 在线观看中文字幕 | 国内精品视频在线 | 久久久久网站 | 成人亚洲网 | 久久久精品一区 | 亚洲欧美一区二区三区国产精品 | 国产高清一区二区三区 | 九九免费视频 | 激情的网站 | 麻豆精品久久久 | 91新视频 | 欧美成人一区二区 | av大全在线观看 | 欧美激情精品久久久久久变态 | 成人在线视频一区 | 欧美三级电影在线播放 | 五月天婷婷狠狠 | 欧美精品一区二区在线观看 | www.99re| 欧美日韩一区精品 | 精品在线视频播放 | 亚洲在线视频 | 99爱在线 | 一级片在线视频 | 日韩网站在线 | 成人午夜在线视频 | 福利久久| 一区二区高清不卡 | 久草福利| 亚洲精品一区二三区不卡 | 久久国产成人午夜av影院武则天 | 一区二区三区国产精品 |