北理工微机原理与接口技术之AD8250实验报告Word文档下载推荐.docx
- 文档编号:22916445
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:19
- 大小:62.96KB
北理工微机原理与接口技术之AD8250实验报告Word文档下载推荐.docx
《北理工微机原理与接口技术之AD8250实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北理工微机原理与接口技术之AD8250实验报告Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
(4)将“串口调试助手”程序输入和输出都调整为16进制格式,发送一个16进制数,观察返回的是否是同样一个16进制数。
五,实验程序
程序流程图:
实验源程序:
CODESEGMENTPUBLIC
ASSUMECS:
CODE
ORG100H
START:
MOVDX,486H;
写通信线路控制寄存器D7=1
MOVAX,80H
OUTDX,AX
MOVDX,480H;
设置波特率低字节
MOVAX,12
MOVDX,482H;
设置波特率高字节
MOVAX,0
MOVDX,486H
MOVAX,3
MOVDX,482H;
中断允许寄存器
MOVAX,0
MOVDX,48AH;
清除原始错误状态
INAX,DX
清除原始状态
INAX,DX
LOOP1:
CALLRECV
CALLSEND
JMPLOOP1;
循环发送
SEND:
;
发送子函数
PUSHAX
MOVDX,48AH
TESTAX,20H
JNZSEND2;
发送数据寄存器空,则跳转至SEND2,发送字符
POPAX;
发送数据寄存器不是空,不可发送
JMPSEND
SEND2:
POPAX
MOVDX,480H;
指向发送接收数据寄存器,发送字符
OUTDX,AX
RET
RECV:
;
接收子函数
TESTAX,1
JZRECV;
未接到到一个字符,则跳转至RECV,若接收到字符,则顺序往下执行。
MOVDX,480H;
接收到字符,指向接收缓存器
INAX,DX;
读取接收缓冲区的字符
CODEENDS
ENDSTART
实验现象:
在发送区键入一个16进制数,接受区是同样一个16进制数。
六,思考题
1.连接8255将接收到的16进制数;
驱动8个彩灯;
观察其现象。
将8255的片选连到CS0,将PB0~~PB7依次与LED1~LED8相连接
MOVDX,04A6H;
8255的控制字,B口输出
MOVAX,90H
MOVDX,486H;
8250初始化
MOVDX,480H
MOVDX,482H
CALLRECV;
接收输入的数据
CALLSEND;
将数据发送给上位机
MOVDX,04A2H;
将8250发送的存于AX中的数据,从8255的B口输出,驱动8个LED灯
JNZSEND2
JZRECV
当在“串口调试助手”的发送区键入一个8位的16进制数后,PC机接收区会显示发送的数字,同时8个LED也会对应的亮(或灭)。
2.连接8255将开关的状态以16进制数的方式发送到PC机;
将8个开关连接到8255的PA0~PA7口,在pc机上观察接收区的数据
8255的控制字,A口输入
MOVDX,04A0H;
从8255的A口输入8个开关的状态
INAX,DX
CALLSEND;
将AX中的内容串行发送出去,可在PC机上显示
JMPLOOP1
8个开关的状态循环显示在PC机的接收区,当开关状态改变时,显示的数据也随之改变。
3.连接8255和8253的GATE0;
使用“串口调试助手”程序控制8253的振荡。
将8255的片选接到CS0,将8253的片选接到CS1,8255的B口输出,其中PB0与GATE0相连,CLK3(750KHz)与8253CLK0相连,8253的OUT0与8253CLK2相连,OUT2与发光二极管LED1相连
MOVDX,04B6H;
8253的控制字,计数器0工作于方式3,二进制计数,先读写低八位,再读写高八位
MOVAX,36H
MOVDX,04B0H;
将927CH的初值写入计数器0
MOVAX,7CH
MOVAX,92H
MOVDX,04B6H;
设置计数器2工作于方式3,二进制计数,先读写低八位,再读写高八位
MOVAX,0B6H
MOVDX,04B4H;
給计数器2写初值4H
MOVAX,4
MOVDX,04A6H;
8255的初始化,A口输入,B口输出
8250串行接口的初始化
将AX中的数据(串行发送的数据)从B口输出
JMPLOOP1
任意键入一个最低位是1的8bit的16进制数据,使GATE0置位,则pc机的接收区会显示输入的数据,同时,LED1灯会一直闪烁
七,实验遇到的问题与实验心得
实验遇到的问题:
在做思考题3时,将PB0与GATE0相连,CLK3(750KHz)与8253CLK0相连,8253的OUT0与发光二极管LED1相连,则键入一个8bit的16进制数字后,LED1灯会一直亮或者一直灭,没有闪烁,查了一会儿,发现时时钟CLK3的频率太高,仅经过计数器0分频是不够的,分频后频率依旧很高,LED1灯的闪烁肉眼无法分辨,需要再经过计数器2分频,才能看到灯的闪烁
实验心得:
在8250串行接口实验中,充分体会到了它的“串行”接口作用,特别是8250芯片的编程方法,其清晰的条理使我对它有了更为深刻的理解。
8250与8255并行接口芯片的结合使用,更是体会到了串行通信和并行通信的异同。
实验五ADC0809实验
(1)掌握转换的基本原理。
(2)掌握的使用方法。
按查询方式采样一路A/D转换数据,用简单输入口74LS244查询EOC信号。
每循环一次0通道采样一次。
0通道的采样结果放入AX中,AL有效。
1.连线
实验原理图如下:
其中,将可变电位器AN0与ADC0809的ADIN0相连;
将CS0与ADC0809的片选CS0809端相连;
将ADC0809的EOC与74LS244的IN0相连;
将CS1与74LS244的片选CS244端相连。
2.编辑程序,编译链接后,调试程序。
3.调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。
4.撰写实验报告
实验流程图:
MOVDX,4A0H;
指向通道0
CALLGETAD;
调用A/D转换子程序,取得A/D值
JMPSTART
DELAY:
延时子程序
MOVBP,1000H
DELAY1:
DECBP
CMPBP,0
JNEDELAY1
RET
GETAD:
;
A/D转换子程序
PUSHDX
MOVAX,34H启动A/D
CALLDELAY
MOVDX,4B0H;
指向74LS244地址
WAIT1:
JZWAIT1;
EOC=0,正在变换,跳至WAIT1
POPDX;
EOC=1,依次变换完毕,读取A/D值
MOVAH,0
在“JMPSTART”处设置断点,全速运行到此处,观察到寄存器AX=0045H.当旋转电位器后,AX的值会变化。
1.连接其它通道,修改程序。
将可变电位器AN0与ADC0809的ADIN1相连,其他连线不变。
需要将程序中的“MOVDX,4A0H”改为“MOVDX,4A2H”。
实验现象同上。
2.将采到的数据发送到8250上;
在PC机观察数据。
M1:
MOVDX,4A2H;
指向通道1
CALLGETAD;
CALLSEND;
调用串行发送子程序
JMPM1;
循环等待
;
延时
MOVAX,34H
MOVDX,4B0H
;
JZWAIT1
POPDX
串行发送子程序
可变电位器AN0输出的模拟量经A/D转换后所得的8bit数据显示在pc机的接收区。
旋转电位器,显示的数值也会随之改变。
七,实验心得
通过本次实验,基本掌握了AD转换程序的编写,包括通道的选择、EOC电平的检测和A/D转换子程序的编写,有利于知识的积累。
使用8250串行接口芯片,用上位机观测转换后的8bit数字,直观有趣,当调节电位器时,PC机显示的值会很快随之变化。
自己动手连线,进一步熟悉了ADC0809芯片的电路原理图,与理论知识相结合,学以致用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北理工 微机 原理 接口 技术 AD8250 实验 报告