我們在利用51單片機時,七段數碼管是一種十分常見的輸出設備,可用于顯示數字和字母。數碼管分為兩種,共陰極和共陽極,兩種數碼管的編碼體例分歧,應該若何實現這個功能?
起首我們打開Keil μVision編譯軟件,新建一個工程,然后保留在硬盤上的位置,然后選擇Atmel-AT89C51單片機為當前的型號,并添加啟動器STARTUP.A51文件,然后在當前目次下新建一個C文件,并將其添插手工作路徑,如圖所示
可以看見此時我們已經建立了一個空白的C文件,為了操縱51單片機現當作的端口,可以利用#include <reg51.h>來導入AT89C51的端口
起首我們界說需要用到的端口以及變量,可覺得小數點位建立一個sbit變量進行操作,4位數碼管可利用一個數組來存儲當前四位數值
按照數碼管編址道理,7段是由a-g加上小數點位dp組成的,現實的二進制碼為從dp、g、f、e、d、c、b、a共八位,若是要使該段亮則為1,不然為0,最后需要轉換為16進制
可以利用系統自帶的計較器作為參考,將對應的段碼以1點亮,最后將轉換出的16進制數填入數組中,以此類推完當作0~9共十個數字的編碼
最后我們編寫并完美本家兒法式,添加掃描函數以必然的頻率掃描顯示數組中的十六進制數,即可實現同時顯示四位數字的結果,最后以一數字電壓表為例進行數碼管顯示的測試
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!