含有“AI:”开头的题目的答案是问chat的,看个乐就行,不一定正确
大年初一,赶着把最后两篇文章发完,嘻嘻
第二段文字是在旧版第四版答案中添加的一个问题:什么情况下要用多路开关?
2。.什么叫采样、采样率、量化、量化单位?12位D/A转换器的分辨率是多少?
2¹²=4096
采样率是指每秒内采集的数字量数目,用fs表示。FSR是D/A转换器的满量程,它近似等于输入为满码时的输出电压值。
3。某一8位D/A转换器的端口地址为220H,已知延时20ms的子程序为DELAY_20MS,参考电压为+5V,输出信号(电压值)送到示波器显示,试编程产生如下波形:
(1)下限为0V,上限为+5V的三角波。(参考例10.2。)
(2)下限为1.2V,上限为4V的梯形波。
4。利用DAC0832产生锯齿波,要求0832工作于双缓冲方式,与8位数据总线相连,地 址译码器输出的口地址为300H和301H。试画出硬件连线图,并编写有关的程序。(参考 例10.3。)
答案一:
另一个答案,直接沿用上一题的1.2V到4V范围:
设下限为1.2V,上限为4V,端口地址为300H产生锯齿波的程序如下:
BEGIN:
MOV AL, 3CH ; AL = 0011 1100B
MOV DX, 300H ; DX = 0300H
AGAIN:
INC AL ; AL = AL + 1
OUT DX, AL ; 将AL的值输出到端口DX上,进行D/A转换
INC DX ; DX = DX + 1
OUT DX, AL ; 将AL的值输出到端口DX上,产生锯齿波
CALL DELAY ; 调用延时子程序
CMP AL, 0CDH ; 比较AL的值是否等于0CDH(205)
JNZ AGAIN ; 如果不相等,则跳转到AGAIN
JMP BEGIN ; 跳转到BEGIN,重新开始循环
5。已知地址译码器输出的译码信号可选中的口地址为300H/301H,302H/303H,试画 出DAC1210与8位数据总线的微处理器相连的硬件连接图。若待转换的12位数字量存在 BUFF开始的单元中,试编写完成一次D/A转换的程序。(参考例10.4。)
6。利用ADC0809等芯片设计的8通道A/D转换电路如图10.15所示。
(1)试画出利用74LS138译码器生成CS1(口地址为300H~307H)和CS2(口地址为 308H~30FH)的译码电路。地址总线为A9~A3,读、写信号用IOR、IOW,译码电路不需要 用M/IO信号。
(2)编写一段数据采集程序,要求对ADC0809的每个通道各采集一个数据,存入BUF 开始的内存单元中。 (参考根据图10.15编写的数据采集子程序,但只要采集8个数据。)
这题搜不到答案,按照原书本上的,估计把313页下面代码的1024改为8
; 设置数据缓冲区始址到SI中,计数初值到BX中,等待中断,每通道采完1024个数后结束中断
MOV SI, OFFSET DBUF ; SI指向数据缓冲区始址
MOV BX,1024 ; BX中存数据计数器初值
STI ; 开中断,等待中断
改为8↓↓↓↓
MOV SI, OFFSET DBUF ; SI指向数据缓冲区始址
MOV BX,8 ; BX中存数据计数器初值
STI ; 开中断,等待中断
(1)试画出硬件连线图。
(2)编写完成上述功能的程序。 (参考图10.16及相关的程序。)
8。利用8255A和AD574A设计数据采集系统,输入模拟电压为0~+10V,若每秒采集 100个数据,转换后的数据字存放在W_BUF开始的缓冲器中,低字节在前,高字节在后,采 满16K字节的数据后停止工作。
(1)试画出硬件连线图。
(2)编写启动AD574A工作和读取转换结果的子程序。
(参考图10.20及相关的程序。)
关注微信公众号,回复“微机原理”获取答案的word文档下载