微机原理课程设计-电子钟设计

摘要

数字闹钟

1、通过8253定时器产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。

2、将当前时分秒在七段LED显示器上显示(如:091132)。

3、可设置闹钟的时间当前值(对准时间),设置闹铃时间,闹铃功能的关闭和开放.

关键词:数字闹钟,8253定时器,LED显示器,8255A并行口

目 录

1.实验线路1

2.设计思想2

3.功能流程图4

4.结果讨论8

5.源程序以及注释9

参考文献26

1.实验线路

实验线路如图1所示。

2.设计思想

一、概述:

程序主体设计:本程序共有分端口设置模块,计数模块,显示模块等几个模块。

C--DISPLAY 12, 45, 37 ----将闹钟设置为12:45: 37;

G--GO AHEAD----开中断,闹钟恢复走时

D--STOP TO DISPLAY-----关中断,闹钟停止走时

E--EXIT TO DOS----返回DOS

M--SET THE CLOCK -----设置闹铃时间

F--OPEN THE CLOCK-----设置闹钟功能为开

B--CLOSE THE CLOCK-----设置闹钟功能为关

P--POSITION THE BENINNING DATE------设置闹钟的时间

二、计时器软件的设计:

主程序中,要对各个用到的芯片进行初始化,目的是使其每20豪秒产生一次方波。8253A的定时器输出与8259A的IR2连接,计数器0工作在模式3(方波发生器),计数值采用二进制格式,输出作为计数器1的输入, 计数器1工作在模式2(分频器),计数值采用二进制格式,输出到总线IRQ2,向CPU发送时钟中断信号,根据两个计数器的设置,系统每隔20毫秒便由8253A产生一次中断请求,即每隔20豪秒执行一次中断处理程序。这个方法将与时间相关的两个模块即显示模块和计时模块放在中断处理程序中,这样,就保证了数字显示的稳定,中断处理程序完成计时功能要依靠两个方面,因为中断处理程序是每20豪秒执行一次,但计时并不是以20豪秒为单位进行的,而是以秒为单位进行的,所以,计时功能的实现一方面要利用20毫秒这个基准时间单位,另一方面借助一个计数单位。计数单位的初始值为50,每进行一次中断,便使计数单元的内容减1。每当计数单元从50减为0时,说明已经过了1秒时间。并判断是否有进位,如有则进行修改,实现进位。并在LED上显示。

显示部分:

本程序显示部分用了6个共阴极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。

程序中,用8255A的PA口作为输出,输出扫描信号,PB口作为输入,读进列值。

本程序用行扫描法来识别键盘的闭合键。先使第0行接地,其余行为高电平,然后看第0行是否有键闭合,这是通过检查列线电位来实现的,即在第0行接地时看是否有哪条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线位置上的键被按下如果没有,则说明第0行上没有键被按下。此后,再将第1行接地,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。为消除键的抖动,所以调用延迟程序,然后再判断具体按下的到底是哪个键,如果得到的是FFH,则程序在循环中等待。

计数部分:见流程图

时间设定模块

对于输入的检测,若超出范围,则对其置F------,

3.功能流程图

一、程序主流程控制图(如图2所示)

二、中断服务子程序流程图(如图3所示)

三、进位处理部分流程图(如图4所示)

4.结果讨论

本程序共有分端口设置模块,计数模块,显示模块等几个模块。经过调试,本程序可以实现题目的要求。时、分、秒都分两位。个位满十后就向前进一位。分秒的十位满六十后也向前进一位。显示小时两位在满二十四后重新计数。在置数时,使用者可置任意值,但如果有某位超过计数值,则在LED显示器上输出出错信息。程序中设置压C键为LED显示器清0,压E键为退出,压D键为计数暂停,压P键为设置LED显示器初始值。应该注意的是,程序中设定的键值为实验台上的小键盘的键值,并非计算机键盘。经测试,程序中设置的功能全都可以良好运行。

本程序参照实验室电脑中16BIT文件中的kl.asm编制

定时器/计数器8253计数初值的设定。

下面对几个重点部分的调试过程和遇到的问题作一定的讨论:

修改后的中断服务子程序(改变进位的条件)

(1)其中进位的条件判断以及后面的闹铃的程序段位置的设置都与程序结果有很大的关系.进位判断特别要注意仔细,编程实现前应该画个流程图,直接再源文件上改不但不

微型计算机原理小闹钟8253,微机原理课程设计-电子钟设计.doc相关推荐

  1. 微型计算机原理小闹钟8253,微机原理课程设计-电子钟的设计.doc

    微机原理课程设计-电子钟的设计 摘要 数字闹钟 1.通过8253定时器产生秒脉冲定时中断.在中断服务程序中实现秒.分.小时的进位(24小时制). 2.将当前时分秒在七段LED显示器上显示(如:0911 ...

  2. 8255,8253微机原理课程十字路口交通灯设计(带交通管制)

    8255,8253微机原理课程十字路口交通灯设计(带交通管制) 前绪 CPU 采 用 8088 设 计 , 采 用 其 最 大 工 作 模 式 . 通 过 245,373,8288 等设计形成地址总线 ...

  3. 微型计算机原理daa,单片微机原理、汇编与C51及接口技术(第2版)

    单片微机原理.汇编与C51及接口技术(第2版) 语音 编辑 锁定 讨论 上传视频 <单片微机原理.汇编与C51及接口技术(第2版)>是2013年清华大学出版社出版的图书,作者是朱定华.戴颖 ...

  4. 微机计算机原理实验报告总结,微机原理实验报告.doc

    文档介绍: 微机原理实验报告 目录 微机原理实验报告 1 目录 2 第一部 32位微机原理实验 4 实验一显示程序实验 4 一.实验步骤 4 二.实验程序 5 三.实验结果 5 实验二数据传送实验 6 ...

  5. 微型计算机接口技术425页,微机原理与接口技术(修订版高等院校电工电子技术类课程十二五规划教材)...

    导语 内容提要 谢四连.董辉.许岳兵主编的<微机原理与接口技术(修订版)>内容分为两部分:第一部分全面系统地介绍了Intel系列微处理器的工作原理.指令系统以及汇编语言程序设计方法:第二部 ...

  6. 微型计算机与接口技术考试题,微机原理与接口技术试题库2

    微机原理与接口技术试题库2 更新时间:2017/2/3 0:10:00  浏览量:843  手机版 课程试卷库测试试题(编号: 2 ) 一:填空题(每空1分,共20分) 1. 为提高系统性能,让CPU ...

  7. 微型计算机原理与应用课件,微机原理与应用课件

    PPT内容 这是微机原理与应用课件,包括了微型计算机系统概述,微处理器指令系统,汇编语言程序设计,微处理器外部特性,半导体存储器系统,基本输入输出接口等内容,欢迎点击下载. Principle and ...

  8. 微型计算机原理周明德答案,微机原理与接口技术周明德主编习题答案

    <微机原理与接口技术>试题(第一套) 一.选择题(每题3分,共30分) 1.8288在8086/8088组成的计算机中的作用是( ② ). ① 数据缓冲器 ② 总线控制器 ③ 地址锁存器 ...

  9. 微型计算机原理实验报告总结,微机原理实验报告-两个多位十进制数相加的实验等.doc...

    微机原理实验报告-两个多位十进制数相加的实验等.doc 微机原理实验报告班级学号姓名实验一两个多位十进制数相加的实验一.实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立.汇编.链接.调试和运 ...

最新文章

  1. 手把手带你爬虫 | 爬取语录大全
  2. Leetcode--397. 整数替换
  3. div固定大小文字溢出自动缩小_Figma 教程 | 文字工具
  4. sql:MySQL 6.7 表,视图,存储过程结构查询
  5. linux 虚拟文件系统 源码,Linux内核源代码情状分析-虚拟文件系统
  6. mysql 列 随机数_MySQL的指定范围随机数函数rand()的使用技巧
  7. mysql中Group_concat,查找列名,将字符串转换为数字比较大小等杂项记录
  8. 思科ASA防火墙升级为云端防火墙
  9. 菜鸟程序猿的工作心态
  10. utm坐标和经纬度转换_【技术】经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤...
  11. 研究生预备军:论文选题与写作
  12. 鸿蒙申请入口联系人邮箱格式不对,为什么appid输入邮箱地址不对
  13. 计算机组成1046Q表示什么,计算器里的tanh是什么意思
  14. python绘制气象等值线图_用Matplotlib绘制Python等值线图
  15. 大学英语四级电子照片修改过程。
  16. c语言x的n次方怎么写_C语言入门教程(三)进制与操作符
  17. FoxyProxy使用教程
  18. 【黑金动力社区】【531体验板教程】 第三章 开发环境(三)
  19. raid5数据丢失后应该怎么做才能提高数据恢复成功率?
  20. Qt简易计算器的代码实现

热门文章

  1. css波浪音阶,过渡动画案例
  2. python代码表达元旦节_python3提示节日脚本
  3. 苹果企业级账号、签名说明
  4. 【c语言】(函数)计算阶乘和数,编程输出所有的三位阶乘和数
  5. 商业数据分析之行业研究
  6. 禅道的安装及使用—以windows为例
  7. 软考备考----漏洞扫描系统简介
  8. 为什么网络慢直播如此火热?只通过摄像头设备可以实现慢直播吗?
  9. C语言中rvfsu是什么意思,C语言第4讲-C语言编程三结构.ppt
  10. Spring基于注解的自动装配