程序和小訣竅
發(fā)布時間:2012/6/13 19:56:47 訪問次數(shù):1035
LCD有三個顯示界面:開機界面小小收音機,日歷鐘界XC18V02VQ44C面和收音機控制界面見圖7。開機后如果未按下S6顯示開機界面,否則顯示日歷鐘界面。在開機界面時如果按下調(diào)臺鍵S1或搜臺鍵S2則切換到收音機界面,它顯示收音有關信息。S1~S5鍵的功能在兩個界面不一樣,程序中鍵處理是要執(zhí)行對收音機控制功能還是日歷鐘的設定功能取決于S6鍵是彈起還是按下狀態(tài)。另外顯示界面數(shù)據(jù)更新也是由它決定:彈起為更新收音機界面數(shù)據(jù),按下為更新日歷鐘界面數(shù)據(jù)。而幾個界面具有共同的位于LCD最下方的日歷時間行,它的數(shù)據(jù)總是要更新。所以,程序中關于數(shù)據(jù)更新部分較多。在界面圖形繪制上是采用基本頁列坐標寫數(shù)的辦法,在H_ASHROM中的專漠表中按需要建立一些自編的符號和漢字,例如立體聲就是一架錄放機,真臺就是一個三單元天線等,按讀取收音機模塊狀態(tài)寄存器的結果顯示。而那個調(diào)頻模擬刻度指針是這樣制作的:由于調(diào)頻接收范圍87—108MHz,按lOOkHz間隔搜索(這個在5807編程中已經(jīng)設定好),那么從87.0~108.0最多有(108-87)×10=210個頻率點,液晶水平只有1 28個像素點,就是每點一個頻率也放不下。所以取210的一半就是1 05個像素點,每點代表兩個頻率,就按這樣在第1頁位置畫出標尺。
標尺起點位于14點處。畫調(diào)諧模擬指針就是根據(jù)每次按調(diào)諧鍵S1或搜索鍵S2操作5807調(diào)臺或搜臺后,從5807讀出頻率點chanl,把它除以2后的值作為指針的劃線位置,就可以畫出指針了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2頁畫指針
LcdWriData(Oxfe):
模擬指針位置是標度尺下邊也就是第2頁,當然在劃線前先進行一次擦除原有指針的操作。界面中信號強度指示和音量指示的方法和頻率刻度類似,涉及數(shù)量少,就不多說了。
程序中關于存臺和回放的實現(xiàn):載用的辦法是,搜索到電臺以后,在M8的EEPROM中把電臺的上述頻率點按先后存起來,存放地址是Ox10—Ox19.可以存10個臺。在Oxla單元存放存臺位置,就是下一個存臺單元地址(存臺指針)。那么按下存臺鍵以后,先在Oxla讀出存臺指針,然后按指針位置把頻率點寫入EEPROM.也寫入新的存臺指針。當存滿10個臺后,繼續(xù)存就又從Oxl0開始;胤艅t是順序循環(huán)讀出Oxl0—Ox19中的頻率點,再調(diào)諧到備點就行了。當然在編程中一定要設定熔絲位BOD,使EEPROM在斷電時能可靠保護數(shù)據(jù)。
標尺起點位于14點處。畫調(diào)諧模擬指針就是根據(jù)每次按調(diào)諧鍵S1或搜索鍵S2操作5807調(diào)臺或搜臺后,從5807讀出頻率點chanl,把它除以2后的值作為指針的劃線位置,就可以畫出指針了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2頁畫指針
LcdWriData(Oxfe):
模擬指針位置是標度尺下邊也就是第2頁,當然在劃線前先進行一次擦除原有指針的操作。界面中信號強度指示和音量指示的方法和頻率刻度類似,涉及數(shù)量少,就不多說了。
程序中關于存臺和回放的實現(xiàn):載用的辦法是,搜索到電臺以后,在M8的EEPROM中把電臺的上述頻率點按先后存起來,存放地址是Ox10—Ox19.可以存10個臺。在Oxla單元存放存臺位置,就是下一個存臺單元地址(存臺指針)。那么按下存臺鍵以后,先在Oxla讀出存臺指針,然后按指針位置把頻率點寫入EEPROM.也寫入新的存臺指針。當存滿10個臺后,繼續(xù)存就又從Oxl0開始;胤艅t是順序循環(huán)讀出Oxl0—Ox19中的頻率點,再調(diào)諧到備點就行了。當然在編程中一定要設定熔絲位BOD,使EEPROM在斷電時能可靠保護數(shù)據(jù)。
LCD有三個顯示界面:開機界面小小收音機,日歷鐘界XC18V02VQ44C面和收音機控制界面見圖7。開機后如果未按下S6顯示開機界面,否則顯示日歷鐘界面。在開機界面時如果按下調(diào)臺鍵S1或搜臺鍵S2則切換到收音機界面,它顯示收音有關信息。S1~S5鍵的功能在兩個界面不一樣,程序中鍵處理是要執(zhí)行對收音機控制功能還是日歷鐘的設定功能取決于S6鍵是彈起還是按下狀態(tài)。另外顯示界面數(shù)據(jù)更新也是由它決定:彈起為更新收音機界面數(shù)據(jù),按下為更新日歷鐘界面數(shù)據(jù)。而幾個界面具有共同的位于LCD最下方的日歷時間行,它的數(shù)據(jù)總是要更新。所以,程序中關于數(shù)據(jù)更新部分較多。在界面圖形繪制上是采用基本頁列坐標寫數(shù)的辦法,在H_ASHROM中的專漠表中按需要建立一些自編的符號和漢字,例如立體聲就是一架錄放機,真臺就是一個三單元天線等,按讀取收音機模塊狀態(tài)寄存器的結果顯示。而那個調(diào)頻模擬刻度指針是這樣制作的:由于調(diào)頻接收范圍87—108MHz,按lOOkHz間隔搜索(這個在5807編程中已經(jīng)設定好),那么從87.0~108.0最多有(108-87)×10=210個頻率點,液晶水平只有1 28個像素點,就是每點一個頻率也放不下。所以取210的一半就是1 05個像素點,每點代表兩個頻率,就按這樣在第1頁位置畫出標尺。
標尺起點位于14點處。畫調(diào)諧模擬指針就是根據(jù)每次按調(diào)諧鍵S1或搜索鍵S2操作5807調(diào)臺或搜臺后,從5807讀出頻率點chanl,把它除以2后的值作為指針的劃線位置,就可以畫出指針了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2頁畫指針
LcdWriData(Oxfe):
模擬指針位置是標度尺下邊也就是第2頁,當然在劃線前先進行一次擦除原有指針的操作。界面中信號強度指示和音量指示的方法和頻率刻度類似,涉及數(shù)量少,就不多說了。
程序中關于存臺和回放的實現(xiàn):載用的辦法是,搜索到電臺以后,在M8的EEPROM中把電臺的上述頻率點按先后存起來,存放地址是Ox10—Ox19.可以存10個臺。在Oxla單元存放存臺位置,就是下一個存臺單元地址(存臺指針)。那么按下存臺鍵以后,先在Oxla讀出存臺指針,然后按指針位置把頻率點寫入EEPROM.也寫入新的存臺指針。當存滿10個臺后,繼續(xù)存就又從Oxl0開始;胤艅t是順序循環(huán)讀出Oxl0—Ox19中的頻率點,再調(diào)諧到備點就行了。當然在編程中一定要設定熔絲位BOD,使EEPROM在斷電時能可靠保護數(shù)據(jù)。
標尺起點位于14點處。畫調(diào)諧模擬指針就是根據(jù)每次按調(diào)諧鍵S1或搜索鍵S2操作5807調(diào)臺或搜臺后,從5807讀出頻率點chanl,把它除以2后的值作為指針的劃線位置,就可以畫出指針了。也就是:
Pin=chanl》l:
LcdSewy(Pin, 2)∥在第2頁畫指針
LcdWriData(Oxfe):
模擬指針位置是標度尺下邊也就是第2頁,當然在劃線前先進行一次擦除原有指針的操作。界面中信號強度指示和音量指示的方法和頻率刻度類似,涉及數(shù)量少,就不多說了。
程序中關于存臺和回放的實現(xiàn):載用的辦法是,搜索到電臺以后,在M8的EEPROM中把電臺的上述頻率點按先后存起來,存放地址是Ox10—Ox19.可以存10個臺。在Oxla單元存放存臺位置,就是下一個存臺單元地址(存臺指針)。那么按下存臺鍵以后,先在Oxla讀出存臺指針,然后按指針位置把頻率點寫入EEPROM.也寫入新的存臺指針。當存滿10個臺后,繼續(xù)存就又從Oxl0開始;胤艅t是順序循環(huán)讀出Oxl0—Ox19中的頻率點,再調(diào)諧到備點就行了。當然在編程中一定要設定熔絲位BOD,使EEPROM在斷電時能可靠保護數(shù)據(jù)。
上一篇:元件選擇
上一篇:各元件調(diào)試
熱門點擊
- 電磁轉差離合器
- 正向傳輸導納yfS的頻率特性例
- 使用PNP晶體管的渥爾曼電路
- 功率損耗的計算
- 采用達林頓連接的高輸入阻抗放大電路
- 共發(fā)射極放大電路的工作點
- 高增益、高輸入阻抗放大電路
- 采用光MOS的模擬開關
- 源極跟隨器+OP放大器
- 電動機的無功補償
推薦技術資料
- 硬盤式MP3播放器終級改
- 一次偶然的機會我結識了NE0 2511,那是一個遠方的... [詳細]