基于STC89C516RD+的紅外計算器
【技術部】
1系統方案本系統主要由紅外部分、控制系統部分、顯示部分組成,電源直接使用5V直流電。下面分別論證這幾個模塊的選擇。
1.1 紅外部分的論證與選擇由于采用矩陣鍵盤的輸入方式會浪費單片機過多的IO口,且鍵盤掃描函數過于冗長。所以本系統摒棄了矩陣鍵盤的輸入,采用紅外遙控輸入。紅外輸入用紅外遙控器,接收用一體化紅外接收頭。整個紅外接收只用了3個IO口,使系統的電路設計個更為簡便。
1.2 顯示部分的論證與選擇系統顯示部分采用市場出售的基于HD44780液晶芯片的1602液晶顯示器。此類顯示器可顯示數字和常用的字符。適合用于計算器的設計。
1.3 控制部分的論證與選擇控制部分采用單片機STC90C516RD+實現。由于該計算器程序所用的ROM和RAM較小,沒有必要用增強型的1T單片機例如STC12C5A60S2。所以用普通的51單片機即可。系統采用了12M的晶振。實現了對數據的有效處理。
2系統理論分析與計算 開啟系統之后,單片機就一直檢測有無紅外數據的輸入,若有則在單片機中實現數據的處理,后將數據傳輸到1602顯示屏顯示出來。
3電路與程序設計3.1電路的設計3.1.1系統總體框圖由于本系統在普中開發板上實現,沒有另外焊接電路,故系統電路圖省略。
3.1.2 控制部分子系統框圖與電路原理圖
1、控制部分子系統框圖
圖1 控制部分子系統框圖
3.1.3 紅外子系統框圖與電路原理圖1、紅外子系統框圖
圖3 紅外子系統框圖
3.1.4LCD1602顯示子系統框圖與電路原理圖
圖3 LCD1602顯示子系統框圖
3.1.5電源電源直接使用(普中單片機開發板上的)直流5V供電,確保電路的正常穩定工作。這部分電路比較簡單,故不作詳述。
3.2程序的設計3.2.1程序功能描述與設計思路1、程序功能描述
根據題目要求軟件部分主要實現紅外解碼,計算函數和顯示函數。
1)紅外解碼及將鍵值顯示為指定字符。
2)計算器核心計算部分。
3)顯示輸入的算式及結果。
2、程序設計思路
3.2.2程序流程圖1、主程序流程圖
4測試方案與測試結果4.1測試方案1、硬件測試
基于普中單片機開發測試儀測試
4.2 測試結果及分析此設計符合原先設想,一切正常。
綜上所述,本設計達到設計要求。
參考文獻《新概念51單片機c語言教程》 , 《C程序設計》
附錄1:源程序