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

標題: 怎么讓數碼管有效位顯示 求幫助 [打印本頁]

作者: 小天才哥哥    時間: 2019-5-24 19:43
標題: 怎么讓數碼管有效位顯示 求幫助
如題
作者: w1179benp    時間: 2019-5-26 13:11
經常看到這種不著邊際的詢問!什么叫“數碼管有效位”?難道還有無效位?到底你具體問題是軟件的還是硬件的?
作者: 47okey    時間: 2019-5-26 15:43
位私下揣摩,比如6位數碼管顯示000020,高4 位0為無效位,低2位20為有效位?
作者: 幻劍心    時間: 2019-5-26 16:28
你的意思是如果有8位數碼管,但是數值是100,那么就只顯示前三位的100,后面的不顯示對吧。
把0xff(共陽)/0x00(共陰)傳給不想顯示的位就行了。
作者: 1512166    時間: 2019-5-26 16:34
你是想讓數碼管顯示數字嗎?如果是可以用switch函數實現
作者: 問青天磕大地    時間: 2019-5-26 16:38
其實他想說的是數碼管可以顯示的位數
作者: lxbeiming    時間: 2019-5-26 17:41
數碼管8個腳對應7段加小數點,你想讓那一段量,就給電平點亮,比如顯示8.  你就寫0xff
作者: mkkop    時間: 2019-5-26 18:00
你的問題應該是把最高位是0時不顯示對吧?
例如你用4位數碼管顯示一個數,最大顯示9999,如果你只顯示999則千位不顯示,顯示99時千位和百位不顯示,顯示9時千位和百位和十位不顯示,如果是這樣,程序如下
{
        if(temp < 10)
        {
                disp_dat4 = disp_dat3 = disp_dat2 = 0;  // 如果小于10,則高3位數碼管清零不顯示
        }
        else
        if(temp < 100)
        {
                disp_dat4 = disp_dat3 = 0;  // 如果小于100,則高2位數碼管清零不顯示
        }
        else
        if(temp < 1000)
        {
                disp_dat4 = 0;  // 如果小于1000,則最高位數碼管清零不顯示
        }   
}
作者: 凌鴆    時間: 2019-5-26 18:37
能不能具體一些,這種問題沒辦法回答啊。
作者: 凌鴆    時間: 2019-5-26 18:45
這個問題沒有意義啊,回答者看不懂有什么用。
作者: zero711    時間: 2019-5-26 19:30
數碼管的顯示,首先要搞清楚主要控制分為段選和位選,段選就是指你要讓數碼管顯示什么符號內容,如:1、2、3、a、b、c等。位選就是指你要顯示的符號內容需要顯示在哪個數碼管上,如:一個四個并排的數碼管上,你要讓1顯示在第一個數碼管上,你就需要進行位選讓第一個數碼管顯示,其他數碼管不顯示,再進行段選,輸入你要顯示的符號內容的16進制碼,從而達到在對應的數碼管上顯示內容對應的內容的目的。而你所說的“有效位”是否指的就是位選?
作者: yuwenxi    時間: 2019-5-26 19:33
/************************************************************************************** *                              動態數碼管顯示實驗                                                                                                  * 實現現象:下載程序后數碼管從左至右顯示0-7。 注意事項:                                                                                                                                                                   ***************************************************************************************/  #include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器  typedef unsigned int u16;          //對數據類型進行聲明定義 typedef unsigned char u8;  sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4;  u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值  /******************************************************************************* * 函 數 名         : delay * 函數功能                   : 延時函數,i=1時,大約延時10us *******************************************************************************/ void delay(u16 i) {         while(i--);         }  /******************************************************************************* * 函 數 名         : DigDisplay * 函數功能                   : 數碼管動態掃描函數,循環掃描8個數碼管顯示 *******************************************************************************/ void DigDisplay() {         u8 i;         for(i=0;i<8;i++)         {                 switch(i)         //位選,選擇點亮的數碼管,                 {                         case(0):                                 LSA=0;LSB=0;LSC=0; break;//顯示第0位                         case(1):                                 LSA=1;LSB=0;LSC=0; break;//顯示第1位                         case(2):                                 LSA=0;LSB=1;LSC=0; break;//顯示第2位                         case(3):                                 LSA=1;LSB=1;LSC=0; break;//顯示第3位                         case(4):                                 LSA=0;LSB=0;LSC=1; break;//顯示第4位                         case(5):                                 LSA=1;LSB=0;LSC=1; break;//顯示第5位                         case(6):                                 LSA=0;LSB=1;LSC=1; break;//顯示第6位                         case(7):                                 LSA=1;LSB=1;LSC=1; break;//顯示第7位                         }                 P0=smgduan[i];//發送段碼                 delay(100); //間隔一段時間掃描                         P0=0x00;//消隱         } }  /******************************************************************************* * 函 數 名       : main * 函數功能                 : 主函數 * 輸    入       : 無 * 輸    出             : 無 *******************************************************************************/ void main() {                 while(1)         {                         DigDisplay();  //數碼管顯示函數                 }                 }
作者: yuwenxi    時間: 2019-5-26 19:33
/**************************************************************************************
*                              動態數碼管顯示實驗                                                                                                  *
實現現象:下載程序后數碼管從左至右顯示0-7。
注意事項:                                                                                                                                                                  
***************************************************************************************/

#include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值

/*******************************************************************************
* 函 數 名         : delay
* 函數功能                   : 延時函數,i=1時,大約延時10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);       
}

/*******************************************************************************
* 函 數 名         : DigDisplay
* 函數功能                   : 數碼管動態掃描函數,循環掃描8個數碼管顯示
*******************************************************************************/
void DigDisplay()
{
        u8 i;
        for(i=0;i<8;i++)
        {
                switch(i)         //位選,選擇點亮的數碼管,
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0; break;//顯示第0位
                        case(1):
                                LSA=1;LSB=0;LSC=0; break;//顯示第1位
                        case(2):
                                LSA=0;LSB=1;LSC=0; break;//顯示第2位
                        case(3):
                                LSA=1;LSB=1;LSC=0; break;//顯示第3位
                        case(4):
                                LSA=0;LSB=0;LSC=1; break;//顯示第4位
                        case(5):
                                LSA=1;LSB=0;LSC=1; break;//顯示第5位
                        case(6):
                                LSA=0;LSB=1;LSC=1; break;//顯示第6位
                        case(7):
                                LSA=1;LSB=1;LSC=1; break;//顯示第7位       
                }
                P0=smgduan[i];//發送段碼
                delay(100); //間隔一段時間掃描       
                P0=0x00;//消隱
        }
}

/*******************************************************************************
* 函 數 名       : main
* 函數功能                 : 主函數
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{       
        while(1)
        {       
                DigDisplay();  //數碼管顯示函數       
        }               
}

作者: wj_yuq    時間: 2019-5-26 19:44
七段(加小數點為八段)數碼管分共陽極和共陰機之分,不知你所述的有效位是要指定的段位還是全段位,都是不同的,有很多小程序可以根據以上述及的各情況,根據你要點亮的段位,返回要求的HEX碼
作者: tehity    時間: 2019-5-26 20:36
8段數碼管,一個字節8位每1位對應數碼管的1段




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精彩视频 | 中文字幕一区二区三区日韩精品 | 日韩一区二区三区视频 | 国产精品国产精品国产专区不卡 | 99久久免费精品国产免费高清 | 亚洲精品一区二区三区中文字幕 | 91在线视频免费观看 | 在线视频一区二区 | 久久国产一区二区三区 | 免费观看的av毛片的网站 | 中国美女av | 亚洲一区二区三区四区av | 精品亚洲一区二区 | 国产精品亚洲一区二区三区在线观看 | 91不卡| 日本在线视频一区二区 | 欧美精品在线一区 | 视频二区 | 97精品久久 | 一区二区伦理电影 | 亚洲国产成人精品久久久国产成人一区 | 久久99精品久久久久久狂牛 | 亚洲成av片人久久久 | 能看的av| 日韩中文在线视频 | 午夜精品一区 | 欧美国产精品一区二区 | av在线免费看网址 | 日日骚网 | 久久在线| 日韩欧美在线免费观看 | 国产成人福利 | 日韩精品在线播放 | 九九视频网 | 欧美成人精品在线观看 | 国产xxxx岁13xxxxhd | 激情久久av一区av二区av三区 | 一区二区三区国产在线观看 | 成人区精品一区二区婷婷 | 久久久婷婷 | 午夜影院黄 |