【微机原理大作业】从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口,从左侧开始各两位分别显示:时、分、秒,中间用 “-” 分隔,即显示形式为:小时-分钟-秒。
数码管

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不雨_亦潇潇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值