基本信息
文件名称:《微机原理与接口技术》补充 16550串行通信芯片简介-教学课件(非AI生成).ppt
文件大小:705.5 KB
总页数:19 页
更新时间:2025-05-22
总字数:约1.66千字
文档摘要

16550串行通信芯片简介主要内容:内部结构主要引脚内部寄存器编程举例*16550内部结构AddressStrobeDriverDisable**寄存器端口地址分配*线路控制寄存器LCR--设置工作模式(使用)线路状态寄存器LSR--反映工作状态*FIFO控制器FCR(写3FAH)中断识别寄存器IIR(读3FAH)*中断允许寄存器IER(使用)MODEM状态寄存器MSR*MODEM控制寄存器MCR*时钟源频率1.8432MHz(实验箱)时钟频率是数据传送波特率的16倍分频系数=1843200/(波特率?16)波特率与分频系数的关系*波特率与分频系数对应表(1.8432MHz)波特率除数高8位除数低8位24000030480000189600000C192000006*IOY0EQU3000H ;片选IOY0对应的端口始地址MY16550_0EQUIOY0+00H*4;16550数据缓冲寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中断允许寄存器端口地址MY16550_3EQUIOY0+03H*4;16550线路控制寄存器端口地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE实验程序清单(T16550-1.ASM)*START:MOVDX,MY16550_3;设置16550线路控制寄存器 MOVAL,80H ;准备设置波特率除数寄存器 OUTDX,AL MOVDX,MY16550_0 ;设置除数寄存器低字节0CH MOVAL,0CH ;000C对应9600bit/s OUTDX,AL MOVDX,MY16550_1 ;设置除数寄存器高字节00H MOVAL,00H OUTDX,AL MOVDX,MY16550_3 ;设置线路控制寄存器,初始化数据格式 MOVAL,1BH ;偶校验,1位停止位,字符宽度为8 OUTDX,AL* MOVDX,MY16550_1 ;设置中断允许寄存器 MOVAL,00H ;中断不打开 OUTDX,ALSEND:MOVDX,MY16550_0 ;向发送缓冲寄存器写数 MOVAL,55H OUTDX,AL CALLDALLY MOVAH,1 ;判断是否有按键按下 INT16H JZSEND ;无按键则跳回继续等待,有则退出QUIT:MOVAX,4C00H ;结束程序退出 INT21H* DALLYPROCNEAR ;软件延时子程序 PUSHCX PUSHAX MOVCX,0100HD1: MOVAX,1000HD2: DECAX JNZD2 LOOPD1 POPAX POPCX RETDALLYENDPCODEENDSENDSTARTEND两重循环*线路控制寄存器LCR--设置工作模式*AH功能返回参数0从键盘读一字符AL=字符码

AH=扫描码1读键盘缓冲区的字符如ZF=0

AL=字符码

AH=扫描码

如ZF=1,缓冲区空2取键盘状态字节AL=键盘状态字节BIOS16H中断*寄存器端口地址分配*线路控制寄存器LCR--设置工作模式线路状态寄存器LSR--反映工作状态*中断允许寄存器IERMODEM状态寄存器MSR*