【微机原理大作业】从0开始设计RTC电子钟系统(一)

题目要求

实现一个数码管显示时钟的仿真程序,要求绘制仿真图和编制程序。
要求显示时分秒,走时比较准确,例如 18-21-36。

思路

👉设计一个电子时钟,首先要有时钟控制电路,其次要能显示出时钟。

1️⃣ CPU选用8086没得选,学的就是这个芯片),用来响应时钟信号并控制数码管显示。

2️⃣ 时钟脉冲由定时器8253产生,时钟用8位七段数码管显示。

3️⃣ 由于输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交互,因此还要加 8255A 做并行接口,用 74LS373 做地址锁存,74LS138 做地址译码。

思路框图

效果演示🔥

演示视频

原理图和程序文件下载🔥

下载链接1
下载链接2
建议按照博客做一遍,印象比较深刻

源程序直接跳转:
【微机原理大作业】从0开始设计RTC电子钟系统(三)(含完整源码和仿真图及下载地址)

下面进入正题

proteus主要仿真元件

1.8086 CPU

⭐️8086共有16条数据总线和20条地址总线。由于这次我们设计的系统是单机系统,所以8086的工作模式为最小模式

8086CPU

2.可编程定时器8253A

(1)8253A有3个可独立工作的16位定时/计数器,每个计数器通道均有6种工作方式。

8253A在不同方式下的工作特点:
8253A在不同方式下的工作特点
(2)8253A编程:上电之后,通过CPU向8253的控制寄存器写入控制字,可以选择计数器通道,确定8253A的工作方式。

8253A控制字:
8253A控制字
(3)GATE端控制计数器的启停。若GATE信号高电平触发通道后计数器才开始工作,则为软件启动;若GATE信号上升沿触发通道后计数器才开始工作,则为硬件启动。

(4)外电路的脉冲信号通过CLK信号线进入通道,如果GATE有效,使CLK上的脉冲信号进入计数器计数,8253A计数器工作在减1状态,每输入一个计数脉冲,计数器值减1.当计数到0时,OUT信号有效通知外设计数器产生溢出。在通道工作过程中,CPU可以随时通过对端口的读/写,读取计数器的数据。

8253A与系统连接示意图:
8253A与系统连接示意图(5)8253A信号线:
数据总线DB:编号为D0~D7,用于8253A与CPU传送8位数据。
地址总线AB:编号为A0~A1,用于选择定时/计数器0、1、2与控制寄存器。
控制总线CB:片选信号、写信号、读信号。当CPU要对8253A进行读、写操作时,必须先向8253A发送片选信号选中8253A芯片,然后发送读信号或写信号对8253A进行读或写数据的操作。

⭐️本次设计要用到两个计数器通道,选用通道0作为分频通道1产生1Hz信号。通道0作为分频,选择工作方式2,输入1MHz信号,经过1000分频,产生1kHz信号,作为通道1的输入。通道1选择工作方式3,输出方波信号,稳定显示时钟,并产生不可屏蔽中断的中断申请信号。

8253A

3.可编程并行接口8255A

(1)8255A有3个独立的8位并行输入/输出端口,3种工作方式。
方式0――基本输入/输出(A,B,C口均有),主要工作在无条件的输入/输出方式下,不需要“联络”信号;
方式1――选通输入/输出(A,B口具有),主要工作在异步或条件传输方式;
方式2――双向传输(A口具有),即在同一端口内分时进行输入/输出操作。

(2)8255A编程:用户在使用8255A前,可以通过写入控制字来定义端口的工作方式,选择所需要的功能。8253A控制字包括工作方式控制字和对PC口的按位操作控制字。

8255A控制字:
8255A控制字
8255与系统的连接示意图:
8255与系统的连接示意图
(3)8255A信号线:
数据总线DB:编号为D0~D7,用于8255A与CPU传送8位数据。
地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。
控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255A进行读、写操作时,必须先向8255A发送片选信号选中8255A芯片,然后发送读信号或写信号对8255A进行读或写数据的操作。

⭐️本次设计要用到PA和PB口,工作方式均选择方式0,作为输出。
8255A

4.7SEG-MPX8-CC

(1)7SEG-MPX8-CC是共阴极数码管显示器。显示器的A、B、C、D、E、F、G、DP是数码管显示器的I/O口,是段选信号;显示器的1、2、3、4、5、6、7、8是它的位选信号,即从左到右8位显示字符。段码线控制显示的字型,位选线控制该显示位的亮或暗。

(2)数码管显示器有静态显示和动态显示两种方式。静态方式即每位的段选线分别与一个8位锁存器的输出口相连,静态方式编程容易,但占用I/O线资源较多;动态方式即将所有位的段选线并联在一起,由一个8位I/O口控制。

⭐️由于本次设计显示位数比较多,所以选择动态显示方式,将段选信号接到8255A的PA口,位选信号接到8255A的PB口,从左侧开始各两位分别显示:时、分、秒,中间用 “-” 分隔,即显示形式为:小时-分钟-秒。
数码管

  • 31
    点赞
  • 142
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一、课程设计目的和意义<br>掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。<br>二、开发环境及设备<br>1、设计环境<br>PC机一台、windows 98系统、实验箱、导线若干。<br>2、设计所用设备<br>8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。<br>8255并口:用做接口芯片,和小键盘相连。<br>8259中断控制器:用于产生中断。<br>LED:六个LED用于显示时:分:秒值。<br>小键盘:用于控制设置。<br>三、设计思想与原理<br>1、设计思想<br>本系统设计的电子时钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。<br> 日赚200网赚网http://wsbl52006.lingd.net/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不雨_亦潇潇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值