基于单片机的多功能电子秒表的设计内容摘要:
HOLTEK 公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。 此外还有 MOTOROLA 公司的产品,日本几大公司的专用单片机。 在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。 AT89C51 单片机的介绍 —— 最常用的 51 芯片。 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROM— Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。 该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 本设计的最主要元器件就是 AT89C51 单片机 , 由 CPU,振荡器和时序电路, 4 个 8 位的 I/O端口( P0,P1, P2, P3),串行口等组成。 基于单片机的多功能电子秒表的设计 13 AT89C51 单片机 主要特性 : 与 MCS51 兼容 4K字节可编程闪烁存储器 寿命: 1000 写 /擦循环 数据保留时间: 10 年 全静态工作: 0Hz24Hz 三级程序存储器锁定 128*8 位内部 RAM 32可编程 I/O 线 两个 16 位定时器 /计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明: VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器 ,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 PO 口的三个功能 : 外部扩展存储器时,当作数据总线(如图中的 D0~D7 为数据总接线口) 外部扩展存储器时,当作地址总线(如图中的 A0~A7 为地址总接线口) 不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1 口: P1 口是一个内部提供上拉电阻的 8位双向 I/O 口, P1口缓冲器能接收输出4TTL 门电流。 P1口管脚写入 1后 ,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8位双向 I/O 口, P2口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2基于单片机的多功能电子秒表的设计 14 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对 外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0外部输入) T1(记时器 1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲 信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 基于单片机的多功能电子秒表的设计 15 振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动 器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写“ 1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM,定时器, 计数器,串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 图 21 AT89C51 单片机 基于单片机的多功能电子秒表的设计 16 第 3 章 系统硬件设计 本系统中,硬件电路主要有电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等 电源电路 电源电路 是指提供给用电设备电力供应的电源部分的电路设计,使用的电路形式和特点。 电源有交流电源也有直流电源。 电路的大小,可以相差很大,小到硅 片上的集成电路,大到高低压输电网。 电源电路 分类: 一般可分为开关电源电路,稳压电源电路,稳流电源电路,功率电源电路,逆变电源电路, DCDC 电源电路,保护电源电路等。 电源电路是 系统 最基本 的部分 ,任何电路都离不开电源部分 ,由于三端集成稳压器件所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立元件,在生产中被广泛采用,由于是小系统,我们 采用 7809 电源提供 +5V 稳压电压。 晶体振荡电路 石英 晶 体 振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振 器件 ,它的基本构成大致是 :从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极 ,在每个电极上各焊一根引线接到管脚 上,再加上封装外壳就构成了 石英晶体谐振器 ,简称为石英晶体或晶体、晶振;而在封装内部添加 IC 组成振荡电路的晶体 元件 称为晶体振荡器。 其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。 MCS51 单片机内部的振荡电路是一个 高 增益反相放大器,引线 XTAL1 和 XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大 器可以配置为片内振荡器。 这里, 我们选用 51 单片机 12MHZ 的内部振荡方式,电路如下:电容器 C1, C2 起稳定振荡频率,快速起振的作用, C1 和 C2 可在 20100PF 之间取 ,这里 取 30P,接线时要使晶体振荡器 X1尽可能接近单片机。 基于单片机的多功能电子秒表的设计 17 图 31 晶体振荡电路 复位电路 采用上电 +按键复位电路,上电后,由于电容充电,使 RST 持续一段高电平时间。 当单片机已在运行之中时,按下复位键也能使用使 RST 持续一段时间的高电平,从而实现上电加开关复位的操作。 这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。 当程序出现错误时,可以随时使电路复位。 其 电路图如下 图 32 所示。 图 32 复位电路 显示电路 我们采用的是数码管显示电路。 用 2 个共阳极 LED 显示, LED 是七段式显示器,内部有 7 个条形发光二极管和 1 个小圆点发光二极管组成,根据各管的亮暗组合成字符。 在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,基于单片机的多功能电子秒表的设计 18 但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的 I/O 口。 在设计中,我们采用 LED 动态显示,用 P0 口驱动 显示。 由于 P0 口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。 其 电路图如下 图 33 所示。 2 3 4 5 6 7 8 91R P 1RE S P A C K 8 图 33 显示电路 键盘电路 键盘是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,用户能通过键盘向计算机输入指令、地址和数据。 一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。 按钮开关的抖动问题组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。 关 S 未被按下时, P1。 0 输 入为高电平, S 闭合后, P1。 0 输入为低电平。 由于按钮是机械触点,当机械触点断开、闭合时,会有抖动动, P1。 0 输入端的波形如图 2所示。 这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个 “ 漫长 ” 的时间了。 前面我们讲到中断时曾有个问题,就是说按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不 对了。 为使 CPU 能正确地读出 P1口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:硬件办法和软件办法。 单片机中常用软件法,因此,对于硬件办法我们不介绍。 软件法其实很简单,就是在单片机获得 P1。 0口为低的信息后,不是立即认定 S1 已被按下,而是延时 10 毫秒或更长一些时间后再次检测P1。 0 口,如果仍为低,说明 S1 的确按下了,这实际上是避开了按钮按下时的抖动时基于单片机的多功能电子秒表的设计 19 间。 而在检测到按钮释放后( P1。 0 为高)再延时 510 个毫秒,消除后沿的抖动,然后再对键值处理。 不过一般情况下,我们常常 不对按钮释放的后沿进行处理,实践证明,也能满足一定的要求。 当然,实际应用中,对按钮的要求也是千差万别,要根据不一样的需要来编制处理程序,但以上是消除键抖动的原则。 图 35 键盘连接 图 36 单片机与键盘接口图 通过 1/0 口连接。 将每个按钮的一端接到单片机的 I/O 口,另一端接地,这是最简单的办法,如图 3 所示是实验板上按钮。基于单片机的多功能电子秒表的设计
相关推荐
由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。 一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。 录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利直接模拟存储技术(DAST TM)实现的。 利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。
共 47 页 声光报警电路与单片机 口相连,当单片机的 口输出一系列脉冲方波,开始驱动报警电路报警。 声光报警部分主要由发光二极管和蜂鸣器组成,当报警开始时,发光二极管闪烁,蜂鸣器发出声响,声光并用,同时报警。 声光报警部分电路图如 图 9 所示。 图 9 声光报警部分电路图 ( 7)、电源电路 电源开关 SW1 送入 220V 经过保险丝后送入变压器,保险丝起保护电路的作用。 变压器 L1 将
控制系统的原理,经过仿真与分析 ,对 电路的原理及功能更加熟悉 ,同时提高了设计能力与及对电路的分析能力。 8 2 交通灯控制系统设计 实际调查 本设计涉及到多种路口,因此进行了实际调查 ,调查了多种路口交通灯 ,如: 十字路口交通灯 、 丁字路口交通灯 、 BRT 交通灯。 十字路口交通灯的实用情况 十字路口交通灯用在两道交叉的“十”上,下图所示为十字路口红绿灯规则的状态图: 表 21 S1
号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内 部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2
要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数码管的 COM 端,就使各个数码管轮流受控显示。 液晶显示器 常用的液晶显示器有 12864 和 1602。 (1) 12864 12864 是 128*64 点阵液晶模块的点阵数简称。 液晶显示模块是 128*64 点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(
件编程来选择各种波形、幅值电压和频率。 其中 口是波形选折, 口是位数选择,而 口 和 口分别是对数字的加和减控制。 单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个时钟振荡脉冲( 2 个机器周期)以上的高电平,单片机便实现初始化状态复位。 为了保证应用系统可靠地复位,通常是 RST 引脚保持 10ms 以上的高电平。 系统上电时, 7 在 RC