单片机数字时钟毕业设计论文内容摘要:

复杂 ,所以在此选择的是方案二,采用动态显示。 ( 2)键盘方案 方案一 :独立式键盘。 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。 独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。 所以,独立式按键常用于按键数量不多的场合。 方案二 :矩阵式键盘。 矩阵式键盘采用的是行列式结构 ,按键设置在行列的交点上 .(当接口线数量为 8 时 ,可以 将 4 根接口线定义为行线 ,另 4 根接口线定义为列线 ,形成 4*4 键盘 ,可以配置 16 个按键。 ) 由于本设计只用了 四 个按键,不需要采用矩阵式键盘,所以选用第一种方案 ,采用独立式键盘。 ( 3)计时方案 采用软件控制 : 利用单片机内部的定时 /计数器进行定时,配合软件定时实现时、分、秒的计时。 该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用软件方法实现计时。 第 3 章 硬件设计与分析 硬件设计原理 时钟电路的核心是 AT89C51 单片机,其内部带有 2KB 的可反复擦写的只读 Flash程序 存储器和 128 bytes 的随机存取数据存储器( RAM), 无须外扩程序存储器。 电脑时钟没有大量的运算和暂存数据,现有的 128B 片内 RAM 已能满足要求,也不必外扩片RAM。 系统配备 8 位 LED 数码管 显示和 3 个独立式按键 ,用 P0 口作为键盘接口电路,P1 口和 P3 口作为段码和位码输出口,并在字段码输出口接 74LS245 芯片,用该芯片来驱动 LED 数码管 显示。 利用 、 和 作为功能 按 键 输入口。 各单元电路介绍 单片机介绍 AT89C51 是一个低电压,高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读 Flash程序存储器和 128 bytes的随机存取数据存储器( RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS- 51 指令系统,片内置通用 8位中央处理器和 Flash 存储单元 ,所以说 AT89C51 是 一个功能强大的单片机。 AT89C51是一个低功耗高性能单片机, 它有 40个引脚, 32个外部双向输入 /输出( I/O)端口,同时内含 2 个外中断口, 2 个 16 位可编程定时计数器 ,2 个全双工串行通信口,AT89C51 可以按照常规方法进行编程,也可以在线编程。 其将通用的微处理器和 Flash存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 同时 AT89C51 的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有 RAM、定时 /计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。 省电模式中,片内 RAM 将被冻结,时钟停止振荡,所有功能停止工作, 直至系统被硬件复位方可继续运行。 单片机最小应用系统 时钟电路和复位电路是单片机最小应用系统中必不可少的。 单片机时钟电路图,如图 31 所示 :XTAL1 和 XTAL2 分别为反向放大器的输入和输 出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 图 31 单片机时钟电路图 复位是使单片机或系统中的其他部件处于某种确定的初 始状态。 单片机的工作就是从复位开始的,当在单片机的 RST 引脚引入高电平并保持 2 个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。 实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是上电与按键均有效的复位。 由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图 33所示: 图 33 上电复位电路 上电复位要求接通电源后,单片机自动实现复位操作。 常用的上电复位如上图所示。 上电瞬间 RST 引脚获得高电平,随着电容 C1 的充电, RST 引脚的高电平将逐渐下降。 显示电路 一、 七段 LED 显示器的原理 显示器是单片机应用系统常用的设备,包括 LED、 LCD 等。 LED 显示器由若干个发光二极管组成。 七段 LED 通常构成字型 “8”,还有一个发光二极管用来显示小数点。 每段 LED 分别引出一个电极,电极的名为 a、 b、 c、 d、 e、 d、 g、 dp,其中 dp 是小数点段的引出电极。 当发光二极管导通时,相应的一个笔画或一个点就发光。 控制相应的二极管导通,就能显示出对应字符。 说明:在该设计中,没有用到电极( dp),而是用单位的数码管来显示分隔符,其 七段 LED 显示器如图 34 所示 图 34 七段 LED 显示器 二、 动态显示 本设计共用了八位 LED 显示器,因此采用动态显示方式。 所谓动态显示就是一位一位的轮流点亮显示器的各个位。 对于显示器的每一位而言,每隔一段时间点亮一次。 虽然在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到的却是多个字符 “同时 “显示。 显示器亮度既与点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。 显示器的位数不大于 8 位,则控制显示器公共极电位只需要一个 I/O 接口,称为扫描口或字位口,控制各位 LED 显示 器所显示的字型也需要一个 8 位接口,称为段数据口 或字型口。 图 35 为驱动显示电路框图。 图 34 驱动显示电路框图 74LS244 是我们常用的芯片,用来驱动 led 或者其他的设备 当 8051 单片机的 P1 口总线负载达到或超过 P1 最大负载能力时,必须接入 74LS244等总线驱动器。 当片选端 /CE 低电平有效时, DIR=“0”,信号由 B 向 A 传输;(接收) 键盘及其接口 键盘是由若干个按键组成的,它是单片机最简单的输入设备。 通过键盘输入数据或命令,就可实现简单的人机对话。 一、按键的抖动现 象 按键就是一个简单的开关。 当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。 按键在闭合和断开时,触点会存在抖动现象。 按键抖动时间一般为 5ms~10ms,抖动可能造成一次按键的多次处理问题。 应采取措施消除抖动的影响。 消除的方法很多,本设计采用软件延时的方法来消除抖动。 当单片机检测到有按键按下时先定时, 然后再检测按键的状态,若仍是闭合状态则认为真的有键按下。 当检测到按键释放时,亦需要做同样的处理。 二、按键电路 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或 其他芯片的并行接口)连接。 独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。 所以,独立式按键常用于按键数量不多的场合。 该设计只用了三个按键,来实现功能控制。 在 运行状态下,按动控制按扭 SSET,可对秒进行调整;按动控制按扭 MSET,可对分进行调整;按动控制按扭 HSET,可对时进行调整; 因此采用独立式键盘方式,设计起来比较简单。 如图 36所示 图 35 键盘电路 系统原理图 AT89C51的 P1口接入三个按键,对时、分、秒进行调整。 P0口输出字段码,控制要显示的字符,外接 74LS245芯片,驱动 LED显示。 P3口输出字位码,去控制要显示的位, 其原理图如图 36所示。 A7 A7A6 A6A5 A5A4 A4A3 A3A2 A2A1 A1A0 A0S7B7B6B5B4B3B2B1B0S6S5S4S3S2S1S0B0B1B2B3B4B5B6B7S0S1S2S3S4S5S6S7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1S S E TM S E TH S E TA02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19A B / B A1U27 4 L S 2 4 5 图 36 电子钟原理图 当接入电源时,数字电子钟以秒为单位开始计时。 运行状态下, 按下控制按键 SSET,对秒进行调整;按下 MSET 调整分钟;按下 HSET 对小时进行调整。 这样通过三个按键,分别对时、分、秒进行调整,从而实现调时。 第 4 章 软件设计 在软件设计中,整个程序的主框架是以定时 1s 计算的方式来实现电子钟。 定时 1s的程序段,使用动态显示程序实现延时,既完成了 延时,也完成了数字的显示。 在计算程序中,使对应于时、分、秒的变化量按照 60 进制和 24 进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了电子钟的功能。 其软件功能模块主要有 键输入程序、中断程序、显示程序,以及延时程序。 需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出 1s 的时间精度是很有限的,所以整个时钟的精度不太高。 主程序的设计 初始。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。