微机系统与接口:第七章 8250通信编程

上传人:努力****83 文档编号:239827280 上传时间:2024-02-22 格式:PPT 页数:23 大小:90.50KB
收藏 版权申诉 举报 下载
微机系统与接口:第七章 8250通信编程_第1页
第1页 / 共23页
微机系统与接口:第七章 8250通信编程_第2页
第2页 / 共23页
微机系统与接口:第七章 8250通信编程_第3页
第3页 / 共23页
资源描述:

《微机系统与接口:第七章 8250通信编程》由会员分享,可在线阅读,更多相关《微机系统与接口:第七章 8250通信编程(23页珍藏版)》请在装配图网上搜索。

1、 8250通信编程通信编程 (教材(教材P265P269)1、8250初始化初始化(1)设置波特率设置波特率 例如,设波特率为例如,设波特率为9600,查表,查表7.6得,得,波特率因子为波特率因子为12。MOVDX,3FBH ;LCR MOVAL,80HOUTDX,AL ;D71MOVDX,3F8H ;置除数低;置除数低8位位MOVAL,12OUTDX,ALINCDX ;置除数高;置除数高8位位MOVAL,0OUTDX,AL(2)设置串行通信数据格式设置串行通信数据格式例如,数据格式为例如,数据格式为8位数据位,位数据位,1位停止位,位停止位,奇校验。奇校验。MOVAL,00001011BM

2、OVDX,3FBH ;LCROUTDX,AL(3)设置工作方式设置工作方式不用中断方式:不用中断方式:MOVDX,3FCH ;MCR MOVAL,3 ;OUT2=0OUTDX,AL 用中断方式:用中断方式:MOVDX,3FCH;MCR MOVAL,0BH;OUT2=1OUTDX,AL循环测试(自发自收):循环测试(自发自收):MOVDX,3FCH ;MCR MOVAL,13H;LOOP=1OUTDX,AL2、程序查询方式通信程序、程序查询方式通信程序发送程序:发送程序:读读LSR(3FDH)中)中D5位位,检查发送保持,检查发送保持器是否空(器是否空(D5=1)。)。TR:MOVDX,3FDH

3、INAL,DXTESTAL,20HJZTR ;发送保持器不空,转发送保持器不空,转TRMOVAL,SI;发送保持器空发送保持器空,发下一数据发下一数据MOVDX,3F8HOUTDX,AL接收程序:接收程序:读读LSR(3FDH)中)中D0位位,检查接收,检查接收数据寄存器是否就绪(数据寄存器是否就绪(D0=1)。)。RE:MOVDX,3FDHINAL,DXTESTAL,01H JZ RE ;接收缓冲器不满,转接收缓冲器不满,转RE;接收缓冲器满,读数据接收缓冲器满,读数据 MOV DX,3F8H IN AL,DXMOV DI,AL3、用中断方式编程、用中断方式编程1)设置)设置8259的屏蔽字

4、(的屏蔽字(OCW1),),允许串口中断允许串口中断IRQ4 IN AL,21HANDAL,11101111B OUT 21H,AL2)设置中断向量)设置中断向量IRQ4对对IRQ4,中断类型号为,中断类型号为0CH,0CH4=30H。因此,应在。因此,应在30H,31H存放存放IP值,值,32H,33H存放存放CS值。值。假设中断服务程序入口处的标号为假设中断服务程序入口处的标号为“MY_INTR”。*直接写内存方式设置中断向量直接写内存方式设置中断向量*采用采用DOS中断调用设置中断向量中断调用设置中断向量*直接写内存方式设置中断向量直接写内存方式设置中断向量 XOR AX,AX MOV

5、DS,AX MOV AX,OFFSET MY_INTR MOV WORD PTR0030H,AX ;送偏移地址;送偏移地址 MOV AX,SEG MY_INTR MOV WORD PTR 0032H,AX ;送段基址;送段基址*采用采用DOS中断调用设置中断向量:中断调用设置中断向量:MOV AX,SEG MY_INTRMOVDS,AXMOVDX,OFFSET MY_INTRMOVAL,0CHMOVAH,25HINT21H3)设置)设置8250的中断允许寄存器的中断允许寄存器(3F9H)。例如,允许发送与接收中断请求。例如,允许发送与接收中断请求。MOV AL,3MOV DX,3F9H ;IE

6、ROUT DX,AL 4)在中断服务程序中查询)在中断服务程序中查询8250的中断识别寄存器的中断识别寄存器(3FAH)。MY_INTR:MOV DX,3FAH INAL,DX ;读;读IIR TEST AL,02H JZRCVE ;发送中断位;发送中断位=0,;则转;则转“RCVE”处接收处接收SEND:MOV AL,SI ;否则否则,发送数据发送数据 MOVDX,3F8H OUT DX,ALINCSIJMPMY_IRETRCVE:MOVDX,3F8H ;接收数据接收数据INAL,DXMOVDI,ALINCDI5)在中断结束返回时,需要对)在中断结束返回时,需要对8259A发发EOI命令,保

7、证命令,保证8259A可以重新响应中断可以重新响应中断请求。请求。MY_IRET:MOV AL,20HOUT 20H,AL ;发;发EOI命令(命令(OCW)IRET;中断返回;中断返回8250应用举例应用举例例例 按按查询方式查询方式编制一个发送与接收程序,编制一个发送与接收程序,能将键入的每一个能将键入的每一个ASCIIASCII码字符发送出去,并码字符发送出去,并显示在显示在CRTCRT上,同时能把接收到的每一个字符上,同时能把接收到的每一个字符也显示出来。也显示出来。设:设:数据传输速率为数据传输速率为96009600波特,通信格式为波特,通信格式为8 8位数据位,一位停止位,奇校验。

8、位数据位,一位停止位,奇校验。1自发自收自发自收KEY:MOVDX,3FBH ;写;写LCRMOVAL,80hOUTDX,ALMOVDX,3F8H;送波特率常数;送波特率常数MOVAL,12OUTDX,AL ;低;低8位位INCDXMOVAL,0OUTDX,AL ;高;高8位位MOVAL,0BHMOVDX,3FBH OUTDX,AL ;写;写LCR,设通信格式,设通信格式MOVAL,13H ;LOOP=1,自发自收自发自收(MOVAL,03H ;LOOP=0,正常收发)正常收发)MOVDX,3FCH OUTDX,AL ;写;写MCR,设置工作方式,设置工作方式CHECK:MOVDX,3FDH

9、;读;读LSRINAL,DX TESTAL,1 ;查接收缓冲器是否满?;查接收缓冲器是否满?JNZREV ;若满,转;若满,转REVTESTAL,20H ;查发送保持器是否空?;查发送保持器是否空?JZCHECK ;若不空,继续查;若不空,继续查 TR:MOVAH,1 ;读键盘;读键盘INT16HJZCHECK ;无键按下,转;无键按下,转CHECKMOVDX,3F8HOUTDX,AL ;有键入,发送;有键入,发送ASCII码码JMPCHECKREV:MOVDX,3F8H INAL,DX ;读入接收字符;读入接收字符 ANDAL,7FH ;屏蔽;屏蔽B7位位 MOVBX,0041H ;第;第0页,红底蓝字页,红底蓝字 MOVAH,14 INT10H ;显示字符;显示字符 JMPCHECK

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!