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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 26215|回復: 19
收起左側

大一新人 怎么樣編寫程序在51單片機上的數碼管顯示不同的數字呢?

  [復制鏈接]
ID:86845 發表于 2015-7-25 21:36 | 顯示全部樓層 |閱讀模式
怎么樣編寫程序在51單片機上的數碼管顯示不同的數字呢?
回復

使用道具 舉報

ID:84598 發表于 2015-7-25 22:04 | 顯示全部樓層
要顯示啥給對應的數碼管顯示段電平信號就行了么

回復

使用道具 舉報

ID:74441 發表于 2015-7-25 22:52 | 顯示全部樓層
首先得看你是用什么樣的方法來點量數碼管了,但是說到底都是操作IO口的電平,first共陽極數碼管還是共陰極數碼管,是單個數碼管,還是多個在一起,其實都一樣,接下來就是看你怎么樣操作數碼管了,我一般用兩種方法,第一種是74ls573,但是比較浪費IO口,但是適合初學者,還有就是74Ls595移位寄存器,省端口,最好有數電的基礎吧!
回復

使用道具 舉報

ID:86861 發表于 2015-7-26 00:37 | 顯示全部樓層
查一下說明書
回復

使用道具 舉報

ID:86873 發表于 2015-7-26 10:35 | 顯示全部樓層
你要先了解數碼管點亮原理,分共陰和共陽數碼管,由于51單片機輸出電流有限輸出管腳有限,所以單片機控制數碼管中間要有個橋梁,可理解成驅動,這個橋梁也有多種形式,三極管、鎖存器、移位寄存器、等等,控制方法和接線各有不同,還有數碼管根據不同接法要考慮到限流,否則會燒掉。 數碼管顯示不同的數碼 是和他的段選有關,控制不同的引腳 顯示不同的段,
回復

使用道具 舉報

ID:86863 發表于 2015-7-26 12:41 | 顯示全部樓層
動態掃描可以
回復

使用道具 舉報

ID:85124 發表于 2015-7-26 14:29 | 顯示全部樓層
利用人的視覺暫留效應,每次使一個數碼管亮一下,然后再使第二個數碼管亮一下時間如果很短的話,就相當于同時看到兩個數碼管在顯示數字了,(位選用來選擇第幾個數碼管,斷選選擇數碼管當中的某一段亮)。同時要注意消影現象。消影就是一個延時,避免你在剛顯示完一個斷選后,立即選通下一個位選,這樣當你再次選通第二個斷選時會出現剛剛的數字。
回復

使用道具 舉報

ID:86891 發表于 2015-7-26 15:06 | 顯示全部樓層
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z);
void main()
{
        wela=1;//11101010
        P0=0xea;
        wela=0;
        while(1)
        {
                for(num=0;num<16;num++)
                        {
                                dula=1;
                                P0=table[num];
                                dula=0;
                                delay(1000);       
                        }
        }
}

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);       
}
回復

使用道具 舉報

ID:70839 發表于 2015-7-26 16:36 | 顯示全部樓層
共陰極還是共陽極,一般用共陽極接法吧,如果一位數碼管就簡單的多,送上對應的電平信號就可以,如果是多位數碼管,就得采用動態掃描,為了穩定無閃爍,一個掃描周期一般控制在16ms,比如4位數碼管,一位顯示的時間就控制在4ms.
回復

使用道具 舉報

ID:86938 發表于 2015-7-27 11:30 | 顯示全部樓層
液晶寫數據一遍就夠了。把主程序里的display1();放到while(1)前面。
回復

使用道具 舉報

ID:86972 發表于 2015-7-27 14:51 | 顯示全部樓層
把不同數字編碼寫在一個數組里,要顯示幾就調用第幾個就行了
回復

使用道具 舉報

ID:86972 發表于 2015-7-27 14:53 | 顯示全部樓層
看下教程就懂了
回復

使用道具 舉報

ID:86979 發表于 2015-7-27 15:24 | 顯示全部樓層
數碼管就是7段LED嗎......
回復

使用道具 舉報

ID:86976 發表于 2015-7-27 20:23 | 顯示全部樓層
有個數碼管計算器的軟件,上面可以計算顯示字符相關的數碼管電平,然后要用掃描的方法輸出,節約IO口
回復

使用道具 舉報

ID:87047 發表于 2015-7-28 11:13 | 顯示全部樓層
顯示不同的數字是動態數碼管的顯示,動態顯示是多個數碼管,交替顯示,利用人的視覺暫停作用使人看到多個數碼管同時顯示的效果。就像我們看的電影是有一幀一幀的畫面顯示的,當速度夠快的時候我們看到它就是動態的。當我們顯示數碼管的速度夠快的時候,也就可以看到它們是同時顯示了。動態掃描顯示是指輪流向各位數碼管送出段選(字形碼)和位選,由于人眼的視覺殘留作用,使人的感覺好像各位數碼管同時都在顯示。
下面的例程可以參考一下:
/*********************************************************************************
*實驗名   :數碼管動態顯示
*實驗效果        :8位數碼管顯示數字12345678
*注意   : 每位數碼管顯示之間延遲時間小于3ms可看見8位數碼管同時點亮
*
*********************************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit DU=P2^6;
sbit WE=P2^7;

uchar code sz[17]={0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d ,
                   0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 ,
                   0x5e , 0x79 , 0x71 , 0x00};         //0-9&A-F&“不顯示”  字型碼

void delay(uint xms)                  //xms等于幾就延遲幾毫秒
{
    uint i,j;
        for(i=xms;i>0;i--)
            for(j=112;j>0;j--);
}

void main()
{
    while(1)
        {
            P0=sz[8];        //數字8
                DU=1;
                DU=0;
                P0=0x7f;
                WE=1;
                WE=0;
                delay(2);                //延遲小于3ms人眼則看到8位數碼管同時點亮

                P0=sz[7];        //數字7
                DU=1;
                DU=0;
                P0=0xbf;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[6];        //數字6
                DU=1;
                DU=0;
                P0=0xdf;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[5];        //數字5
                DU=1;
                DU=0;
                P0=0xef;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[4];        //數字4
                DU=1;
                DU=0;
                P0=0xf7;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[3];        //數字3
                DU=1;
                DU=0;
                P0=0xfb;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[2];        //數字2
                DU=1;
                DU=0;
                P0=0xfd;
                WE=1;
                WE=0;
                delay(2);

                P0=sz[1];        //數字1
                DU=1;
                DU=0;
                P0=0xfe;
                WE=1;
                WE=0;
                delay(2);



        }
}




















回復

使用道具 舉報

ID:274500 發表于 2018-1-10 20:20 | 顯示全部樓層
CHASE 發表于 2015-7-28 11:13
顯示不同的數字是動態數碼管的顯示,動態顯示是多個數碼管,交替顯示,利用人的視覺暫停作用使人看到多個數 ...

有沒有按鍵顯示的
回復

使用道具 舉報

ID:274741 發表于 2018-1-11 12:16 | 顯示全部樓層
動態掃描
回復

使用道具 舉報

ID:274635 發表于 2018-1-11 14:47 | 顯示全部樓層
先讓你的第一個數碼管顯示要顯示的第一個數字,其他數碼管關閉; 然后關閉第一個數碼管顯示; 然后讓你的第二個數碼管顯示要顯示的第二個數字,其他數碼管關閉; 然后關閉第二個數碼管; 然后讓第三個數碼管顯示要顯示的第三個數字,其他數碼管關閉; 然后關閉第三個數碼管; …… …… 依次類推,到最后一個后返回到第一個重新顯示。 當顯示的速度足夠快的時候,你就看到所有的數碼管都亮起來,顯示了不同的數字。 這個叫掃描顯示。 當你從頭掃到尾的頻率在25Hz之上的時候,看到的就都亮了,當然如果之后25Hz會感覺到抖動。 至于能跑到多少Hz要看你單片機的速度了。 我們電腦顯示屏一般在60Hz。
回復

使用道具 舉報

ID:274833 發表于 2018-1-11 15:29 | 顯示全部樓層
網上很多教程,看一看 就好了
回復

使用道具 舉報

ID:193818 發表于 2018-1-11 15:50 | 顯示全部樓層
建議先自己仔細學習和操作后再來問別人。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 午夜一级大片 | 午夜免费视频 | 台湾a级理论片在线观看 | 国产精品久久av | 久久久性色精品国产免费观看 | 久久久久久久久久久成人 | 国产成人一区二 | 国产成人99 | 午夜小视频在线播放 | 午夜影院在线观看 | 日本精品国产 | 亚洲免费视频一区 | 免费黄色片视频 | 亚洲视频精品 | 狠狠狠干| 国产99久久精品一区二区永久免费 | 视频在线亚洲 | 北条麻妃99精品青青久久主播 | 亚洲国产欧美日韩 | 九九伦理电影 | 色综合久久久久 | 久久精品一区 | 男女羞羞免费网站 | 欧美精品一区二区在线观看 | 亚洲一区二区三区欧美 | 99久久久无码国产精品 | 亚洲高清免费视频 | 亚洲成人一二区 | 色婷婷久久综合 | 成人在线不卡 | 婷婷久久综合 | 日本色高清 | 精品国产一区二区三区观看不卡 | 在线观看亚洲 | 男人天堂网址 | 亚洲情综合五月天 | 欧美在线色| 色视频网站在线观看 | 日韩欧美中文字幕在线观看 | 九九热精品视频 |