我目前只會51學習板上各個獨立的模塊,像這個按不同的鍵,數碼管顯示不同的數據該怎么實現呢?
2016年11月底江蘇理工學院“STC選拔賽”——試題2.doc
(59 KB, 下載次數: 18)
2017-11-16 22:23 上傳
點擊文件名下載附件
暨藍橋杯(單片機組)校內選拔賽試題二
“簡易電度表” 設計任務書 功能簡述 通過競賽硬件平臺模擬簡易電度表的工作流程:通過按鍵切換電度表的不同功能,通過數碼管顯示當前的時分秒、費率、用電量及總費用;通過光敏電阻檢測環境亮度,在亮度過低的情況下,自動電度表照明燈。系統硬件電路主要由單片機控制電路、數碼管顯示電路、A/D 轉換電路及功能按鍵組成。系統框圖如圖1 所示: 圖1 系統框圖 I2C 總線驅動程序、考試平臺電路原理圖以及本題所涉及到的芯片數據手冊,可參考計算機上的電子文檔(文件夾位于E盤)。程序及相關工程文件請以考生號命名,并保存在計算機上的考生文件夾中(文件夾名為考生準考證號,文件夾位于Windows 桌面上)。 設計任務及要求 1. 按鍵控制單元 設定按鍵S1 為啟動控制按鍵,當S1 按下后,電度表開始計算用電量(指示燈L1 點亮)。設定按鍵S2 為時分秒控制按鍵,當S2 按下后,電度表顯示當前的時分秒。設定按鍵S3為電費計算按鍵,當S3按下后,電度表計算總費用。 2. 數碼管顯示單元 通過4 位數碼管DS1 顯示費率(單位為元/度,保留2位有效數字)和當前小時(單位為小時); 通過4 位數碼管DS2 顯示當前分鐘、秒和總價(停止時,單位為元):按下啟動按鍵S1后,清除數碼管DS1和DS2 顯示數據,數碼管DS1顯示費率(0.52元/度),數碼管DS2 實時顯示用電量(單位為度,保留2位有效數字),在啟動狀態下,再次按下S1,不會影響啟動狀態;按下時分秒按鍵S2后,數碼管DS1實時顯示當前小時,數碼管DS2實時顯示當前分鐘和秒;按下下車結算按鍵S3后,數碼管DS1顯示總用電量,數碼管DS2 顯示總價(保留2位有效數字)。 例:當啟動按鍵S1 按下后,數碼管示意圖如圖2 所示: 圖2 電度表啟動狀態數碼管顯示 當時鐘按鍵S2 按下后,數碼管示意圖如圖3 所示: 圖3電度表時鐘狀態數碼管顯示 當電費結算按鍵S3按下后,數碼管示意圖如圖4所示: 圖4 電度表電費結算數碼管顯示 3. AD 轉換單元 通過光敏電阻RD1 和AD 轉換芯片組成的電表照明控制電路(亮度值轉換為光敏電阻通道的電壓);當光敏電阻通道輸入電壓小于1.25 V 時,L2點亮,大于1.25V 時,L2 熄滅。 4. 系統說明 假定費率為0.52元/度,速度為0.1度/秒;
一、按鍵控制功能實現 1.S1啟動功能實現(5分) 2.S2時鐘功能實現(5分) 3.S3電費結算功能實現(5分)
二、數碼管顯示功能實現 1.啟動狀態數碼管顯示實現(15分) 2.時鐘狀態數碼管顯示實現(15分) 3.電費結算狀態數碼管顯示實現(15分)
三、電費速度功能實現 1.電費速度為0.1度/秒(15分)
四、AD采集及LED 控制功能實現 1.AD采集功能實現(20) 2.LED根據光照實現通斷功能(5)
|