微机原理实验报告电子钟.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

word格式文档

专业整理

微机原理与接口技术课程设计

实验报告——电子时钟

(附8251串口通讯部分实验报告)

通过设置8251的数据位和方式字,通过示波器测量输出波形。

在实验中,8251选择异步通讯方式,修改自发自收程序,通过测量TXD引脚观察波形。

观察波形分析:

1.数据位:6AH,方式字:7EH(1个停止位,偶校验)

可知:输出为00101011001,数据为可以推断出是加粗部分,则前一位为起始位,后两位01分别为偶校验位和停止位。实验结果与结果相符。

2.数据位:0C4H,方式字:7EH(1个停止位,偶校验)

可知:输出为00010001111,数据为可以推断出是加粗部分,则前一位为起始位,后两位11分别为偶校验位和停止位。实验结果与结果相符。

一、课程设计目的和意义?

通过本次课程设计掌握多种芯片使用的方法,灵活地综合运用课本知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解。了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程。

二、开发环境及设备

???PC机一台、实验箱、导线若干

8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号

8255并口:用做接口芯片,和数码管相连?

8259中断控制器:用于产生中断

?LED:六个LED用于显示时:分:秒值

三、设计思想与原理

?1、设计思想?

本系统设计的电子时钟用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,先读写低字节后读写高字节,方式2,二进制计数,以18.432kHz为输入时钟,4800H分频后为1Hz,即1s产生上升沿,此信号接8259的中断请求信号输入端,CPU即处理中断,使液晶显示器上的时间发生变化。?

2.设计原理?

利用实验台上提供的定时器8254和扩展板上提供的8259和数码显示电路,设计一个电子时钟,由8254中断定时,电子时钟的显示格式由左到右分别为时、分、秒。

基本工作原理:设置时,分,秒寄存器,获取系统时间存入其中,六个数码管动态显示时、分、秒的当前值。在中断服务子程序中,每来一次中断,秒加1,与60比较,若等于60则向分进1,秒清零;分的处理与秒相同;而时若等于24,则时清零。

四、实验接线图

数码管

数码管

8255

8255

CPU

CPU脉冲

8254

8259A

五、实验结果

六、实验心得

在设计时要将各部分器件执行的功能考虑清楚,之后才能正确设计和编写程序。否则,功能分配不清,程序编写困难。

在读取数码管数据值前,要将数码管全部熄灭,之后读取相应位数码管数据,最后重新点亮相应位的数码管。

综合实验设计中,通过设计一个简单的电子表,我们掌握了多个器件的级联和综合设计,加深了对微机系统的理解。

附录一:部分源代码

五、部分程序

1.8255初始化

MOVDX,MY8255_MODE ;初始化8255工作方式

MOVAL ;方式0,A口、B口输出,

OUTDX,AL

MOVDX,MY8255_A

MOVAL,00H

OUTDX,AL ;初始化数码管,全0

MOVDX,MY8255_B

MOVAL,00H

OUTDX,AL

2.8254初始化

MOVDX,MY8254_MODE;初始化8254工作方式

MOVAL;计数器0,先读写低字节,后读写高字节方式2,二进制计数

OUTDX,AL

MOVDX,MY8254_COUNT0;装入计数初值

MOVAL,00H;计数初值4800H,以18.432kHz为输入时钟,4800H分频后为1Hz,即1s产生上升沿

OUTDX,AL

MOVAL,48H

OUTDX,AL

3.中断处理程序

PUSHAX

PUSHDX

PUSHSI

MOVSI,0000H

INCTIME[SI]

CMPTIME[SI],10 ;秒的个位=9,每次加1,大于9时,个位变零,十位变1,结束本次中断

JBSHIWEI

MOVTIME[SI],0

INCTIME[SI+

文档评论(0)

A女汉子~小郭 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档