1. 單片機數碼管動態顯示的過程中,怎麼實現讓其中一個閃爍,其他的不受影響;
嘿嘿 俺來幫你嘍
1 單片機數碼管動態顯示的過程中,設置一個閃爍寄存器,專門保存要閃爍顯示的位子,再增加一個閃爍顯示碼的暫存器。
2 每次調用顯示程序時,先要判斷需要顯示閃爍的位子的顯示碼,是不是等於「滅」的顯示碼,
不是的話,將該位的顯示碼送閃爍顯示碼的暫存器進行保存,將「滅」的顯示碼送入相應的顯示緩沖區的位子,調用顯示程序;如果等於「滅」的顯示碼,則將保存在閃爍顯示碼的暫存器中的顯示碼再送回相應的顯示緩沖區的位子,調用顯示程序。
呵呵 只給出實現的演算法 代碼就自己編嘍。
滿意的話 就給加分吧
2. 單片機數碼管動態顯示和滾動顯示的區別 除了延時時間的長短和消影 為什麼我打算做動態的卻成了滾動的
你是否明白什麼是「滾動顯示」?「動態顯示」的對應方式是「靜態顯示」;「滾動顯示」是自動切換顯示內容,對應的是「靜止顯示」。總之,「滾動顯示」時顯示內容要改變,而「動態顯示」顯示內容並不改變,但是如果延時過長,可能形成顯示內容斷斷續續的(不是同時亮),但總的顯示內容並不變。
3. 51單片機數碼管動態顯示從右往左
這是四位數碼管從右從左流動顯示,像滾動字幕一樣的。用不著矩陣按鍵哪。
其實程序很簡單,沒那麼復雜。程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共陰段碼碼,0x00為滅
void delay()//延時子程序
{
uint y;
for(y=400;y>0;y--);
}
void main()
{
uchar n,x;
while(1)
{
n++;
if(n>50)//n為顯示一屏顯示次數,n大小可調節流動速度
{
n=0;
x++;//從下一個位置開始顯示
if(x>8)x=0;
}
}
}
模擬結果
4. 單片機 匯編 LED數碼管動態顯示
所謂的動態顯示就是:led燈按設定的循序不停的一個一個(一個數用一塊八段管)數的輸出顯示,由於led燈的閃爍速度很快,而人的眼睛最多隻能識別0.2秒間隙以上的變化。那麼在人看來,不停閃爍的led管就像是靜態顯示一樣散或搏。
圖中,段控制和位控制分時復用P0口,選用兩個鎖存器573來分開段控制和位控制數據。
段控制:數碼管顯示的字形
位控制:哪個沖祥數碼管顯示(或者說控制字形送往哪個數碼管)
注意:段控制是與所有數碼管連接在一起的。(如果將位控制全開的話,數碼管就變成了靜態顯示了,並團鏈且顯示的數字也是一樣的)。位控制是獨立一個一個連接的。
5. 單片機數碼管顯示
設計用PLC控制數碼管循環顯示數字0-9,控制要求如下