1樓:匿名使用者
teble裡的值就是共陰8 段(含小數點)數碼管的段碼。
8 段從上面一橫開始順時針依次為a、b、c、d、e、f、g(中間的橫)和h(小數點),分別接在io口的0~7
例如要顯示0,則段碼為0011 1111 即0x3f 。
其它,你可自行推出。
2樓:琴音華映
unsigned char code table=;
定義一個陣列table,unsigned char 是指該陣列中成員均為無符號字元型,code是指把該陣列存放到**段中。
其中,0x3f的二進位制數是 0011 1111 ,共陰數碼管給高電平就亮,給二進位制數 0011 1111即給0x3f時,共陰數碼管就會亮0,同理,給0x06時數碼管亮1,直到給0x6f則亮9
這樣定義的好處是,對應數碼管,table[0]=0(即陣列的第一個數為0),table[1]=1,以此類推
比如該程式主函式前三句count=0;p0=table[count/10];p2=table[count%10];中
count/10=0;則 p0=table[count/10]=table[0]=0x3f=0011 1111,所以共陰數碼管亮0;
count%10=0;則p2=table[count%10]=table[0]=0x3f=0011 1111,所以共陰數碼管亮0。
說了那麼多不知道解釋清楚了沒有~~~
3樓:
這是顯示數字0-9的數碼管編碼
4樓:匿名使用者
顯示數字0-9的數碼管編碼 ,數碼管事共陰的,所以是高電平亮,0x06就是00000110,就是數碼管的b,c,是高電平。就顯示是1.不明白的話我就無解了。
5樓:
table中的值是對0——9這十個數字的編碼,首先你得知道數碼管工作的原理:8段共陰極數碼管是將8個led(a,b,c,d,e,f,g,dp)的陰極接到一起——接地,通過陽極接入電平的高低來控制led的亮與滅,例如:要顯示『0』這個數,對應8段數碼管a,b,c,d,e,f,g,dp編碼為:
1,1,1,1,1,1,0,0,即p0=00111111,即3fh。同理,其他九個數字編碼方式也是這樣!
關於微控制器at89c51程式,利用兩個數碼管,利用按鍵控制實現「數字減一」顯示99到00。
6樓:匿名使用者
#include "reg52.h"
#include
#define uchar unsigned charuchar code led_tab=;
unsigned int x=9999;
void delay(unsigned int z)void main()
}void aa() interrupt 0void bb() interrupt 2
如何利用51微控制器實現計數器功能?並顯示在數碼管上,00~99之間的計數。求c語言**!初學勿複雜
7樓:我不清楚唉
一年多沒接觸了。。。忘光了。。。但思路差不多:設定兩個中斷,一箇中斷後加一,一箇中斷後減一。。再查表顯示
8樓:匿名使用者
前幾天剛剛做過,有這個功能,不過是pic
9樓:匿名使用者
用那幾個埠?用譯碼器麼?數碼管用共陽的還是共印的?
求利用51微控制器at89c51做簡易電子鐘的程式
lcd的型號是什麼?它是什麼協議?能給做一個用微控制器at89c51的簡易電子時鐘嗎?要有程式,流程圖proteus 圖,元器件清單 include unsigned char code tab unsigned char buf 8 unsigned char ss 8 unsigned char...
微控制器AT89c51的特點,微控制器AT89C51各個引腳的作用
資源我的啊 at89c51 提供以下標準功能 4k 位元組flash 閃速儲存器,256位元組片內資料儲存器 00h 7fh為片內ram,80h ffh為特殊功能暫存器sfr 32 個i o 口線,兩個16位定時 計數器,一個5向量兩級中斷結構,一個全雙工序列通訊口,片內振盪器及時鐘電路。at89c...
STC89C51微控制器復位,51微控制器復位後各暫存器狀態是怎樣的
該微控制器正常工作時復位端電壓應保持低電平狀態,復位時給復位端加上一個短暫的高電平即可使微控制器程式復位。該復位電路的工作原理是,電源通過電解電容再通過電阻串聯到地,電容兩段並聯一按鍵開關,正常工作時電容隔斷電源電壓,微控制器復位端相當於通過電阻接地。因電路中無電流,所以復位端電壓為0伏。當執行過程...