java怎么拦截某个对象
253
2022-10-27
AD转换接口实验
实验目的
1、掌握A/D转换器0809的工作原理及其与8031的连接方法。
2、掌握A/D转换的程序设计。
实验板中,A/D接口采用0809芯片,其接口连接如图6-1示。8路模拟输入,由A、B、C三脚选择。输入Vin=0~5V时,相应输出00H~FFH。
实验步骤:
1、 输入程序。
2、采用设置断点和连续执行方式,运行程序。检查模拟输入电压和A/D转换结果之间是否互相对应。
思考题:
1、中断法A/D采样程序,中断子程序中为什么要再次启动A/D?
2、仿真调试中,如何确认中断已经响应?
3、如果采集8路输入,程序如何改写?
(二)A/D演示实验
实验内容:
实验板的最左二位数码管显示0809通道1的A/D转换结果(16进制数字量),它经标度变换后得到的模拟输入电压值(10进制)显示在最右三位,两者之间以“一”号分开。
设A/D转换结果为数字量N,则对应的模拟输入大小为 。可见,只要将乘积5×N的小数点右移8位,就能实现标度变换了。
参考程序:
ORG 0000H | ||
LJMP MAIN | ||
ORG | ||
MAIN: | MOV SP, #60H | ;设置堆栈 |
MOV DPTR, #0B000H | ;8155命令字 | |
MOV A, #03H | ||
MOVX @DPTR, A | ;A、B口输出,C口输入 | |
MOV R0, #2AH | ;显示初始化 | |
MOV A, #11H | ;全部亮“一” | |
ML0: | MOV @R0, A | |
INC R0 | ||
CJNE R0, #30H, ML0 | ||
DIS: | LCALL DISP | ;调用显示 |
LCALL AD1 | ;调用A/D | |
MOV A, 50H | ;采样值高8位送显示缓冲2A | |
ANL A, #0F0H | ||
SWAP A | ||
MOV 2AH, A | ||
MOV A, 50H | ;低8位送显示缓冲2B | |
ANL A, #0FH | ||
MOV 2BH, A | ||
MOV A, 50H | ;标度度换:5×N×2-8 | |
MOV B, #05H | ||
MUL AB | ;结果:整数存B,小数存A | |
PUSH A | ;暂存 | |
MOV A, B | ;整数加亮小数点后送显示2DH | |
ADD A, #14H | ;14H为显示字形码中加亮小数点的偏移量 | |
MOV 2DH, A | ||
POP R3 | ;小数部分变换为BCD码后,存入显示缓冲2EH、2FH | |
MOV R0, #2E | ;调用二进制小数→十进制 | |
LCALL PBTD | ||
SJMP DIS | ||
END |
实验步骤:
1、输入程序。
2、单步执行,观察程序执行过程。
3、连续运行。改变模拟输入的大小,观察显示结果。
思考题:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~