單片機實現數字電壓表的軟硬件設計
1 硬件設計
整個硬件電路圖如1所示。實現本數字電壓表的主要元件之一是單片機89C51.89C51是ATMEL公司推出的高性能CMOS 8位微控制器,指令和管腳與MCS一51產品兼容,片內帶有4 KB閃爍可編程存儲器。所以不須在外圍電路設置程序存儲器_1].
圖1 硬件電路原理圖
實現本數字電壓表的另一主要元件是數字電位器X9313.X9313是一個包含31個電阻單元的電阻陣,在每個單元之間和兩個端點都有可以被滑動單元訪問的抽頭點,滑動單元的位置可以被儲存在一個非易失性存儲器中。X9313有3個部分:輸入控制、計數器和譯碼部分;非易失性存儲器;以及電阻陣列。CS,U/D 和INC的3個輸入端控制滑動端沿著電阻陣列在 "與 之間移動。當CS,INC都保持為低時,若U/D 為高,滑動端將上升;若U/D 為低,滑動端下降。可以由單片機控制U/D 的狀態,從而控制X9313移動滑動端上升或下降達到合適的微調為止。當CS轉變為高,而INC也是高時,無論U/D 為何值,計數器的值都將被儲存在非易失性存儲器中 ].如果將X9313的 接+ 5V,V 接地,則X9313一個單元代表的電壓數為10/31(V),即(OAH/1FH )c .
被測電壓 與X9313的抽頭電壓 w用電壓比較器339進行比較。339的邏輯功能如下:若輸入端A 的值小于輸入端B的值,則輸出端c為0;若輸入端A 的值大于輸入端B的值,則輸出端C為1.在此,將339的輸入端A 接被測電壓 x,輸入端B接X9313的抽頭電壓w ,其比較結果c通過端口P1.1送到單片機,單片機通過判斷,再用P1.3,P1.2,P1.0分別控制X9313的U/D,INC,CS端子,指揮X9313動作,即是抽頭上滑,下滑還是儲存數據。經多次循環比較,當調整的抽頭電壓 w等于被測電壓 x時,單片機將 u,的數值變為BCD碼送往顯示驅動器CD4511,顯示電壓值。本設計分別用P3.0~P3.3控制顯示第一位數的4511的,B,C,D,用P1.4~P1.3控制顯示第二位數的4511的 ,B,C,D.
評論