基于AT89C51数字时钟设计过程与仿真
现代电子系统的基本核心是单片机,而单片机的应用能使爱好者既动脑、又动手地进行软件设计和硬件制作,再加上单片机原理与应用课程是目前职业学校电类专业的主干课之一,其操作性很强,对于职业类学校的学生,就理论课的讲授是远远不够的,还需要有一定实际操作环境。笔者利用 KeilC51 软件和简易仿真器(图 1)以及电脑,共同完成一个项目设计以激发学生和爱好者的学习兴趣。本作品采用由 Atmel 公司生产的 AT89C51 单片机,以汇编语言为程序设计的基础,通过项目的形式来设计一个用四位数码管显示带小数点分、秒的时钟。
1设计环境介绍
Keil 软件是目前最流行开发 MCS- 51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(u Vision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用,对于使用 51 系列单片机的学习者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境和强大的软件仿真调试工具,也会令你事半功倍。
2 设计源程序
把数字时钟设计作为一个项目时,应该对单片机应用系统的开发过程有一个比较深入的了解。整个开发过程包括三个部分:总体设计;硬件设计调试;软件设计调试
软件设计调试由流程图(先粗后细),分配I/O,内存,编程,编辑,汇编,仿真调试等7 部分组成。在教学中可以先通过几个简单程序的编写,熟悉程序的设计过程。
第一个程序设计要求在仿真器的个位上显示“5”字,程序如下:
第二个程序:让“F”循环移位,每秒移位一位,熟悉延时子程序的应用。
完整程序见网址 http://user.qzone.qq.com/582739447?pt-lang=2052
通过以上程序的设计,使设计者对软件调试过程有了一定的了解后。下一步进行数字时钟的设计。此软件程序由主程序、动态显示子程序、定时器中断服务程序和延时子程序组成。系统初始化后,启动 T0,定时时间为 50ms,然后累加 20 次的方法定时 1s,计满 60s 就让分单元加 1,秒单元清零,循环往复,直至显示 59 min59s 后全部清零,重新开始计数。笔者用四位数码管个位,十位代表秒显示,从零开始计数,百位,千位代表分显示,十位和百位中间用小数点闪烁显示。下面是一个完整的数字时钟显示程序框图。
相关文章
- 2023-11-03MSP430单片机在新型智能水表开发中的应用
- 2024-08-28多功能形位误差测量系统的研制与应用
- 2024-05-21再谈智能高速在线涡流探伤系统的研发
- 2024-08-15浅谈风机机座上两轴承孔同轴度偏差过大的修正
- 2023-10-30智能化仪器监控程序的结构设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。