www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]本電路制作簡單,其原理就是LED流水燈,很適合剛?cè)腴T的單片機(jī)愛好者制作。1. 添加時(shí)鐘IC,使顯時(shí)更精準(zhǔn),而且不怕掉電; 2. 加裝位置傳感器,增加顯示的穩(wěn)定性; 3. 增添搖控功能,使調(diào)整更方便。 一. 整體方案

本電路制作簡單,其原理就是LED流水燈,很適合剛?cè)腴T的單片機(jī)愛好者制作。

1. 添加時(shí)鐘IC,使顯時(shí)更精準(zhǔn),而且不怕掉電;
2. 加裝位置傳感器,增加顯示的穩(wěn)定性;
3. 增添搖控功能,使調(diào)整更方便。

一. 整體方案
    本制作是根據(jù)視覺暫留原理, 讓一排8 只LED作往復(fù)運(yùn)動(dòng), 在空中呈現(xiàn)八個(gè)字符的顯示屏,可顯示數(shù)字或英文字符。開機(jī)后先顯示“Welcome!”歡迎字符(見圖1), 再進(jìn)入時(shí)鐘顯示狀態(tài)。顯示屏同時(shí)顯示“時(shí)” 、“分” 、“秒”信息,用“:”分隔(見圖2)。
 
圖1 開機(jī)畫面                             圖2 運(yùn)行狀態(tài)
    顯示分“正常運(yùn)行”、“調(diào)分”和“調(diào)時(shí)” 三種狀態(tài)。當(dāng)處于調(diào)整狀態(tài)時(shí),調(diào)整的項(xiàng)會閃現(xiàn),以便識別。為此,設(shè)置三個(gè)調(diào)整按鍵,一個(gè)為“狀態(tài)鍵”,一個(gè)為“加法鍵”,一個(gè)為“減法鍵”。

(見圖3)
 
圖3 按鍵的設(shè)置                            圖4 音圈電機(jī)組件
    搖棒的動(dòng)力部分采用從廢舊硬盤拆下的音圈電機(jī)(見圖4),驅(qū)動(dòng)采用直流電機(jī)驅(qū)動(dòng)方式。
    結(jié)構(gòu)方面,將音圈電機(jī)直接安裝在萬用板上,將萬用板的四周用四根螺柱與一透明有機(jī)板結(jié)合成一體,構(gòu)成支撐搖棒底座。(見圖5, 圖6)。
 
圖5 萬用板與有機(jī)板構(gòu)成底座   

二. 實(shí)作要點(diǎn)
1. 主板的結(jié)構(gòu)布局見圖7。
 
圖7 主板布局             圖8 搖棒上的LED
2.LED 的焊接,將LED 兩腳跨接在電路板兩端的方式進(jìn)行焊接。使LED 緊密排列在一起。
3.搖棒上的LED 與主板上的信號用柔性排線連接,音圈電機(jī)供電占2 位,LED 信號傳輸占9 位,所以至少要11 位的排線。(見圖9)
 
圖9 排線與拉簧                       圖10 拉簧
4.為保持搖棒的平衡, 在搖棒接近旋轉(zhuǎn)軸的兩端加裝兩只拉簧,這兩只拉簧的規(guī)格盡量保持一致,彈性強(qiáng)弱要適中,最好可多找?guī)追N規(guī)格的試試。(圖9,圖10)
5.采用驅(qū)動(dòng)直流電機(jī)正反轉(zhuǎn)的方式,驅(qū)動(dòng)音圈電機(jī)來回?cái)[動(dòng)。讓電機(jī)正、反轉(zhuǎn)的方法很多,最典型的是H 橋電路驅(qū)動(dòng),H 橋電路原理見圖11,常見的是用三級管代替圖中的開關(guān)。
 
圖11 H 橋驅(qū)動(dòng)原理
    為了簡化電路,最好采用H 橋功能的集成電路。這種IC 很多,比如象TA7257,TA8429H,L6203 等,這里用的是三菱公司的M54544AL(見圖12)。IC 各腳定義見圖13。
 
圖12 電機(jī)驅(qū)動(dòng)IC
 
圖13 M56544AL 各腳定義
6.電原理圖見圖14。
 
圖14 電原理圖
7.完成圖見圖15。
 [!--empirenews.page--]
圖15 完成圖 

三. 軟件設(shè)計(jì)
1. 搖棒的啟動(dòng)
    為了使搖棒從靜止?fàn)顟B(tài)過度到正常運(yùn)行狀態(tài),在正式顯示前加一啟動(dòng)程序。其實(shí)質(zhì)就是逐漸加快驅(qū)動(dòng)的頻率,一直到搖棒正常擺動(dòng)為止。通過下面的代碼實(shí)現(xiàn)
do {
mm++;
Delay(120+mm);
put1=~put1; put2=~put2;
}while(mm<60);
Delay(20); //根據(jù)實(shí)際情況確定延時(shí)值
2. 秒閃現(xiàn)的實(shí)現(xiàn):數(shù)字或字符的閃現(xiàn)是通過變量Ms 和數(shù)組w[]實(shí)現(xiàn)的,如需要八位字符中的間的第4 位閃現(xiàn),則w[3]=1。這是通過全局變量Ms 在void timer0(void)函數(shù)中每隔一秒改變一次狀態(tài)(0 或1),打開或關(guān)閉顯示。
if(Ms*w[ii-3]==1) P2=0xff; else P2=~ASCIIDOC[v[ii]*6+jj]; //正向顯示
if(Ms*w[10-ii]==1) P2=0xff; else P2=~ASCIIDOC[v[13-ii]*6+5-jj]; //反向顯示
3. 調(diào)試中發(fā)現(xiàn),顯示屏上的字符并不是一樣寬的(見圖16),仔細(xì)分析是由于搖棒在運(yùn)動(dòng)中,一直受力,而且所受的力是隨時(shí)變化的。為方便精確調(diào)整顯示,特別作了一個(gè)顯示中斷表Tr[],改變顯示LED 的時(shí)間段,協(xié)調(diào)顯示效果。
 
圖16 調(diào)整前的顯示
4. 按鍵去抖程序
    按鍵的去抖采用軟件編程實(shí)現(xiàn),其方法是當(dāng)檢測到按鍵的接口出現(xiàn)低電平后,隔一段時(shí)間再檢測,如還是低電平,則確認(rèn)為有效,否則無效。具體的程序是通過函數(shù)unsigned char ChKey(bit Key)完成的。
5. 顯示同步
    因沒有位置傳感器,顯示同步完全靠時(shí)鐘中斷來確定。這樣就有一個(gè)問題,音圈電機(jī)的驅(qū)動(dòng)信號在什么時(shí)刻改變,顯示才能保持在中間,并能保證正反顯示能很好地重合。經(jīng)實(shí)際觀察, 音圈電機(jī)的驅(qū)動(dòng)信號在顯示中部, 要根據(jù)具體情況細(xì)調(diào)。由程序中的變量Ta 調(diào)試確定。
6. 完整C51 程序代碼
/*
POV 搖擺顯示LED 鐘C51 程序
周正華編
2008.3.19
*/
#include <reg52.h>
/*硬件端口定義*/
sbit set0=P0^1;
sbit set1=P0^0;
sbit set2=P0^2;
sbit put1=P3^6;
sbit put2=P3^7;
/*時(shí)鐘用數(shù)組*/
unsigned char BUFFER[]={0,0,0,0};
unsigned char maxnum[]={59,23};
/*顯示數(shù)組*/
unsigned int v[14];
unsigned int w[8];
/*顯示中斷表*/
int code Tr[]={
2000,2000,2000,2000,2000,2000,
2000,2000,2000,2000,2000,2000,
2000,2000,2000,2000,2000,2000,
2550,2500,2450,2400,2350,2300,
2250,2200,2150,2100,2050,2000,
1950,1900,1850,1800,1750,1700,
1650,1600,1550,1500,1450,1400,
1400,1450,1500,1550,1600,1650,
1700,1750,1800,1850,1900,1950,
2000,2050,2100,2150,2200,2250,
2300,2350,2400,2450,2500,2550,
2000,2000,2000,2000,2000,2000,
2000,2000,2000,2000,2000,2000,
2000,2000,2000,2000,2000,2000,
};
/*字符字模*/
unsigned char code ASCIIDOC[] = // ASCII
{
0x7C,0x8A,0x92,0xA2,0x7C,0x00, // -0-00
0x00,0x42,0xFE,0x02,0x00,0x00, // -1-01
0x46,0x8A,0x92,0x92,0x62,0x00, // -2-02
0x84,0x82,0x92,0xB2,0xCC,0x00, // -3-03
0x18,0x28,0x48,0xFE,0x08,0x00, // -4-04
0xE4,0xA2,0xA2,0xA2,0x9C,0x00, // -5-05
0x3C,0x52,0x92,0x92,0x8C,0x00, // -6-06
0x80,0x8E,0x90,0xA0,0xC0,0x00, // -7-07
0x6C,0x92,0x92,0x92,0x6C,0x00, // -8-08
0x62,0x92,0x92,0x94,0x78,0x00, // -9-09
0x00,0x00,0x00,0x00,0x00,0x00, // - -10
0x00,0x00,0xFA,0x00,0x00,0x00, // -!-11
0x04,0x08,0x10,0x20,0x40,0x00, // -/-12
0x00,0x6C,0x6C,0x00,0x00,0x00, // -:-13
0x3E,0x48,0x88,0x48,0x3E,0x00, // -A-14
0xFE,0x92,0x92,0x92,0x6C,0x00, // -B-15
0x7C,0x82,0x82,0x82,0x44,0x00, // -C-16
0xFE,0x82,0x82,0x82,0x7C,0x00, // -D-17
0xFE,0x92,0x92,0x92,0x82,0x00, // -E-18
0xFE,0x90,0x90,0x90,0x80,0x00, // -F-19
0x7C,0x82,0x8A,0x8A,0x4E,0x00, // -G-20
0xFE,0x10,0x10,0x10,0xFE,0x00, // -H-21
0x00,0x82,0xFE,0x82,0x00,0x00, // -I-22
0x04,0x02,0x82,0xFC,0x80,0x00, // -J-23
0xFE,0x10,0x28,0x44,0x82,0x00, // -K-24
0xFE,0x02,0x02,0x02,0x02,0x00, // -L-25
0xFE,0x40,0x30,0x40,0xFE,0x00, // -M-26
0xFE,0x20,0x10,0x08,0xFE,0x00, // -N-27
0x7C,0x82,0x82,0x82,0x7C,0x00, // -O-28
0xFE,0x90,0x90,0x90,0x60,0x00, // -P-29
0x7C,0x82,0x8A,0x84,0x7A,0x00, // -Q-30
0xFE,0x90,0x98,0x94,0x62,0x00, // -R-31
0x64,0x92,0x92,0x92,0x4C,0x00, // -S-32
0x80,0x80,0xFE,0x80,0x80,0x00, // -T-33
0xFC,0x02,0x02,0x02,0xFC,0x00, // -U-34
0xF8,0x04,0x02,0x04,0xF8,0x00, // -V-35
0xFE,0x04,0x18,0x04,0xFE,0x00, // -W-36
0xC6,0x28,0x10,0x28,0xC6,0x00, // -X-37
0xC0,0x20,0x1E,0x20,0xC0,0x00, // -Y-38
0x86,0x8A,0x92,0xA2,0xC2,0x00, // -Z-39
0x24,0x2A,0x2A,0x1C,0x02,0x00, // -a-40
0xFE,0x14,0x22,0x22,0x1C,0x00, // -b-41
0x1C,0x22,0x22,0x22,0x10,0x00, // -c-42
0x1C,0x22,0x22,0x14,0xFE,0x00, // -d-43
0x1C,0x2A,0x2A,0x2A,0x10,0x00, // -e-44
0x10,0x7E,0x90,0x90,0x40,0x00, // -f-45
0x19,0x25,0x25,0x25,0x1E,0x00, // -g-46
0xFE,0x10,0x20,0x20,0x1E,0x00, // -h-47
0x00,0x00,0x9E,0x00,0x00,0x00, // -i-48
0x00,0x01,0x11,0x9E,0x00,0x00, // -j-49
0xFE,0x08,0x14,0x22,0x02,0x00, // -k-50
0x00,0x82,0xFE,0x02,0x00,0x00, // -l-51
0x1E,0x20,0x1E,0x20,0x1E,0x00, // -m-52
0x20,0x1E,0x20,0x20,0x1E,0x00, // -n-53
0x1C,0x22,0x22,0x22,0x1C,0x00, // -o-54
0x3F,0x24,0x24,0x24,0x18,0x00, // -p-55
0x18,0x24,0x24,0x24,0x3F,0x00, // -q-56
0x20,0x1E,0x20,0x20,0x10,0x00, // -r-57
0x12,0x2A,0x2A,0x2A,0x24,0x00, // -s-58
0x20,0xFC,0x22,0x22,0x24,0x00, // -t-59
0x3C,0x02,0x02,0x3C,0x02,0x00, // -u-60
0x38,0x04,0x02,0x04,0x38,0x00, // -v-61
0x3C,0x02,0x3C,0x02,0x3C,0x00, // -w-62
0x22,0x14,0x08,0x14,0x22,0x00, // -x-63
0x39,0x05,0x05,0x09,0x3E,0x00, // -y-64
0x22,0x26,0x2A,0x32,0x22,0x00, // -z-65
};[!--empirenews.page--]
unsigned int Ti;
unsigned char ii,jj,mm, ff ,TZ ,Ms ,Ta;
/*延時(shí)程序*/
void Delay(unsigned int msec)
{
unsigned int x,y;
for(x=0; x<=msec;x++)
{
for(y=0;y<=110;y++);
}
}
/*鍵盤去抖處理函數(shù)*/
unsigned char ChKey(bit Key)
{
if(Key==0){
Delay(100);
if(Key==0) return(1);
}
}
/*定時(shí)中斷1 處理(時(shí)鐘)函數(shù)*/
void timer0(void) interrupt 1 using 1
{
TH0=-(50000/256);
TL0=-(50000%256);
TR0=1;
BUFFER[0]=BUFFER[0]+1;
}
/*定時(shí)中斷2 處理(LED 驅(qū)動(dòng)和音圈驅(qū)動(dòng))函數(shù)*/
void timer1(void) interrupt 3 using 1
{
TH1=Ti/256; TL1=Ti%256;
if((ii*6+jj)==Ta) {put1=~put1;put2=~put2;}; //音圈電機(jī)驅(qū)動(dòng)輸出
if(ff==1){
if(Ms*w[ii-3]==1) P2=0xff; else P2=~ASCIIDOC[v[ii]*6+jj]; //正向顯示
}
else {
if(Ms*w[10-ii]==1) P2=0xff; else P2=~ASCIIDOC[v[13-ii]*6+5-jj]; //反向顯示
}
jj++;
if(jj>5) {ii++; jj=0;}
if(ii>13) {ii=0;ff=!ff;}
Ti=-Tr[ii*6+jj]; //讀顯示中斷表
}
/*主程序*/
void main(void)
{
//變量初始化
Ms=0;
ff=0;
Ta=46; //正反顯一致性調(diào)整, 取值范圍在42~50 之間, 根據(jù)實(shí)際確定
put1=0;put2=1;
//中斷初始化
TMOD=0x11;
TH0=-5000/256; TL0=-5000%256;
TR0=1;ET0=1;
TH1=-2000/256; TL1=-2000%256;
TR1=1;ET1=1;
//十四個(gè)字符中前三個(gè)和后三個(gè)不顯(不用)
v[0]=10;
v[1]=10;
v[2]=10;
v[11]=10;
v[12]=10;
v[13]=10;
/*搖擺棒初始啟動(dòng)*/
do {
mm++;
Delay(120+mm);
put1=~put1; put2=~put2;
}while(mm<60);
Delay(20);
/*啟動(dòng)顯示*/
ii=0;jj=0;
EA=1;
/*正式運(yùn)行*/
for(;;){
v[3]=36;v[4]=44;v[5]=51;v[6]=42;v[7]=54;v[8]=52;v[9]=44;v[10]=11; //顯示歡迎
Delay(6000);
v[3]=10;v[4]=10;v[5]=10;v[6]=10;v[7]=10;v[8]=10;v[9]=10;v[10]=10; //關(guān)閉顯示
Delay(600);
v[3]=0;v[4]=0;v[5]=13;v[6]=0;v[7]=0;v[8]=13;v[9]=0;v[10]=0; //顯示時(shí)鐘初始狀
態(tài)
/*進(jìn)入時(shí)鐘狀態(tài)*/
while(1){
//時(shí)鐘處理
if (BUFFER[0]>21){ //進(jìn)位到秒
BUFFER[0]=0; BUFFER[1]=BUFFER[1]+1;
Ms=!Ms;
if (BUFFER[1]==60){ //進(jìn)位到分
BUFFER[1]=0;BUFFER[2]=BUFFER[2]+1;
if (BUFFER[2]==60){
BUFFER[2]=0;BUFFER[3]=BUFFER[3]+1; //進(jìn)位到時(shí)
if (BUFFER[3]==24) BUFFER[3]=0;
}
}
}
//將顯示內(nèi)容送顯示緩沖區(qū)
v[9]=BUFFER[1]/10;
v[10]=BUFFER[1]-v[9]*10;
v[6]=BUFFER[2]/10;
v[7]=BUFFER[2]-v[6]*10;
v[3]=BUFFER[3]/10;
v[4]=BUFFER[3]-v[3]*10;
//鍵盤處理
if(ChKey(set0)==1){ //模式鍵
Ms=1; //秒閃開
if(TZ<2) TZ++; else TZ=0; //三種狀態(tài)循環(huán)轉(zhuǎn)換
switch(TZ){
case 0:w[0]=0;w[1]=0;w[2]=0;w[3]=0;w[4]=0;w[5]=0;w[6]=0;w[7]=0;break;
case 1:w[0]=0;w[1]=0;w[2]=0;w[3]=1;w[4]=1;w[5]=0;w[6]=0;w[7]=0;break;
case 2:w[0]=1;w[1]=1;w[2]=0;w[3]=0;w[4]=0;w[5]=0;w[6]=0;w[7]=0;break;
}
Ms=0; //秒閃關(guān)
};
Delay(80);
if(ChKey(set1)==1){ if(BUFFER[TZ+1]<maxnum[TZ-1]) BUFFER[TZ+1]++; else
BUFFER[TZ+1]=0;Delay(300);};
//鍵盤"+"
if(ChKey(set2)==1){ if(BUFFER[TZ+1]>0) BUFFER[TZ+1]--; else
BUFFER[TZ+1]=maxnum[TZ-1];Delay(300);};
//鍵盤"-"
Delay(80);
}
}
}

四.調(diào)試方法
雖說是個(gè)機(jī)電一體的制作,但調(diào)試過程并不復(fù)雜。
1. 機(jī)械部分的調(diào)整主要是兩只拉簧, 要盡量保證兩邊受力一致,讓搖棒靜態(tài)時(shí)保持在豎直狀態(tài)。
2. 軟件部分,先將void timer1(void)函數(shù)中的“Ti=-Tr[ii*6+jj];”這段程序刪除,試著讓Ti 取一常數(shù)值(大約-2000 左右)看顯示效果(搖棒擺動(dòng)的幅度),一直到滿意為止,這時(shí)正反顯示可能沒有重合,接著試Ta 的取值,范圍在42 到50 之間,使正反顯示重合為止。最后一步就是調(diào)整顯示的不均勻性,將“Ti=-Tr[ii*6+jj];”這段程序恢復(fù)回來,試著改變Tr[]表中數(shù)組元素的值,并保證表中的元素的平均值為開始Ti 取得的值,讓顯示的每個(gè)字符寬度一致為止。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉