Ⅰ 單片機簡易數字電壓表電子元器清單那些
下面是製作簡易數字電壓表所需的單片機電子元器清單:
單片機:這是製作數字電壓表的核心元器件,負責控制電壓表的運行。
液晶顯示屏:用於顯示電壓表測量結果。
電阻:用於分壓和模擬模數轉換。
放大器:用於放大微小的電壓信號。
電壓參考源:用於校準電壓表的測量精度。
開關:用於控制電壓表的電源。
插座:用於連接電壓表測量的電壓源。
這些電子元器件是製作簡易數字電壓表的基本要素,如果您想要更復雜的功能,可能還需要其他元器件。希望這些信息能幫到您。
Ⅱ 單片機做簡易電壓表硬體連接問題,高分求解!
1、A2A1A0是abc這三個口嗎?
是的。
2、那個r1是滑動變阻器嗎?我用個1000歐姆電阻代替可以嗎?
這個是滑動變阻器(電位器)。在實際做電壓表時不用這個元件,從電路上看如是測量
5V以下的電壓時, IN0 (26腳)直接接要測量的正極就可以了。如是大於 5V 要做分壓。
3、最後接在負載兩端測電壓的線接在哪兩個口?
上面電路中的 GND 接要測量電路上的 GND。 正極參考第2個問題。
Ⅲ 基於單片機的數字電壓表設計 (請不要完成抄襲)
我給你看看我以前做過的數字電壓表,匯編的
COM EQU 50H ;指令寄存器
DAT EQU 51H ;數據寄存器
RS EQU P2.1 ;LCD寄存器選擇信號
RW EQU P2.2 ;LCD讀/寫選擇信號
E EQU P2.3 ;LCD使能信號
ORG 0000H
LJMP MAIN ;主程序入口地址
ORG 000BH
LJMP BT0 ;T0中斷入口
ORG 0030H ;主程序,初始化
MAIN:
MOV SP,#60H
LCALL INT
MOV 30H,#30H ;電壓整數位
MOV 31H,#02EH ;小數點位
MOV 32H,#30H ;小數個位
MOV 33H,#30H ;小數十位
MOV 34H,#30H ;小數百位
MOV 35H,#56H ;字元"V"
MOV R7,#30H
LCALL STR0 ;顯示字元串0
LCALL DELAY
LCALL STR1 ;顯示字元串1
LCALL DELAY
LCALL N2 ;顯示Voltage=0.000V
;***********定時器初始化程序***********
MOV TMOD,#00H ;定時器T0設為方式0
MOV TH0,#00H ;裝入定時常數定時100us
MOV TL0,#00H
SETB TR0 ;啟動T0
MOV 24H,#08H;裝入T0中斷次數
MOV IE,#82H ;開中斷
LP:
MOV R7,#30H ;顯示緩沖區首地址
LCALL DISPLY
SJMP LP ;循環顯示
LED1:CLR P3.0
RET
DISPLY: ;LCD顯示子程序
MOV COM,#0CAH
LCALL PR1
MOV DAT,30H
LCALL PR2
MOV DAT,31H
LCALL PR2
MOV DAT,32H
LCALL PR2
MOV DAT,33H
LCALL PR2
MOV DAT,34H
LCALL PR2
MOV DAT,35H
LCALL PR2
RET
STR0:
MOV COM,#01H
LCALL PR1
MOV COM,#06H
LCALL PR1
MOV COM,#090H ;設置DDRAM地址
LCALL PR1 ;調寫指令代碼子程序
MOV DPTR,#TAB4
MOV R2,#16
MOV R3,#00H
WRIN0:
MOV A,R3
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R3
DJNZ R2,WRIN0
MOV COM,#0D0H
LCALL PR1
MOV DPTR,#TAB5
MOV R2,#16
MOV R3,#00H
WRIN1:
MOV A,R3
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R3
DJNZ R2,WRIN1
MOV R3,#10H
ZUOYI:
MOV COM,#18H
LCALL PRX
DJNZ R3,ZUOYI
LCALL DELAY00
LCALL DELAY00
LCALL DELAY00
LCALL DELAY00
RET
RET
STR1:
MOV COM,#01H ;LCD清0命令
LCALL PR1 ;調寫指令代碼子程序
MOV COM,#06H ;輸入方式命令,游標右移
LCALL PR1 ;調寫指令代碼子程序
MOV COM,#40H
LCALL PR1
MOV R5,#20H
MOV DPTR,#ZI
MOV R4,#0
LOOP1:MOV A,R4
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R4
DJNZ R5,LOOP1
MOV COM,#80H
LCALL PR1
MOV DPTR,#TAB2
MOV A,#00H
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
MOV A,#01H
MOV DPTR,#TAB2
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
MOV A,#02H
MOV DPTR,#TAB2
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
MOV A,#03H
MOV DPTR,#TAB2
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
MOV R1,#00H
MOV R0,#0dH
MOV DPTR,#TAB3
LOOP2:MOV A,R1
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R1
DJNZ R0,LOOP2
RET
N2: MOV COM,#0C0H
LCALL PR1
MOV DPTR,#TAB1
MOV R2,#10
MOV R3,#00H
WRIN:
MOV A,R3
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R3
DJNZ R2,WRIN
RET
TAB1: DB "VOLTAGE = "
TAB2: DB 00H
DB 01H
DB 02H
DB 03H
DB 04H
DB 05H
TAB3:DB "10701 tcw "
ZI: DB 009H,00AH,00CH,01FH,00CH,00AH,00CH,009H
DB 004H,004H,01FH,004H,00AH,00AH,011H,000H
DB 004H,004H,01FH,01FH,01FH,004H,007H,000H
DB 004H,00EH,010H,00EH,000H,00EH,003H,000H
TAB4:DB " welcome ! "
TAB5:DB "DESIGN BY tcw"
TAB6:DB "123456"
;********************************************************************
;定時器T0中斷服務子程序,讀取ADC0809第0通道的A/D轉換結果並化為顯示值*
;********************************************************************
BT0:
PUSH ACC
PUSH PSW
MOV PSW,#08H
CLR TR0
MOV TH0,#00H ;重新裝入初值
MOV TL0,#00H
DEC 24H
MOV A,24H
JNZ RTN1
MOV 24H,#08H
LCALL ADC
RTN1: SETB TR0
POP PSW
POP ACC
RETI
ADC:
MOV DPTR,#0F6FFH
MOV A,#0 ;選擇通道0
MOVX @DPTR,A ;啟動AD轉換
MOV A,#40H
DJNZ ACC,$
MOVX A,@DPTR
MOV 22H,A
MOV 21H,#0CCH
CJNE A,21H,BJ0
BJ0:JNC LED
SJMP LL0
LL0:SETB P3.0
SJMP LL
LED:LCALL LED1
LL: MOV A,22H
MOV B,#05H ;A/D轉換結果化為顯示值
MUL AB ;(AD*5)/256
MOV 30H,B ;AD*5的高位元組為整數部分
MOV B,#0AH
MUL AB ;AD*5的低位元組為/256的結果,為小數部分
MOV 32H,B ;二進制小數換為10進制數
MOV B,#0AH
MUL AB
MOV 33H,B
MOV B,#0AH
MUL AB
MOV 34H,B
MOV A,30H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV 30H,A
MOV A,32H
MOVC A,@A+DPTR
MOV 32H,A
MOV A,33H
MOVC A,@A+DPTR
MOV 33H,A
MOV A,34H
MOVC A,@A+DPTR
MOV 34H,A
RET
TAB: DB "0123456789"
;*****************************************
;****LCD間接控制方式下的初始化子程序******
;*****************************************
INT:
LCALL DELAY
MOV COM,#38H ;設置工作方式
LCALL PR1
MOV COM,#01H
LCALL PR1
MOV COM,#06H
LCALL PR1
MOV COM,#0CH
LCALL PR1
RET
DELAY: ;延時子程序
MOV R6,#0FH
MOV R7,#00H
DELAY1:
NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
DELAY00: ;延時子程序
MOV R6,#0FFH
MOV R7,#0FFH
DELAY0:
NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
;*********************************************
;*******LCD間接控制方式下的驅動子程序*********
;*********************************************
;2 寫指令代碼子程序
PRX:
PUSH ACC
CLR RS
SETB RW
PR110:
MOV P0,#0FFH
SETB E
LCALL DELAY00
NOP
MOV A,P0
CLR E
JB ACC.7,PR11
CLR RW
MOV P0,COM
SETB E
CLR E
POP ACC
RET
PR1:
PUSH ACC
CLR RS
SETB RW
PR11:
MOV P0,#0FFH
SETB E
LCALL DELAY
NOP
MOV A,P0
CLR E
JB ACC.7,PR11
CLR RW
MOV P0,COM
SETB E
CLR E
POP ACC
RET
;3 寫顯示數據子程序
PR2:
PUSH ACC
CLR RS
SETB RW
PR21:
MOV P0,#0FFH
SETB E
LCALL DELAY
MOV A,P0
CLR E
JB ACC.7,PR21
SETB RS
CLR RW
MOV P0,DAT
SETB E
CLR E
POP ACC
RET
END