标题: 单片机电压表(ADC0809)实验汇编代码 [打印本页]
作者: xiaosongsong 时间: 2019-6-19 15:23
标题: 单片机电压表(ADC0809)实验汇编代码
要求:通过并行模拟数字转换器芯片ADC0809,测试模拟电压并且显示(0-5V)。
实验箱上“串并转换数码管显示”区提供了四个8段数码管显示电路,采用静态方式显示。数码管是由74LS164串并转换后输出得到。当74LS164有数据输入时,发来一个时钟74LS164数据向下一段转移。若满8个时钟则点亮一个8段数码管,然后发生位移,数据向下一位数码管传送,即串行输入的数据可依次在4个数码管上显示。数码管上显示实时温度值。
实验箱“数模转换”区提供ADC0809电路。
参考接线:
(1) 把AD0809的零通道09IN0孔用连线接至模拟信号发生器的VIN孔。
(2)AD0809的片选信号CS09孔接“译码器”YC2(0A000-0AFFFH)孔。
(3)“脉冲源”中的0.5MHZ孔连AD0809的CLOCK孔。
(4)CLK -- P1.1;DIN -- P1.2
数码管的显示码:
uint8 LED_Table[16]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0x3e, 0xe0,
0xfe,0xe6,0xee,0x3e,0x9c,0x7a, 0x9e,0x8e};
汇编代码:
程序代码
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV LED_0, #00H
MOV P2, #0FFH
MOV LED_1, #00H
MOV LED_2, #00H
MOV DPTR, #TABLE
MOV TMOD, #02H
MOV TH0, #245H
MOV TL0, #00H
MOV IE, #82H
SETB TR0
WAIT: CLR ST
SETB STH
CLR ST
JNB EOC, $
SETB OE
MOV ADC, P1
CLR OE
MOV A, ADC
MOV B, #51
DIV AB
MOV LED_2, A
MOV A, B
MOV B, #5
DIV AB
MOV LED_1, A
MOV LED_0, B
LCALL DISP
SJMP WAIT
INT_T0: CPL, CLOCK
RETI
DISP: MOV A, LED_0
MOVC A, @A+DPTR
CLR P2.3
MOV P0, A
LCALL DELAY
SETB P2.3
MOV A, LED_1
MOVC A,@A+DPTR
CLR P2.2
MOV P0, A
LCALL DELAY
SETB P2.2
MOV A, LED_2
MOVC A, @A+DPTRL
CLR P2.1
ORL A, #80H
MOV P0, A
LCALL DELAY
SETB P2.1
RET
DELAY: MOV R6, #10
D1: MOV R7, #250
DJNZ R7, $
DJNZ R6, D1
RET
TABLE: DB 3FH, 06H, 5BH, 4FH, 66H
DB 6DH, 7DH, 07H, 7FH, 6FH
END
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |