微型计算机基于8086cup数字时钟课程设计任务书.docx
- 文档编号:25338043
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:17
- 大小:134.35KB
微型计算机基于8086cup数字时钟课程设计任务书.docx
《微型计算机基于8086cup数字时钟课程设计任务书.docx》由会员分享,可在线阅读,更多相关《微型计算机基于8086cup数字时钟课程设计任务书.docx(17页珍藏版)》请在冰豆网上搜索。
微型计算机基于8086cup数字时钟课程设计任务书
课程设计任务书
专业
自动化
班级
姓名
设计起止日期
2013.12.16~2013.12.20
设计题目:
基于8086CPU的数字时钟的设计
设计任务(主要技术参数):
1、利用实验系统上提供的8253和LED数码显示等电路,设计一个电子时钟;
2、格式如下:
6个数码由左向右分别显示为:
时、分、秒。
指导教师评语:
成绩:
签字:
年月日
课程设计说明书NO.1
1引言
随着在现代技术进步,电子产品越来越多的在生活中出现,服务于人们的生活,从简单的电子手表,到人人必备的手机,我们都可以看到电子时钟的身影。
本系统就是基于8086系统,配合8255和8253芯片开发的一个数字电子时钟,有显示时分秒的功能。
2设计方案论证
2.1一秒定时方案的选择
运用8253产生周期为2秒的方波,通过8255芯片的A、B、C口读取电平高低,判断电平变化,进而判断1秒延时是否已经到达,这种方法可以写成子程序,执行返回就近似于1秒延时。
2.2时钟时分秒的处理方式选择
时钟的时分秒的处理方法实际上时数学逻辑问题。
在编辑过程中我想到两种解决方案。
方案一:
将时分秒当做三个数据进行处理,设置三个数据空间,作为是分秒的数据缓存区,再将缓存区的内容转换成显示数据。
每次延时之后判断“秒”是否应该向“分”进位,“分”是否应该向“时”进位,“时”是否已经超过24.这个过程理论上可以实现,但是逻辑判断较为繁琐。
方案二;将时分秒分成六位,放在显示数据缓存区里,每次一秒延时之后判断是否向高位进一,若还不进一,则跳回最低位,再次进行一秒延时;由于秒和分都是60进制,处理方法一样,而“时”是24进制,应该进行额外处理。
2.3八段数码管动态显示
对于8279八段数码管的显示需要入码位和段码,因此采用74LS373作为位码输出端口,8255的A、B、C口作为段码输出口。
通过CPU输出数据进行位码选择,经74LS373
沈阳大学
课程设计说明书NO.2
输出到位码输入口;设置到六位数据缓存区,经过换码可以取得相应的段码输出到段码
输入口,并简单延时,就可以显示了。
2.4系统原理
通过并行接口芯片8255和8086计算机的硬件相连,以及通过8253一秒延时的方法,来实现适中的计时功能。
8086工作在最小模式,5255芯片片选端接到CPU的片选段CS0,A口组委输出口,B口作为输入口,B口的第一位用于检测电平;8253片选端接到CPU的片选段CS2,用于锁存位码。
一秒计时和功能有软件控制进行。
3系统硬件设计
3.18086简介
Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。
8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB【2】。
(1)8086的主要特性
Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:
(a)8086CPU数据总线为16位,8088CUP数据总线为8位。
(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。
(c)有16位的端口地址,可以寻址64KB的I/O端口。
(d)有99条基本指令,指令功能强大。
(e)有9种基本寻址方式。
(f)可以处理内部和外部中断,外部中断源多达256个。
(g)兼容性好,8086、8085在源程序一级兼容。
沈阳大学
课程设计说明书NO.3
(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。
(i)支持单处理器或多处理器系统工作。
(2)8086CPU寄存器结构
8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。
通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器,位于CPU的EU中,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数。
指针和变址寄存器包括:
堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址。
段寄存器包括:
代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS【4】。
3.28255简介
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位
等。
用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式【3】。
8255的内部结构及引脚图如图2所
示。
沈阳大学
课程设计说明书NO.4
图48255内部结构及引脚
图28255内部结构及引脚图
具体的各引脚功能如下【3】:
D0~D7为双向数据信号线,用来传送数据和控制字。
RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。
WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。
沈阳大学
课程设计说明书NO.5
CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作【6】。
A0,A1为口地址选择信号线。
8255内部有3个口;A口,B口,C口,还有一个控
制寄存器,它们可由程序寻址。
A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如表1所示。
表18255的寻址方式
A1
A0
选择
0
0
A口
0
1
B口
1
0
C口
1
1
控制寄存器
通常A0,A1分别接系统总线A0和A1,它们与CS一起来决定8255的接口地址。
RESET为复位输入信号。
此端上的高电平可使8255复位。
复位后,8255的A口,B口,C口均被定为输入状态【9】。
PA0~PA7为A口的8条输入输出信号线。
PB0~PB7为B口的8条输入输出信号线。
PC0~PC7,8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线【7】。
沈阳大学
课程设计说明书NO.6
8255工作方式控制字和C口按位置位/复位控制字格式如图3所示【4】。
图
图3置位/复位控制字格式
8255的寻址:
8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。
对同一个地址分别可以进行读写操作。
例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出【8】。
如表2为方式0下系统的输入输出组合,其中分为A,B组,A组分为A口和C口,B组分为B口和C口【1】。
沈阳大学
课程设计说明书NO.7
表2方式0下,8255的16种输入输出组合
A组
B组
A口(PA0---PA7)
C口(PC4---PC7)
B口(PB0---PB7)
C口(PC0---PC3)
入
入
入
入
入
入
入
出
入
入
出
入
入
入
出
出
入
出
入
入
入
出
入
出
入
出
出
入
入
出
出
出
出
入
入
入
出
入
入
出
出
入
出
入
出
入
出
出
出
出
入
入
出
出
入
出
出
出
出
入
出
出
出
出
3.3七段LED显示器及其接口
七段LED显示器:
由七个发光段构成,每段均为1个LED二极管。
通过控制不同段的点亮和熄灭,显示出16进制数字或字符【10】。
沈阳大学
课程设计说明书NO.8
七段LED显示器有共阳极和共阴极两种结构,如图5所示的七段LED实际上包含8个LED(7段字形加上小数点DP)。
1位LED显示器有1根位选线和8根段选线,段选线控制字符的选择,位选线控制显示位的亮和暗。
LED数码管采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。
从图5可以看出,要是数码管显示数字,有两个条件:
(a)是要在VT端(3/8脚)加正电源;
(b)要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。
这样才能显示的。
将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字【10】。
LED技术参数说明:
发光二极管的压降一般为1.5-2.0V,即工作电压要求不高,而且构造简单,其工作电流一般取10-20mA为宜【4】。
图4七段LED显示器
3.4连线设计
以下为间断,其中8255片选端接到CS0,PA口接到数码管的数码输出端口LED-A至LED-G,B口第一位作为电平检测功能线:
8253接到CS1,GATE0和GATE1接到+5V电
平,8253C1K0接到375KHZ的CLK4,out0接clk1,out1接到PC2;74LS373的片选端接
沈阳大学
课程设计说明书NO.9
到CS2,D0至D5接到八段数显管的位码输入端LED1至LED6。
以下为电路图:
图1电路图
4软件编程实现
4.1芯片初始化:
Starrt:
Movdx,04b6h;8253初始化用以输出周期为两秒的方波
Mova1,00110110b;定时器0输出10HZ的方波
沈阳大学
课程设计说明书NO.10
Outdx,a1
Movax,37500
Movdx,04b0h
Outdx,a1
Mova1,ah
Outdx,a1
Movdx,o4b6h;定时器1输出0.5HZ的方波,从而产生一秒的定时
Mova1,01010110b
Outdx,a1
Movdx,04b2h
Mova1,20
Outdx,a1
4.2时分秒的处理:
M:
leasi,shuju
CallDECT;秒的个位处理
Mova1,[si]
Inca1
Mov[si],a1;秒的个位加一
Cmpa1,0ah
Jnzm;秒的十位处理
Mova1,0
Mov[si],a1
Incsi
Mova1,[si]
沈阳大学
课程设计说明书NO.11
Inca1
Mov[si],a1
Cmpa1,06h
JnzM
Mova1,0
Mov[si],a1;时的处理
Mova1,0
Mov[si],a1
Incsi
Mova1,[si]
Inca1
Mov[si],a1
Cmpai,04h
JnzhourC
Incsi
Mova1,[si]
Cmpa1,02h
JnzhourC
Mova1,0
Mov[si],a1
Decsi
Mov[si],a1
JmpM
hourC:
Cmpa1,0ah
K1:
jnzM;时的十位处理
沈阳大学
课程设计说明书NO.12
Mova1,0
Mov[si],a1
Incsi
Mova1,[si]
Inca1
Mov[si],a1
Cmpa1,03h
JnzK1
4.3一秒延时子程序
检测电平变化,判断是否秒加一
DECT:
pushsi;堆栈保护进行地址保护
DECTread:
callDISP;调用显示子程序
Leasi,dianping
Movah,[si]
Movdx,04a2h;判断电平,若有跳变则[si]加一
Ina1,dx
Cmpa1,ah
JzDECTread
Mov[si],a1
Popsi
Ret
4.4数码管显示子程序
DISP:
;显示子程序,将六个位都显示一遍
Pushsi
Mova1,0feh
沈阳大学
课程设计说明书NO.13
Movcx,6
Leasi,shuju
Displayloop:
Movdx,04c0h;373输出位码,并锁存
Outdx,a1
Rola1,1
Pushax
Movdx,04a6h;8255控制字:
A口出,B口入
Mova1,82h
Outdxa1
Mova1,[si]
Incsi
Leabx,screen
XLAT;换码指令取段码
Calloutput
Popax
Loopdisplayloop
Popsi
Movdx,04a6h;8255控制字:
A口出,B口入
Mova1,82h
Outdxa1
Mova1,[si]
Incsi
Leabx,screen
XLAT;换码指令取段码
Calloutput
沈阳大学
课程设计说明书NO.14
Popax
Loopdisplayloop
Popsi
Delay:
Pushcx
Movcx,ofh
Delayloop
Loopdelayloop
Popcx
Ret
5调试记录及结果分析
这个项目除了开始部分的探索阶段,其他全过程相对较顺利。
调试成功之后,发现
了一些问题:
(1)由于软件判断指令判断周期有一定的延时,况且在调用显示程序过程中存在短延时,因此数字时钟的计数时间相对正常计时时间相对正常计数时间要慢一些,这也符合理论,因此该程序以目前的设备来看,时正确的;
(2)由于时间关系,该程序只有计时功能,没有手动校准功能,时间久了,很容易产生打的误差,不适合用于生产;时间允许的话,我们可以手动通过键盘进行校准,减少这种难以避免的误差;
(3)由于时运用软件查询的方式,1S的延时不时很精确;要向精确定时,须采用中断方式有硬件进行1S定时;而中断处理方式需要花费时间来理解。
6设计总结心得
课程设计的几天里,我天天对着电脑,忙着接线,脑袋跟随者CPU不停的转,中午也不回宿舍睡觉,但是仍然有一种愉悦感,我向这就是程序设计的魅力,遇到问题,解决问题的过程时快乐的。
进步本身就时一件令人快乐的事情。
沈阳大学
课程设计说明书NO.15
做这个设计题目,前前后后花了我一周的时间。
其中前三天用于做前期的知识准备,还有一些时间用于和同学探讨,还有一些时间用于思维的转变,吧C51单片机的思维转换到8086CPU指令系统中来。
C51单片机和8086其实有很大的相似性,只不过时自己的思维方式相对有些死板而已。
要敢于思考,要喜欢思考,要善于思考,这对我自己来说,都是一个启发。
在程序调试成功后,有不少同学问我,这个程序如何理解。
我从头到尾给他们讲了,他们懂了,我自己对程序的理解就更深一步了,得到了一种成就感;当然在写程序的过程中,在其他的同学身上学到了很多东西,自己也取得了很大的进步。
有时当有一个没解决的问题困扰我的时候,在睡觉的时候,脑袋里出现的全是程序设计的代码,达到了一种“暮然回首,那人却在灯火阑珊处”的境界了。
再次印证了一句话,代码时一个一个敲出来的。
程序设计的感觉真好!
震希望多开几门这样的课!
参考文献
[1]胡汉才.单片机原理及其接口技术[M].北京:
清华大学出版社,2010.3:
299-319
[2]范立南,张乐.微型计算机原理及应用[M].北京:
清华大学出版社,2012.1:
12-54
[3]杨立,邓振杰,荆淑霞.微型计算机原理与接口技术[M].北京:
中国铁道出版社,2009.3:
45-89
[4]方立友.微机原理与汇编语言实用教程[M].北京:
清华大学出版社,2008.5:
159-189
[5]凌志浩.微机原理与接口技术[M].上海:
华东理工大学出版社,2006.3:
223-228
[6]彭虎,周佩玲,傅忠谦.《微机原理里与接口技术》[M].北京:
电子工业出版社2007.1:
133-286
[7]顾晖等.微机原理与接口技术-基于8086和Proteus仿真[M].电子工业出版社,2005.2:
187-258
沈阳大学
课程设计说明书NO.16
[8]王永山,杨宏五,杨婵娟.微型计算机原理与应用[M].西安:
西安电子科技大学出版社,2009.3:
172-253
[9]赵全利.微型计算机原理及接口技术[M].北京:
机械工业出版社,2009:
61-132
[10]彭虎等.微机原理与接口技术[M].电子工业出版社,2003.1:
223-238
沈阳大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 基于 8086 cup 数字 时钟 课程设计 任务书