Ⅰ 我用51單片機串列通信方式去控制一塊8×8LED點陣屏,顯示的時候,文字閃爍厲害……
按照人的常規的視覺停留的頻率計算就行了,一般地,掃描頻率要50HZ以上肉眼看起來就不閃爍,就拿50HZ閥值,那麼一個點陣顯示的時間為1S/50=20mS,即需要20mS後知薯再對它進行掃描;
但是你每行是5mS,那麼一共有8行,重復掃描時間為5mS*8=40mS>>20mS,所以當然看起來閃爍。
把掃描時間跳到2.5到枯凱2mS就差不多了,太小的話,沒猛喚通電時間過短,顯示亮度不足。
Ⅱ 單片機單個數碼管元件名稱是什麼
數碼管,亦稱輝光管,是一種能顯示數字及其他信息的電子元件。
原理圖:
1. 顯示原理:亮為0,暗為1,數碼管從右至左顯示二進制數。
2. 控制方式:
a. 位選:如控制第1個數碼管,需選擇相應的位選信號。
b. 段選:確定要顯示的數字後,通過控制數碼管的特定段來實現。
void display(void) 函數:
P2 = ((P2&0x1F)|0xE0); // 數碼管消隱
P0 = 0xFF;
P2 &= 0x1F;
P2 = ((P2&0x1F)|0xC0); // 位選控制
P0 = 1<<dspcom;
P2 &= 0x1F;
P2 = ((P2&0x1F)|0xE0); // 段碼輸入
P0 = tab[dspbuff[dspcom]];
P2 &= 0x1F;
if(++dspcom == 8){ // 循環檢查
dspcom = 0; // 重置計數器
}
結構圖:
1. 高低電平:
a. 高電平:確保邏輯門輸入為高電平的最小電壓。
b. 低電平:確保邏輯門輸入為低電平的最大電壓。
2. 共陽極與共陰極:
a. 共陽極數碼管:八段發光二極體的陽極相連,陰極獨立控制。
b. 共陰極數碼管:八段發光二極體的陰極相連,陽極獨立控制。
真值表:
數字 真值表
0 0xC0
1 0xF9
2 0xA4
3 0xB0
4 0x99
5 0x92
6 0x82
7 0xF8
8 0x80
9 0x90
Tips:
二進制:前綴0b/0B,後綴b/B
八進制:前綴0,後綴o/O
十進制:無前綴,可有+/-後綴d/D
十六進制:前綴0x/0X,後綴h/H
特殊功能寄存器:
sbit是定義特殊功能寄存器的位變數,如sbit led1 = P1^0,用於控制P1口0位端的發光二極體。
sfr是定義特殊功能寄存器的8位寄存器,如sfr P1 = 0x90,用於訪問51單片機內部的特殊功能寄存器。
Ⅲ 單片機電子鍾原理圖,幫我大概解釋一下這個圖的工作原理就可以了,謝謝。帶圖!5分
本電子鍾採用PIC16C55單片機控制,適於溫室的定時恆溫或自來水的定時定壓控制等。PIC16C55單片機工作電壓為2.5~6.25V,功耗低、驅動能力強。本電子鍾可以控制一路負載在24小時內的3次開/關;一個雙限觸發的定時輸出口,既可接傳統的功率保持型繼電器,也可接脈沖繼電器。本機用四位LED數碼管掃描式顯示,還有消隱(省電)工作方式,使用起來非常靈活、方便。
一、 電子鍾工作原理
電子鍾電路見圖1。RB7口是定時指示端,在定時開期間輸出高電平,驅動V1發光,該口也可經緩沖作定時輸出口;RB6是雙限觸發控制的定時輸出口,其工作方式是:在RB7高電平期間,若RB1為高電平,則RB6輸出高電平;若RB0為高電平,RB6輸出低電平;若RB1、RB0同為低電平,RB6保持原態; 同為高電平時,RB6輸出低電平。RB5、RB4用於驅動脈沖繼電器,RB6上升沿觸發RB5輸出高電平開脈沖;在RB6下降沿觸發RB4時,RB4端輸出高電平關脈沖,開/關脈沖的持續時間均為125ms。
圖 1
RB3是消隱控制器,接高電平(即SK1閉合)時,顯示屏及秒閃正常;否則,顯示消隱。顯示消隱時,時鍾及各控制邏輯都正常運行,如忽略RB4至RB7各口的驅動電流,則在3V供電時,整機電流不足20μA,即兩節5號電池可用數月!RB2選擇數碼管極性,RB2為低電平,使用共陰LED;RB2為高電平,則用共陽LED。數碼管的極性是在上電初始化時,根據 RB2口狀態確定的,工作過程中改變RB2的電平則不起作用。
本機設S1~S4四個按鍵,S1是功能選擇鍵,S2是小時增量調整,S3是分鍾增量,S4用於分鍾減量調節,其使用方法為:
上電時,RB5至RB7均為低電平,RB4端送出一個關脈沖,使SK1閉合,整機正常顯示、工作,RC7口送出秒閃脈沖,RC6~RC0送欄位碼。RA3~RA0分別為10時、時、10分、分位的位碼輸出。這時,按一下S2或S3(時增量/ 分增量鍵),可使RB7端置位或復位。
在正常走時期間,秒閃正常;在校對或設置定時時,秒停閃。例如:在正常走時期間,按一下S1鍵,秒閃停止,屏幕顯示J-,表示可以校對時間。這時再按S2~S4中任一鍵,屏幕顯示現在時間,但秒不閃,此刻可按S2~S4校對時鍾。再次按S1,屏幕顯示 1∪,表示可以設定第一次開時間,此時按S2~S4對時間進行查看及設置。繼續按S1,系統顯示1∩,表示可設置第一次關時間……依次進行。設置好系統及 3次開關時間後,整機回到正常顯示狀態,秒閃恢復。
如欲取消某次開/關定時,只需把該次的開與關時間設置成相同值即可。
筆者曾把該時鍾用於定時定壓供水控制系統,RB6端用於驅動繼電器(也可用RB5與RB4兩端驅動脈沖繼電器),RB1端接水壓(水位)的低限輸入,RB0 端接高限輸入,設置好定時,一個簡易的定時定壓自動供水系統即告完成。
二、 編程技巧
PIC16C55單片機程序存儲器只有512位元組,加上採用外接32768Hz晶體振盪方式,時鍾速度較低,因此,統籌好系統的工作時序與人機界面之間的關系是軟體設計成敗的關鍵。本機編程採用如下方案:軟體工作流程見附圖2。
圖 2
PIC16C55單片機的一個機器周期是4個時鍾周期,不難算出,本系統中每秒有8192個機器周期。在編制軟體時,先設定單片機內部定時計數器F1的計數方式為機器周期的64分頻。這樣,每當F1溢出時,系統遞加2秒。平時,系統每128個機器周期內用RC口與RA口驅動掃描一次顯示屏,可保證每秒內掃描64次顯示屏,基本上無閃爍感。而 128個機器周期正是F1的第0位(為便於敘述以下簡記為F1?0)每次下降沿的間隔時間,我們可以編一段程序,當F1?0的下降沿到來時,掃描一次顯示屏,每當F1的低4位為全0時(125ms一次)使系統檢測一次RB口與按鍵狀態,並進行相關處理,部分相關程序如下:
WAIT BTFSC 1,0 ;等待F1?0的下降沿,編程時
GOTO WAIT ;要保證每次下降沿前到此
MOVFW 1
SKPNZ
GOTO CLOCK ;F1=0,滿2秒,轉時鍾處理
ANDLW 0FH ;屏蔽F1高4位
SKPZ
GOTO DISPLAY;F1低4位不為0,轉顯示
MOVLW 0C0H ;滿125mS,使RB口脈沖復位
ANDWF 6,1
MOVLW 0FH ;檢測按鍵
TRIS 7
MOVFW 7
ANDLW 0FH ;保留按鍵數據
SKPZ
GOTO AN;有鍵值,轉按鍵處理
DISPLAY …… ;顯示掃描,定時管理RB口
CLOCK …… ;時鍾,定時處理程序
AN …… ;按鍵管理程序
Ⅳ 單片機數碼管消影是什麼意思
消隱就是不需要時不顯示,當需要它顯示時才顯示。
共陽的話,
當P0=0XFF;時它熄滅
P0=0時它顯示
Ⅳ 單片機中的位選與段選的區別
單片機中的位選與段選的主要區別為:
1、數字顯示不同
段選用於控制數碼管的筆畫,也就是數碼管顯示數字內容,字母也可以顯示。
位選用於控制多個數碼管中的一個或幾個數碼管是否顯示數字或字元。
2、關閉是否顯示內容不同
位選如果關閉就不會顯示任何內容。
3、重影問題
位選與段選都需要不同的消隱方法,需要根據外部硬體來適當修改。基本思路就是別讓上次遺留的IO狀態影響到當前需要的數據。但是數碼管動態掃描要求比較高,在設計的時候按經驗來說的話都說先段選,
例如:
wei = 1; 先關閉數碼管位選
P0 = 0xC0; 段選賦值
wei = 0; 開啟位選
Delay(); 延時這里延時是停留時間,
如果先段選在為選,會出現重影。
(5)單片機程序消隱的作用擴展閱讀:
以4位7段共陰極數碼管為例:
4位就是指4個數碼管,7段就是指數碼管的a到g段。
位選控制哪個數碼管選通,段選控制每個數碼管a到g段哪個點亮。
如果是共陰極,那麼每個數碼管的led陰極連在一起(即位選),那麼只有位選為低才選通,此時如果段選為高,則數碼管點亮(4個數碼管的所有段選是連在一起的)。總言之應該是:位選是選中它,段選才是讓它顯示什麼數。