微机原理课程设计报告双机串行通信.docx
- 文档编号:754026
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:16
- 大小:147.26KB
微机原理课程设计报告双机串行通信.docx
《微机原理课程设计报告双机串行通信.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计报告双机串行通信.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理课程设计报告双机串行通信
河北科技大学
课程设计报告
学生姓名:
学号:
专业班级:
课程名称:
微型计算机原理及应用技术
学年学期:
2012—2013学年第一学期
指导教师:
2013年1月
课程设计成绩评定表
学生姓名
学号
10L0752051
成绩
专业班级
L101
起止时间
设计题目
双机通过两台实验箱串行通信
指
导
教
师
评
语
学习态度:
端正□较端正□一般□较差□
学习纪律:
好□较好□一般□较差□
出勤情况:
好□较好□一般□较差□
方案设计与连线:
好□较好□一般□较差□
程序设计:
好□较好□一般□较差□
动手能力:
强□较强□一般□较差□
团队精神:
好□较好□一般□较差□
创新意识:
强□较强□一般□较差□
课程设计完成情况:
优秀□好□一般□较差□
课程设计报告完成情况:
优秀□好□一般□较差□
指导教师:
年月日
一、设计题目
双机通过两台试验箱串行通讯
二、设计目的
1、掌握8088/86实验串行口通信的方法。
2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
3、学习串行口通讯程序编写方法。
三、设计原理及方案
1、8251A的基本性能
8251A是可编程的串行通信接口芯片,基本性能有:
(1).两种工作方式:
同步方式,异步方式。
同步方式下,波特率为064K,异步方式下,波特率为0~19.2K。
(2).同步方式下的格式
每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。
除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。
(3).异步方式下的格式
每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。
1个启动位。
并能根据编程为每个数据增加1个、1.5个或2个停止位。
可以检查假启动位,自动检测和处理终止字符。
(4).全双工的工作方式
(5).提供出错检测
2、8251A的内部结构
发送器由发送缓冲器和发送控制电路两部分组成。
接收器由接收缓冲器和接收控制电路两部分组成。
数据总线缓冲器,读/写控制电路,调制解调控制电路。
8251A内部结构图
3、8251外部引脚图
8251的外部引脚下图所示,共28个引脚,每个引脚信号的输入输出方式如图中的箭头方向所示。
8251外部引脚图
4、8251A的编程
编程的内容包括两大方面:
一是由CPU发出的控制字,即方式选择控制字和操作命令控制字;
二是由8251A向CPU送出的状态字。
(1)、方式选择控制字(模式字)
方式选择控制字的格式如图所示。
(2)、操作命令控制字(控制字)
操作命令控制字的格式如下:
(3)、状态字
状态字的格式如下:
5、8251A的初始化
8251的初始化和操作流程下图所示。
8251初始化流程图
a)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。
b)如果模式字中规定了8251A工作在同步模式,
c)由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。
四、实现方法
1、程序流程图如下:
主程序
串口发送子程序
2、连线图
连线
连接孔1
连接孔2
1
KEY/LED_CS
CS0
2
8251_CS
CS1
3
8251_TxCLK
1MHz
4
8251_RxCLK
1MHz
5
8251_CLK
10MHz
6
甲方8251_TXD
乙方8251_RXD
7
甲方8251_RXD
乙方8251_TXD
8
甲方GND
乙方GND
3、8251A操作过程流程图
8251A操作过程流程图
4、试验程序(见附录)
五、实施结果
双机串行通信实现了数据的双项收发。
两台试验箱A,B可相互发送、接受数据。
在一台小键盘键入字符,由8251A的发送端发送给另一台的8251A的接收端接收,然后在另一台LED数码显示器上显示出来。
同样另一台也可做发送端发送字符。
六、改进意见及建议
本次课程设计是通过8251的收发功能将两个试验箱实现串行通讯,我们组顺利实现了两台机箱的同时发送和接收数据的双机通讯。
而在本次试验中发送的一直都是一个字符而不能发送多位字符,我希望改进的是可以发送任意长短的字符,由用户自己定义。
七、个人所做贡献
在本次试验中我负责程序的编写、修改和调试,我们在网上查找,在本机实验程序中查找,修改,在一条一条指令的研究后,在询问了别人意见后,最后定下了附录里的这段程序。
八、设计体会
学生学习完理论后就要进行课程设计,因为理论课程学习是让学生学习基本理论知识,对课程内容和原理有比较深刻的理解,只要从理论上理解,不用考虑实际的可行性,而课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,不仅需要在理论上能实现而且还要考虑实际的可行性,不能纸上谈兵。
随着科学技术发展的日新日异,微型计算机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握微型计算机的开发技术是十分重要的。
尤其是在现在这个金融危机的时刻,找工作越来越难,只有加强自身的能力才能有一席立足之地。
回顾起此次接口课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说8251A芯片的使用,软件的应用技巧,对汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
九、同组成员名单
十、附录
OUTBITequ08002h;位控制口
OUTSEGequ08004h;段控制口
IN_KEYequ08001h;键盘读入口
CS8251Dequ09000h;串行通信控制器数据口地址
CS8251Cequ09001h;串行通信控制器控制口地址
datasegment
LEDBufdb6dup(?
);显示缓冲
Numdb1dup(?
);显示的数据
DelayTdb1dup(?
)
RBufdb0
TBufdb0
LEDMAP:
;八段管显示码
db3fh,06h,5bh,4fh,66h,6dh,7dh,07h
db7fh,6fh,77h,7ch,39h,5eh,79h,71h
KeyTable:
;键码定义
db16h,15h,14h,0ffh
db13h,12h,11h,10h
db0dh,0ch,0bh,0ah
db0eh,03h,06h,09h
db0fh,02h,05h,08h
db00h,01h,04h,07h
codesegment
assumecs:
code,ds:
data
Delayprocnear
pushax;延时子程序
pushcx
moval,0
movcx,ax
loop$
popcx
popax
ret
Delayendp
DisplayLEDprocnear
movbx,offsetLEDBuf
movcl,6;共6个八段管
movah,00100000b;从左边开始显示
DLoop:
movdx,OUTBIT
moval,0
outdx,al;关所有八段管
moval,[bx]
movdx,OUTSEG
outdx,al
movdx,OUTBIT
moval,ah
outdx,al;显示一位八段管
pushax
movah,1
callDelay
popax
shrah,1
incbx
deccl
jnzDLoop
movdx,OUTBIT
moval,0
outdx,al;关所有八段管
ret
DisplayLEDendp
TestKeyprocnear
movdx,OUTBIT
moval,0
outdx,al;输出线置为0
movdx,IN_KEY
inal,dx;读入键状态
notal
andal,0fh;高四位不用
ret
TestKeyendp
GetKeyprocnear
movch,00100000b
movcl,6
KLoop:
movdx,OUTBIT
moval,ch;找出键所在列
notal
outdx,al
shrch,1
movdx,IN_KEY
inal,dx
notal
andal,0fh
jneGoon_;该列有键入
deccl
jnzKLoop
movcl,0ffh;没有键按下,返回0ffh
jmpExit1
Goon_:
deccl
shlcl,2;键值=列X4+行
movch,4
LoopC:
testal,1
jnzExit1
shral,1
inccl
decch
jnzLoopC
Exit1:
movdx,OUTBIT
moval,0
outdx,al
movch,0
movbx,offsetKeyTable
addbx,cx
moval,[bx];取出键码
movbl,al
WaitRelease:
movdx,OUTBIT
moval,0
outdx,al;等键释放
movah,10
callDelay
callTestKey
jneWaitRelease
moval,bl
ret
GetKeyendp
IInitprocnear;8251初始化
movdx,CS8251C
moval,01001111b;1停止位,无校验,8数据位,x64
outdx,al
moval,00010101b;清出错标志,允许发送接收
o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 报告 双机 串行 通信