一、实验目的
(1) 掌握a/d转换器与总线外设的接口方法。
(2)将传感器连接到adc0809的模拟输入端。
二、设备
pc,74ls74 74ls175 集成电路。
三、编程提示
(1)电位器分接电源,接地,中心轴头接in0~in7.,eoc连接irq2中断请求端,jp0~jp4选择连接器,右跳ram,选择开关k11,k12,右跳ram位置。
四、汇编代码
五、结果分析data segmentioport equ 0ff00h-0280hio0809a equ ioport+298hts1 db 'a/d start.', 0dh, 0ah, '$'ts2 db 'a/d end.', 0dh, 0ah, '$'buf dw 300 dup(?)data endsstack segmentsta dw 20 dup(?)top equ length stastack endscode segmentassume cs:code, ds:data, ss:stackstart: mov ax, datamov ds, axmov ax, stackmov ss, axmov sp, toplea dx, ts1mov ah, 9int 21hmov cx, 300conv: mov dx, io0809amov al, 0out dx, alcall adintmov ax, silea di, bufmov [di], aland al, 0f0hpush cxmov cl, 4shr al, clpop cxadd al, 30hcmp al, 39hjbe displadd al, 07hdispl: mov dl, almov ah, 2int 21hmov al, [di]inc diand al, 0fhadd al, 30hcmp al, 39hjbe disphadd al, 07hdisph: mov dl, almov ah, 2int 21hmov dl, 20hmov ah, 2int 21hint 21hloop convlea dx, ts2mov ah, 9int 21hadint proc nearpush axpush bxpush cxmov cx, 0ffffhdelay: mov bx, 2fhdelay1:dec bxcmp bx, 0jnz delay1loop delaymov dx, io0809ain al, dxmov si, axpop cxpop bxpop axretadint endpcode endsend start
电压 | 十进制 | 十六进制 |
0 | 0 | 0 |
0.5 | 26 | 1a |
1 | 53 | 35 |
1.5 | 78 | 4e |
2 | 105 | 69 |
2.5 | 133 | 85 |
3 | 157 | 9d |
3.5 | 180 | b4 |
4 | 207 | cf |
4.5 | 235 | eb |
5 | 255 | ff |
x‘ | 2.5 |
y’ | 129.9 |
Sxx | 68.75 |
Syy | 3506 |
b | 51 |
a | 1.5 |