实验十、微机接口综合实验:简单计时器

本文介绍了使用STM32进行微机接口综合实验,设计了一个秒为单位的计时器。实验中利用8254定时器产生1秒中断,数码管显示计时,键盘控制启动、暂停、退出等功能。实验涉及8254的中断模式配置、状态管理以及中断服务子程序的编写。计时结束时数码管闪烁提示,同时支持在运行过程中暂停和恢复计时。
摘要由CSDN通过智能技术生成

实验十、 微机接口综合实验

1、实验目的

本实验集成了前面几个实验的内容,是一次综合的复习和提高。

2、实验内容

编写程序实现一个以秒为单位的计时器。
要求:计时时间显示在数码管上;用8254、8259和系统时钟产生周期为1秒的计时中断;将键盘进行编号,记作 0 ~ F ,用来输入计时初值,并控制计时器工作。具体功能如下:

  1. 初始状态:无显示,此时通过数字键0~9输入计时初值,范围为1~99分钟,显示在数码管1和2上。
  2. A键(启动/取消):初值设置完成后按A键,从计时初值开始倒计时,数码管1和2显示分,数码管3和4显示秒;计时过程中按A键,停止倒计时,回到初始状态。
  3. B键(暂停/继续):计时过程中按B键,暂停倒计时,显示停止时间;再次按B键,从停止时间继续倒计时。
  4. 计时结束:倒计时至“0000”时,闪烁三次后回到初始状态。
  5. C键(退出):任何时刻按C键,熄灭数码管,程序退出。
3、实验记录

1、按键控制:基于键盘扫描实验的代码,增加 if - else 分支结构实现 ABC 键的不同功能操作。

2、定时器中断:本次实验采用了 8254 的计数器0,将 8254 的 OUT0 端口接到 MIR6 中断,使用方式3产生周期性方波来定时触发中断。

3、状态变量:本次实验要求的计时器有3种状态:初始无显示状态、正在倒计时状态、暂停倒计时状态。另外的退出程序状态和计时结束状态不用考虑(计时结束状态与初始无显示状态可以合并)。

状态转移图

4、代码记录:代码量过多,不会在每个地方都作详解。

A8254 EQU 0600H          	;8254的计数器0地址 
M8254 EQU 0606H      		;8254的控制寄存器
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值