專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
在本文中,使用8051單片機(jī)制作一個(gè)簡(jiǎn)單的0-5V電壓表。該數(shù)字電壓表的靈敏度為200mV,這有點(diǎn)低,但該項(xiàng)目旨在演示如何將ADC和七段顯示器連接到8051單片機(jī)以獲得輸入電壓的數(shù)字讀數(shù)。
在這個(gè)案例中,ADC0804是ADC,使用的單片機(jī)是AT89S51。在嘗試這個(gè)案例之前,請(qǐng)先了解怎么將ADC連接到8051單片機(jī)和將七段顯示器連接到8051單片機(jī),這將使您對(duì)基礎(chǔ)知識(shí)有一個(gè)很好的了解。
一、數(shù)字電壓表電路圖
在電路中,ADC的Vref/2(pin9)保持開(kāi)路,這意味著輸入電壓跨度可以是o到5V,步長(zhǎng)將為5/255=19.6mV。ADC0804數(shù)字輸出的公式為Dout=Vin/步長(zhǎng)。在該電路中,對(duì)于1V的輸入電壓,數(shù)字輸出將是1/19.6mV=51,因此51的二進(jìn)制等效值,即00110011。ADC的數(shù)字輸出連接到微控制器的P1.0。ADC的控制信號(hào),即CS、RD、WR和INTR分別來(lái)自微控制器的P3.7、P3.6、P3.5和P3.4引腳。2位多路復(fù)用七段顯示器連接到微控制器的端口0。顯示驅(qū)動(dòng)晶體管Q1和Q2的控制信號(hào)從微控制器的P3.2和P3.1獲得。按鈕開(kāi)關(guān)為S1。
首先,程序控制ADC產(chǎn)生與輸入電壓相對(duì)應(yīng)的數(shù)字輸出。該數(shù)字輸出通過(guò)P1.0掃描并加載到累加器。然后將累加器中的值除以10以省略最后一位。例如,讓輸入電壓為4V。那么ADC對(duì)應(yīng)的數(shù)字輸出將是204D(D代表十進(jìn)制)。除以10后,累加器中剩下的值為20D。然后將該20D乘以2D,結(jié)果為40D。該程序的下一個(gè)目標(biāo)是操縱這個(gè)40D并在顯示器上進(jìn)行4.0讀數(shù)。為此,將40D再次除以10D。這導(dǎo)致累加器內(nèi)部為4,B寄存器內(nèi)部為0。然后程序使用查找表獲取4的數(shù)字驅(qū)動(dòng)模式,將此模式放在端口0上并激活Q1。在1ms延遲后,10000000B被加載到P0,這就是點(diǎn)。再經(jīng)過(guò)1ms延遲Q1停用后,B中的內(nèi)容(即0)移至A,使用查找表獲取0的正確數(shù)字驅(qū)動(dòng)模式,將此模式放在端口0上并激活Q2。再經(jīng)過(guò)1ms延遲后,Q2將停用,并重復(fù)整個(gè)周期。
二、基于8051數(shù)字電壓表程序
ORG 00H MOV P1,#11111111B MOV P0,#00000000B MOV P3,#00000000B MOV DPTR,#LABEL MAIN: CLR P3.7 SETB P3.6 CLR P3.5 SETB P3.5 WAIT: JB P3.4,WAIT CLR P3.7 CLR P3.6 MOV A,P1 MOV B,#10D DIV AB MOV B,#2D MUL AB MOV B,#10D DIV AB SETB P3.2 ACALL DISPLAY MOV P0,A ACALL DELAY MOV P0,#10000000B ACALL DELAY MOV A,B CLR P3.2 SETB P3.1 ACALL DISPLAY MOV P0,A ACALL DELAY CLR P3.1 SJMP MAIN DELAY: MOV R3,#02H DEL1: MOV R2,#0FAH DEL2: DJNZ R2,DEL2 DJNZ R3,DEL1 RET DISPLAY: MOVC A,@A+DPTR RET LABEL: DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 6FH END
以上就是英銳恩單片機(jī)開(kāi)發(fā)工程師分享的“使用8051單片機(jī)制作數(shù)字電壓表”。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開(kāi)發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)。