微机原理——定时器8253(8254)学习1

目录

定时类型

8253内部结构框图

8253命令字 

 六种工作方式及输出波形

计数初值的计算与装入

8253的初始化

定时类型

 

 可编程定时器8253:(内部采用的是16位 减法计数器)

8253内部结构框图

8253命令字 

 8253有三个命令字:方式命令,锁存命令,读回命令。(三个命令共用一个端口,按方式命令在前,其他命令在后的顺序写入。)

方式命令格式: (方式命令用来初始化8253,所以必须使用,剩下两个根据需要使用)

 例:计数器1,只读/写低字节,方式1,二进制

01010010  52H

MOV A, 52H
MOV DPTR, #EC03H
MOVX @DPTR, A

锁存命令格式: (在要求读取当前计数值时使用)

例:读计数器1的当前值,送到30H 31H中:

01 00 0010   42H    方式1 二进制 

MOV A, #42H     
MOV DPTR, #EC03H  命令端口地址
MOVX @DPTR, A

MOV DPTR, #EC01H  通道1
MOVX A, @DPTR
MOV 30H, A

MOV DPTR, #EC01H  通道1
MOVX A, @DPTR
MOV 31H, A

读回命令格式:(既能锁存计数值又能锁存状态信息,一条读回命令可以锁存3个计数器的当前计数值和状态)

读取计数器2的当前计数值:11011000  
读取计数器2的当前状态:  11101000
读取计数器2的当前计数值和状态:11001000
读取全部3个计数器的当前计数值和状态:11001110
读取计数器1的当前计数值,送到30H 31H中:

1110 0010   E2H    

MOV A, #0E2H     
MOV DPTR, #EC03H  命令端口地址
MOVX @DPTR, A

MOV DPTR, #0EC01H  数据低八位
MOVX A, @DPTR
MOV 30H, A

MOV DPTR, #0EC01H  数据高八位
MOVX A, @DPTR
MOV 31H, A

 六种工作方式及输出波形

启动方式:软件启动(GATE=1时,当计数初值写入减法计数器就开始计数),硬件启动(计数初值写入减法计数器后,等GATE由0变为1的上升沿出现才开始计数)。

停止方式:强制停止方式(对于重复计数过程,因为能自动重装载,计数过程会反复进行,不能自动停止,要停止计数必须加控制信号,方法是置GATE=0),自动停止方式(对于单次计数过程,一到计数完毕就自动停止)。

因为只有方式2和方式3有自动重装载功能,所以只有方式2和方式3能输出连续波形,其他方式只能输出单次波形。

方式0: 软启  自动结束

 

 方式1:硬启 自动结束

方式2:软启 不自动结束 

方式3:软启 不自动结束

方式4:软启 自动结束

方式5:硬启 自动结束

计数初值的计算与装入

作计数器用:次数就是计数初值,直接装入就可,不用换算。

作定时器用:需要换算,换算方法:

装入:16位减法计数器,8253外部数据线只有8位,所以先装低八位,后装高八位,写入同一个端口。

8253的初始化

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
目录 一、设计总绪 2 1.1设计思想 2 1.2设计说明 2 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 2 1.4设计目的 2 1.5设计要求 2 二、设计方案 3 2.1硬件电路设计方案 3 2.1.1基本结构 3 2.1.2系统框架图 3 2.1.3工作流程图 4 2.1.4单片机主控制模块 5 2.2系统功能描述 6 三、各模块功能介绍 7 3.1键盘输入模块 7 3.1.1键盘分布图 7 3.1.2工作原理 7 3.2运算控制模块 8 3.3显示模块 8 3.4振荡电路模块 9 四、仿真电路 10 仿真运行结果 10 五、调试过程总结 12 附录: 13 参考文献: 13 源程序代码 13 一、设计总绪 1.1设计思想 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术 日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件 来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加 以完善。 计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必 将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89c51单片机、LCD显 示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编 程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握应用程序开发环境,常用 的LCD显示器的使用方法和一般键盘的使用方法 此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基于单片机技术 的简易计算器的方案,采用具有数据处理能力的中央处理器CPU,随机存储器ROM,多种 I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算 机系统——单片机,配以汇编语言编写的执行程序,能更好的解决计算机计算的问题,随 着数字生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功能集成与一个集 成电路中,使用起来十分方便。 1.2设计说明 本次课程设计讨论了单片机技术的计算器构思,设计方案,工作原理,主要系统包括 单片机80C51,排阻RESPACK—8,开关,六位数码管显示器等,主要组成部分包括:键盘 输入模块,运算模块,控制模块,显示模块。通过键盘输入数值,单片机进行运算后在 数码管显示出结果。 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 1.4设计目的 通过本次课程设计,运用《单片机微型计算机原理及应用》所学到的知识及查询相关资料 ,完成简易计算器的设计,进一步提高单片机的系统设计和开发能力,达到理论知识与 实践更好的结合,提高综合运用所学知识和设计能力的目的。 1.5设计要求 要求设计一个单片机应用系统,利用keil和proteus软件完成系统软硬件的设计及模拟调 试。实现五位数(可为带小数点)的加减乘除运算,通过按键输入十进制数据。利用六 位数码管显示运算结果。并实现复位操作。由于要设计的是简单的计算器,可以进行四 则运算,为了得到教好的显示效果,采用LCD显示数据和结果。、另外键盘包括数字键( 0-9)、符号键(+、- 、*、/)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算机键盘来 ,当键入+、- 、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值后将显示键入 的数值,按等号就会在LCD上输出运算结果,执行程序:开机显示零,等待键入数值,当 键入数字,通过LCD显示出 二、设计方案 2.1硬件电路设计方案 2.1.1基本结构 计算器一般由运算器、控制器、键盘、显示器、电源和一些可选外围设备及电子配件通 过人工或机器设备组成。键盘是计算器的输入部件,一般采用接触式或传感式。显示器 是计算器的输出部件,有发光二极管显示器或液晶显示器等。除显示计算结果外,还常 有溢出指示、错误指示等。计算器电源采用交流转换器或电池。计算器都采用CMOS工艺 制作的大规模集成电路。 本次课程设计中我是采用了以MCS—51系列的单片机AT89C51单片机为核心构成的简易计算 器。该系统通过单片机控制,实现对4*4键盘进行实时扫描的按键检测,并把检测数据存 储下来。整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描 ,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送 入数码管动态显示。整个系统可分为三个主要功能模块:功能模块一,实时键盘扫描; 功能模块二,数据转换成显示器显示;功能模块三,计算控制模块。功能模块四:显示 模块。 2.1.2系统框架图 图2.1 系统总体框架图 2.1.3工作流程图 No Yes 图2.2 系统工作流程图 2.1.4单片机主控制模块 AT89C51是一种带4K字节闪烁可编程可擦除只
### 回答1: 电子秒表是一款非常常见的计时器设备,用于在各种比赛、运动等场合中进行时间计时。在微机原理课程设计中,使用8254芯片来设计电子秒表显示0-60s是一个典型的实践案例。 首先,我们需要了解8254芯片的基本结构和功能。8254是一种集计时、计数、中断控制等多种功能于一身的可编程计数器/计时器,它有三个独立的计数通道,每个通道可以选择不同的工作模式,以满足不同的需求。 在设计电子秒表时,我们需要将8254芯片的一个计数通道设置为定时模式,将计数周期设置为1s,即每隔1s输出一个计时信号。然后,我们可以将此信号与一个数码管显示芯片连接起来,以实现对时间的显示。 具体而言,我们可以使用常见的7段数码管来显示时间,每一位数码管需要接一个控制芯片来实现显示。当我们每隔1s接收到计时信号时,我们需要对显示值进行更新: 1. 如果当前显示时间为59s,则需要将秒数归零,重置计时器; 2. 如果当前显示时间不为59s,则将秒数加1,并将其在数码管上进行显示。 此外,我们还需要设计一些操作按钮,如计时开始/暂停、清零等按钮,来方便用户对计数器进行控制。通过这些设计和调试,我们即可得到一款简单而实用的电子秒表应用。 总之,微机原理课程设计中使用8254芯片设计电子秒表是一个充满挑战性和趣味性的案例,既涉及到硬件电路设计,又涉及到程序设计,是学生们锻炼实践能力和创新能力的重要方式之一。 ### 回答2: 在微机原理课程设计中,设计一款使用8254芯片显示0-60秒的电子秒表,需要遵循以下步骤: 1. 确定硬件接口:选择使用8254芯片作为计时器,连接相应的控制引脚,将输出接口与数码显示器连接。 2. 编写程序框架:采取中断方式进行计时,设定中断间隔为1秒。在程序中定义计时器初值为0,并采用循环方式进行计数,直到达到60秒。 3. 编写计时中断处理程序:在中断处理程序中,每次中断发生时将计时器的计数值加1,并使用BCD码转换将计数值转换为数码显示器可识别的格式。 4. 编写数字显示程序:使用相应的数码显示器驱动程序,将计数值显示在数码显示器上。 5. 调试程序并优化:进行测试和调试,发现问题后进行优化,确保程序能够正常运行。 总之,设计一款使用8254芯片显示0-60秒的电子秒表需要硬件和软件两方面的技术,需要对8254芯片的特性有深入的了解,同时需要熟练掌握操作系统和编程语言,才能够完成一个稳定可靠的电子秒表。 ### 回答3: 8254是一款计数器芯片,通过编程来实现对时间的计算和控制。我们可以使用8254来设计一个电子秒表,让它可以自动计时,达到60秒自动停止并显示时间。 首先,需要将8254编程为定时器模式,并设置计数时间间隔为1秒。然后,在程序中添加一个异步时钟电路,以确保计时精度。接下来,就可以开始编写程序,以实现秒表的计时和显示功能。 具体的实现细节包括:初始化8254定时器,设置计时周期;开启定时器中断,以便能够响应定时器中断事件;在中断服务程序中累加计时器计数值,同时判断是否达到60秒时间;若达到60秒时间则停止定时器,显示时间结果;否则继续计时。 在显示方面,可以使用LED数字管或LCD显示屏等设备,通过编程控制其显示内容。在停止计时后,需要将计时结果转换为可读的格式,并显示出来,如显示为“00:00:60”表示计时器达到60秒。 总的来说,使用8254设计电子秒表可以锻炼编程思维和计算思维能力,在实现过程中需要充分考虑时序、中断、显示等方面的问题,同时需要注意代码的简洁性和可读性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值