一个51单片机+TLC548模数转换芯片做的proteus仿真数字电压表,原理图如下:
电压表的所有资料下载:
电压表.zip
(23.48 KB, 下载次数: 25)
TLC548汇编语言源程序:
- BCD_100 EQU 30H
- BCD_10 EQU 31H
- BCD_1 EQU 32H
- T050MS_NUM EQU 33H
- DLYMS_NUM EQU 34H
- TLC_DATA EQU 35H
- ND_ADC BIT 00H
- DIS_ON BIT P3.4
- TLC_CLR BIT P1.0
- TLC_CS BIT P1.1
- TLC_DAT BIT P1.2
- ORG 0000H
- LJMP MAIN
- ORG 000BH
- LJMP T0_ISR
- ORG 0100H
- MAIN:
- MOV SP,#6FH
- MOV BCD_100,#0
- MOV BCD_10,#0
- MOV BCD_1,#0
- CLR DIS_ON
- MOV T050MS_NUM,#5
- CLR ND_ADC
- MOV TMOD,#01H
- MOV TH0,#3CH
- MOV TL0,#0B0H
- CLR TF0
- SETB ET0
- SETB EA
- SETB TR0
- MAIN_LOOP:
- LCALL LED_DIS_3BIT
- JNB ND_ADC,MAIN_LOOP
- LCALL TLC_ADC
- CLR ND_ADC
- LJMP MAIN_LOOP
- LED_DIS_3BIT:
- MOV DPTR,#LED_TAB
- CLR DIS_ON
- MOV A,BCD_100
- MOVC A,@A+DPTR
- ANL A,#07FH
- MOV P0,A
- ANL P3,#1FH
- ORL P3,#5FH
- SETB DIS_ON
- MOV DLYMS_NUM,#2
- LCALL DELAYMS
- CLR DIS_ON
- MOV A,BCD_10
- MOVC A,@A+DPTR
- MOV P0,A
- ANL P3,#1FH
- ORL P3,#3FH
- SETB DIS_ON
- MOV DLYMS_NUM,#2
- LCALL DELAYMS
- CLR DIS_ON
- MOV A,BCD_1
- MOVC A,@A+DPTR
- MOV P0,A
- ANL P3,#1FH
- ORL P3,#1FH
- SETB DIS_ON
- MOV DLYMS_NUM,#2
- LCALL DELAYMS
- RET
- TLC_ADC:
- SETB TLC_DAT
- CLR TLC_CLR
- CLR TLC_CS
- MOV R6,#8
- TLC_LOOP1:
- SETB TLC_CLR
- NOP
- NOP
- MOV C,TLC_DAT
- RLC A
- CLR TLC_CLR
- NOP
- DJNZ R6,TLC_LOOP1
- SETB TLC_CS
- SETB TLC_CLR
- MOV TLC_DATA,A
- MOV DLYMS_NUM,#1
- LCALL DELAYMS
- SETB TLC_DAT
- CLR TLC_CLR
- CLR TLC_CS
- MOV R6,#8
- TLC_LOOP2:
- SETB TLC_CLR
- NOP
- NOP
- MOV C,TLC_DAT
- RLC A
- CLR TLC_CLR
- NOP
- DJNZ R6,TLC_LOOP2
- SETB TLC_CS
- SETB TLC_CLR
- MOV TLC_DATA,A
- MOV DLYMS_NUM,#1
- LCALL DELAYMS
- MOV A,TLC_DATA
- MOV B,#51
- DIV AB
- MOV BCD_100,A
- MOV A,B
- CJNE A,#50,CAL_10
- DEC A
-
- CAL_10:
- MOV B,#5
- DIV AB
- MOV BCD_10,A
- MOV BCD_1,B
- RET
- DELAYMS:
- MOV R4,#250
- DJNZ R4,$
- MOV R4,#250
- DJNZ R4,$
- DJNZ DLYMS_NUM,DELAYMS
- RET
- T0_ISR:
- MOV TH0,#3CH
- MOV TL0,#0B0H
- DJNZ T050MS_NUM,EXIT_T0
- MOV T050MS_NUM,#5
- SETB ND_ADC
- EXIT_T0:
- RETI
- LED_TAB:
- DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
- DB 88H,83H,0C6H,0A1H,86H,8EH
- END
复制代码 |