基于89c51單片機的數字電壓表設計
2.1初始化程序
系統上電,初始化程序將70H~77H內存單元清0,P2口置0.系統默認為循環(huán)顯示8個(gè)通道的電壓值,當進(jìn)行一次測量后,將顯示每一通道的A/D轉換值,每個(gè)通道顯示時(shí)間為1s.70H~77H內存單元存放采樣值,78H~7BH內存單元存放顯示數據,依次為個(gè)位、十位、百位、通道標志位。
2.2 A/D轉換子程序
A/D轉換子程序用來(lái)控制對0809/k路模擬輸入電壓的A/D轉換,并將對應的數值存入70H~77H內存單元。
2.3示子程序
顯示子程序采用動(dòng)態(tài)掃描實(shí)現四位數碼管的數值顯示。測量數據在顯示時(shí)需轉換成BCD碼放在78H~7BH內存單元中,其中7BH存放通道標志數。
R3作為8路循環(huán)控制,R0用作顯示數據指針。
3結論
數字電壓表可以測量0~5的8路電壓值。89C51為8位處理器,當0809輸入電壓為5.00V時(shí),輸出數據為255(FFH)。因此最大分辯率為O.0196V(5/255)。如要獲得更高的精度要求,應采用12位、13位的A/D轉換器。數字電壓顯示可能有偏差,可以通過(guò)校正0809的基準電壓來(lái)解決,或者用軟件編程來(lái)校正測量值。
本系統用單片機89C51構成數字電壓表控制系統,具有精度高、速度快、性能穩定和電路簡(jiǎn)單且工作可靠等特點(diǎn),具有很好的使用價(jià)值。
參考文獻:
[1].AT89c51datasheethttp://www.dzsc.com/datasheet/AT89c51_810155.html.
[2].ADC0809datasheethttp://www.dzsc.com/datasheet/ADC0809_123186.html.
[3].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[4].BCDdatasheethttp://www.dzsc.com/datasheet/BCD_1225719.html
評論