微机课程设计.docx
- 文档编号:9954418
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:7
- 大小:16.72KB
微机课程设计.docx
《微机课程设计.docx》由会员分享,可在线阅读,更多相关《微机课程设计.docx(7页珍藏版)》请在冰豆网上搜索。
微机课程设计
课程设计报告
课程名称:
微机系统原理与接口
设计题目:
Pc系统双机通信
指导教师:
欧晓鸥
时间:
2010~2011学年第1学期
学生姓名:
鲍丽娟
学号:
07705238
南京人口学院信息科学系
课程设计题目
Pc系统双机通信
课程设计详细内容:
一、应用要求
设计两台计算机的通信,具体要求如下:
(1)用8251A可编程接口电路设计该电路,系统提供时钟100KHz
(2)异步通讯的波特率是4800,数据位是7位,偶检验,1位停止位。
双方使用双工通信方式。
(3)设计电路并编写有关程序。
二、设计分析
该设计要求异步通信方式,系统提供的时钟384KHZ,使用波特率因子16或64都无法获得4800KHZ的频率。
那么首先对信号进行分频处理,是提供给8251的时钟频率符合要求。
要求Td=4800HKz,波特率因子=16,Tc=16*4800=76800Hz=76.8KHz
分频洗漱384000/76800=5.
使用8253分频电路,输入频率384HKz,计数值=5,输出频率是76.8kHz。
该设计要求采用双工的通信方式,系统可以考虑采用中断实现实时的收发处理。
设计一个中断电路,无论发送完成(TxRDY)还是接收到数据(RxRDY),它都能产生中断。
三、设计实现
a)硬件设计
硬件电路如图所示,A机和B机组成了一对可以实现双工通信的计算机系统。
(b)软件设计
A机:
8251电路的工作方式字地址是60H,命令控制字的地址是60H,状态字地址是60H,发送数据的数据输出端口地址是61H。
8253的工作方式寄存器地址是43H,通道0的地址是40H,计数值是5。
8259的中断类型号是10000010B,向量地址是1000001000B,208H。
208H~20BH:
中断服务器程序的首地址。
B机:
8251电路的工作方式字地址是50H,命令控制字地址是1100101000B,328H。
328H~32BH:
中断服务程序的首地址。
其工作方式字为:
01111010B=7AH
四、程序如下:
1.A机的程序如下:
;中断服务程序初始化
MOVAX,0000H
MOVDS,AX;设置数据段地址
MOVAX,OFFSETIRQ2SEV
MOVSI,208H
MOV[SI],AX;中断服务偏移地址
MOVAX,SEGIRQ2SEV
MOVSI,20AH
MOV[SI],AX;中断服务端地址
CLI;关中断
;8253分频电路初始化
MOVAL,00010110B;设置通道0工作方式3,二进制
OUT43H,AL
MOVAL,05
OUT40H,AL;计数值5
;8251异步通信初始化
MOVAL,7AH;异步工作方式7位数据位,偶校
OUT60H,AL验,1位停止位
;收发数据的首地址和长度初始化
MOVSI,SENDBUFF
MOVDI,RECVBUFF
MOVCX,SENGLEN
MOVBX,RECVLEN
MOVFLAG,0
;允许8259的IRQ2中断
CLI
INAL,21H;该当前中断屏蔽寄存器
ANDAL,0FBH;使IRQ2允许中断
OUT21H,AL
;主程序
STI;开中断
MAIN:
MOVAL,[SI]
OUT61H,AL;发送数据
MAIN1:
JMPMAIN1
;中断服务程序
IRQ2SEV:
INAL,60H
TESTAL,02;是否接受中断
JNZCRECV;是,转入接收中断处理
MOVAL,SFLAG;是否已经发送完毕
TESTAL,01H
JZSEXIT;是,不再发送
INCSI
MOVAL,[SI]
OUT61H,AL
DECCX
JNZSEXIT;判断发送已经结束
MOVAL,O
OUT60H,AL;不允许发送
MOVSFLAG,01;设置停止发送标志
SEXIT:
STI
IRET
CRECV:
TESTAL,38H
JNZERR;出错处理略
INAL,61H
TESTAL,‘END’;判断接收的字符是否为结束字符
JZSHLT;是,设置结束标志
MOV[DI],AL;否,保存数据
INCDI
JMPSEXIT
SNLT:
CLI
IRET
2.B机的程序如下:
;中断服务程序初始化
MOVAX,0000H
MOVDS,AX;设置数据段地址
MOVAX,OFFSETIRQ2SEV
MOVSI,208H
MOV[SI],AX;中断服务偏移地址
MOVAX,SEGIRQ2SEV
MOVSI,20AH
MOV[SI],AX;中断服务端地址
CLI;关中断
;8253分频电路初始化
MOVAL,00010110B;设置通道0工作方式3,二进制
OUT43H,AL
MOVAL,05
OUT40H,AL;计数值5
;8251异步通信初始化
MOVAL,7AH;异步工作方式7位数据位,偶校
OUT60H,AL验,1位停止位
;收发数据的首地址和长度初始化
MOVSI,SENDBUFF
MOVDI,RECVBUFF
MOVCX,SENGLEN
MOVBX,RECVLEN
MOVFLAG,0
;允许8259的IRQ2中断
CLI
INAL,21H;该当前中断屏蔽寄存器
ANDAL,0FBH;使IRQ2允许中断
OUT21H,AL
;主程序
STI;开中断
MAIN:
MOVAL,[SI]
OUT61H,AL;发送数据
MAIN1:
JMPMAIN1
;中断服务程序
IRQ2SEV:
INAL,60H
TESTAL,02;是否接受中断
JNZCRECV;是,转入接收中断处理
MOVAL,SFLAG;是否已经发送完毕
TESTAL,01H
JZSEXIT;是,不再发送
INCSI
MOVAL,[SI]
OUT61H,AL
DECCX
JNZSEXIT;判断发送已经结束
MOVAL,O
OUT60H,AL;不允许发送
MOVSFLAG,01;设置停止发送标志
SEXIT:
STI
IRET
CRECV:
TESTAL,38H
JNZERR;出错处理略
INAL,61H
TESTAL,‘END’;判断接收的字符是否为结束字符
JZSHLT;是,设置结束标志
MOV[DI],AL;否,保存数据
INCDI
JMPSEXIT
SNLT:
CLI
IRET
五、课程设计总结与体会
本学期学习的微机系统原理与接口基本上都是以理论的形式,书上那些原理性的东西就算掌握了在动手做实验的时候还是会遇到很多的问题,当然理论的东西很重要,如果那些理论性的东西的都没吸收怎么指导实验呢!
在这次的课程设计中,我学到了很多,从而也发现自己对微机系统原理的掌握远远不够。
所以在以后的学习生活中,要继续更加深入的学习微机系统原理与接口的相关知识!
学生(签字)
20101___年__1___月___4__日
指导教师评语:
课程设计成绩:
指导教师(签字)_______________
_____年_____月_____日
教研室意见:
教研室主任(签字)
_____年_____月_____日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 课程设计