基于SLH89F5162的公交車語音報站系統(tǒng)設計
3.2單片機的SLH89F5162程序設計
本文引用地址:http://m.butianyuan.cn/article/246308.htm單片機的程序是用KEIL4編制的,主要是按鍵的識別、液晶屏的顯示、語音芯片WT588D的單線通信程序三部分。主要程序如下,詳情見附件。
void main(void)
{
uint block_n;
uint updata;
uint key_flag;
uchar flag_hold;
initinal(); //調(diào)用LCD字庫初始化程序
delay(50); //大于100uS的延時程序
flag_key=0;
flag_hold=0;
beep1(2-1);
block_n=2;
updata=1;
Display_hanzi(0,0,“公交報站系統(tǒng)”,8);
Display_hanzi(0,2,“本站:”,3);
Display_hanzi(0,1,“上站:”,3);
Display_hanzi(0,3,“下站:”,3);
Display_hanzi(3,2,Station[block_n],5);
Display_hanzi(3,1,Station[block_n-1],5);//上一站
Display_hanzi(3,3,Station[block_n+1],5);//下一站
Display_hanzi(0,1,“本站:”,3);
Display_hanzi(0,2,“上站:”,3);
Display_hanzi(0,3,“下站:”,3);
while(1)
{
delay(200);
if(K1==0
key_flag=0;
updata=1;
block_n=1;
beep1(block_n-1);
}
else if(K2==0
key_flag=0;
updata=1;
block_n=block_n+1;
if(block_n》10)
block_n=10;
beep1(block_n-1);
}
else if(K3==0
key_flag=0;
updata=1;
block_n=block_n-1;
if(block_n《1)
block_n=1;
beep1(block_n-1);
}
else if(K4==0
key_flag=0;
updata=1;
block_n=10;
beep1(block_n-1);
}
if(K1!=0
{
key_flag=1; ///標志,當按鍵按下,動作一下,按鍵松開后才能再次按下響應,防止連續(xù)動作
}
if(updata==1){
updata=0;
if(block_n==1){
Display_hanzi(3,1,Station[block_n],5);
Display_hanzi(3,2,Station[block_n],5);//上一站
Display_hanzi(3,3,Station[block_n+1],5);//下一站
}else if(block_n==10){
Display_hanzi(3,1,Station[block_n],5);
Display_hanzi(3,2,Station[block_n-1],5);//上一站
Display_hanzi(3,3,Station[block_n],5);//下一站
}else{
Display_hanzi(3,1,Station[block_n],5);
Display_hanzi(3,2,Station[block_n-1],5);//上一站
Display_hanzi(3,3,Station[block_n+1],5);//下一站
}}}}
三、項目設計框圖
1、硬件設計框圖
2、軟件設計框圖
四、測試結(jié)果
系統(tǒng)的PCB板實物圖
系統(tǒng)調(diào)試好的實物圖
經(jīng)過仔細認真的焊接和調(diào)試,最終完成了系統(tǒng)的實物系統(tǒng),經(jīng)過調(diào)試,系統(tǒng)穩(wěn)定可靠。性能指標如下:
1、系統(tǒng)功率小于5W.
2、能夠通過按鍵操作,進行起始站、上一站、下一站、終點站的語音報警和液晶屏顯示,當按鍵按下時,液晶屏顯示相應的信息,語音輸出響應的信息。
3、語音的聲音輸出清晰,流暢,普通話標準,聲音最大能夠輸出60分貝。
4、顯示屏采用128*64的漢字顯示屏,能夠顯示字母、數(shù)字、漢字。
pa相關(guān)文章:pa是什么
手機充電器相關(guān)文章:手機充電器原理 燃氣報警器相關(guān)文章:燃氣報警器原理
評論