好文档 - 专业文书写作范文服务资料分享网站

微机原理课程设计——电子时钟设计

天下 分享 时间: 加入收藏 我要投稿 点赞

微机原理课程设计——电子时钟设计

2010级微机原理课程设计

实验报告

设计题目: 电子时钟设计 班 级: 电信10102班 分组名单:

2012-6-28

目录

第一章 设计部分

1.1 设计目的…………………………………………………………………………1 1.2设计要求…………………………………………………………………………1 1.3设计思路…………………………………………………………………………1

第二章 实现部分

2.1、分析论证

2.1.1显示模块……………………………………………………………………1 2.1.2时钟运算模块………………………………………………………………1 2.1.3对时模块……………………………………………………………………2 2.2、原理说明………………………………………………………………………2 2.3、设计电路图……………………………………………………………………2 2.3.18086最小工作方式…………………………………………………………2 2.3.2秒脉冲发生器………………………………………………………………3 2.3.3时、分调整电路……………………………………………………………3 2.3.4.显示电路………………………………………………………………………4 2.4、元件功能说明

2.4.1.8253的主要功能……………………………………………………………4 2.4.2.D触发器74ls273管脚排列图及功能表介绍………………………………5 2.4.3单向总线驱动器74ls244功能介绍…………………………………………5 2.5、程序清单…………………………………………………………………………6 2.6、调试过程遇到问题及解决方法…………………………………………………9

第三章 电子时钟使用说明

3.1电子时钟按键说明

第四章 学习心得

附录

参考文献………………………………………………………………………………9

3

第一章 设计部分

1.1 设计目的

学习掌握protues软件功能及其使用方法

熟练掌握TND86/88教学系统的基本操作和调试程序的各种指令。 熟练掌握8086CPU的使用与编程调试程序的方法。

掌握8253定时/计数器的工作原理、工作方式及其应用编程。 练习7SEG-MPX8-CA-RED数码管的显示编程方法。

1.2、设计要求

利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。

1.3、设计思路

电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环记时。显示时利用7段显示器显示六位十进制数据。前两个显示小时,中间两个显示分钟,后两个显示秒。时钟的运算是利用中断来实现的,利用8253的模式三输出一定频率的方波作为触发中断的条件。8253A可编程定时/计数器的输入时钟为100KHz,设定时/计数器0的计数初值为100,工作在方式3,即方波发生器,其输出的1KHz方波作定时/计数器2的时钟。定时/计数器2的初值设为1000,工作在方式2,即每隔1s输出负脉冲,取反后用作不可屏蔽中断的中断申请信号,在中断服务程序中计算时间,并通过74ls273并行输出到数码管显示。

第二章 实现部分

2.1、分析论证 2.1.1、显示模块

利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块显示时先将保存在数据单元的当前时间包括小时和分钟读取出来,把十六进制数字转化成十进制用四个字节分别存放小时和分钟,并把这四个数值通过74ls273端口输出给数码管显示。

2.1.2、时钟运算模块

4

该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,选择的是8253定时/计数器,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8253的计数器2工作方式为方式2时,同过设置计数器2的初值来产生一个1s的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8086的NMI信号中断来实现,首先将秒定时模块提供的中断信号为8086的NMI中断请求信号。但由于每1s一次中断请求。所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count的值为1000时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24啊,直接清零。

2.1.3、对时模块

该模块主要功能是修改小时、分钟内存单元的数值。在对时的时候,秒继续走时,并且在对分进行调整的时,时单元内的数值不变。由以上分析可见,对时、分的调整用两个优先级高于NMI的中断来完成。两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。

2.2、原理说明

电子时钟主要由74ls273锁存器、8253定时/计数器、74ls244反相器、LED数码显示管和两个按键组成。主要用8086的NMI的中断服务程序完成秒、分、时的运算即计时功能,两个开关的中断服务程序完成调时、调分功能。8253用来产生1s的脉冲信号作为NMI的中断请求信号。74ls273负责将内存里的时位和分位秒位值输出到数码管。

2.3、设计电路图

电子时钟的完整电路图如下:

2.3.1.8086最小工作方式

5

9qf7i3al7f4c2db011p1797950lpza00fcx
领取福利

微信扫码领取福利

微信扫码分享