1、南京工程学院继续教育学院毕业设计论文第 0 页 共 21 页第一章 概述1.1 单片机计数器的介绍本系统采用单片机AT89C51作为本设计的核心元件,系统由AT89C51、LED 数码管、按键等部分构成,能实现输出等功能利用单片机的接收等功能而设计的一款计数器。由两个共阴极数码管显示,一个独立按键组成键盘部分,由单片机控制,CD4511七段译码器进行驱动,由LED数码管显示来表示数字计时。1.2 本课题研究的任务和目的计数器在工业控制中有着广泛的应用。传统的数字计数器都是用中小规模数字集成电路构成的,不但电路复杂,成本高,功能修改也不易。用单片机制作的计数器可以克服传统数字电路计数器的局限,有
2、着广阔的应用前景。 本文介绍的计数器采用 ATMEL公司的 AT89C51单片机。本计数器的主程序完成按键开关的读取和数码管扫描。数码管采用静态扫描的方法显示,实现对 p2.0脚的检测用这种方法可以实现实时计数。通过对此课题的学习研究,还可以培养自己独立解决实际问题的能力,为以后的学习打下基础。单片机手动计数器第 1 页 共 21 页第二章主要元器件的简介与选用2.1AT89C51 的结构和性能AT89C51是美国 ATMEL公司生产的低电压、高性能 CMOS 8位单片机,片内含 4KB 的可反复擦写的程序存储器和 128B的随机存取数据存储器(RAM) ,器件采用 Atmel公司的高密度、非
3、易失性存储技术生产,兼容标准 MCS-51指令系统,片内配置通用 8位中央处理器(CPU)和 Flash存储单元,功能强大的 AT89C51单片机可灵活应用于各种控制领域。2.1.1 主要性能参数 与 MCS-51产品指令系统完全兼容 4KB可反复擦写 Flash闪存存储器 1000次擦写周期 时钟频率范围:0Hz24MHz 3级加密程序存储器 1288B内部 RAM 32个可编程 I/O接口线 2个 16位定时/计数器 6个中断源 可编程串行 UART通道 低功耗空闲和掉电模式2.1.2 功能特性概述AT89C51提供以下标准功能:4KB 的 Flash闪存存储器,128B 内部 RAM,3
4、2 个 I/O接口线,两个 16位定时/计数器,一个 5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU的工作,但允许 RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。南京工程学院继续教育学院毕业设计论文第 2 页 共 21 页2.1.3 管脚配置AT89C51的封装形式和引脚排列如图 2.1、图 2.2和图 2.3所示。图 2.1 AT89C51DE PDIP封装形式和引脚排列图 2
5、.2 PQFP/TQFP封装形式和引脚排列单片机手动计数器第 3 页 共 21 页图 2.3 PLCC封装形式和引脚排列 VCC:电源。 GND:地。 P0口:P0 口是一组 8位漏极开路型双向 I/O口,也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动 8个 TTL逻辑门电路,对端口些“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1 是一个带内部上拉电阻的 8位双向 I/
6、O口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I IL) 。Flash 编程和程序校验期间,P1接收低 8位地址。 P2口:P2 是一个带有内部上拉电阻的 8位双向 I/O口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I IL) 。在访问外部程序存储器或 16位地址的外部数据存储器(例如执行 MOVX DPTR,A)时
7、,P2 口送出高 8位地址数据。在访问 8位地址的外部数据存储器(如执行 MOVX R1,A)时,P2 口南京工程学院继续教育学院毕业设计论文第 4 页 共 21 页线上的内容(特殊功能寄存器 SFR区中 R2寄存器的内容) ,在整个访问期间不改变。Flash 编程或校验时,P2 亦接收高位地址和其他控制信号。 P3口:P3 口是一组带有内部上拉电阻的 8位双向 I/O口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对 P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3口将用上拉电阻输出电流(I IL) 。P3 口除了作为一般的
8、I/O口线外,更重要的功能是它的第二功能,如表 2-1所示。P3 口还接收一些用语 Flash闪速存储器编程和程序校验的控制信号。表 2-1 AT89C51的 P3口的第二功能端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输入口)P3.2 INT0(外中断 0)P3.3 INT1(外中断 1)P3.4 T0(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通) RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/ PROG :当访问外部程序存储器或数
9、据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8位字节,即使不访问外部存储器,ALE 仍以时钟振荡频率的 1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE脉冲。对 Flash存储器编程期间,该引脚还用于输入编程脉冲( PROG ) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH单元中的 D0位置位,可禁止 ALE操作。该位置位后,只有一条 MOVX和 MOVC指令 ALE才会被激活,此外,该引脚还会微弱被拉高。单片机执行外部程序时,应设置 ALE无效。 PSEN :程序存储允许( PSEN )输出是
10、外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,单片机手动计数器第 5 页 共 21 页即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的 PSEN 信号不出现。 EA/VPP:外部访问允许。欲使 CPU仅访问外部程序存储器(地址为 000011-FFFF11) ,EA 端必须保持低电平(接地) 。需注意的是如果加密位 LB1被编程,复位时内部会锁存 EA端状态。如 EA端为高电平(接 VCC端)CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上12V 的编程允许电源VPP,当然这必须是该器件
11、是使用 12V的编程电压 VPP。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。2.1.4 时钟振荡器AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和 XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图 2.4(a)所示。(a) 内部振荡器 (b) 外部振荡器图 2.4 时钟振荡电路外接石英晶体或陶瓷谐振器及电容 C1、C2 接在放大器的反馈回路中构成并联谐振电路。对外接电容 C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡
12、频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性,如果使用石英晶体,我们推荐电容使用 30pF10pF,而如使用陶瓷谐振器建议选择 40pF10pF。用户也可以使用外部时钟,采用外部时钟电路如图 1.5(b)所示。这种情况下,外部时钟脉冲接到 XTAL1端,即内部时钟脉冲的输入端,XTAL2 则悬空。南京工程学院继续教育学院毕业设计论文第 6 页 共 21 页由于外部时钟信号是通过一个 2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求2.2 数码显示器的简介2.2.1 数码显示器的发展历程19
13、23 年,罗塞夫(Lossen.o.w)在研究半导体 SIC时有杂质的 P-N结中有光发射,研究出了发光二极管(LED:Light Emitting Diode) ,一直不受重视。随着电子工业的快速发展,在 60年代,显示技术得到迅速发展,人们研究出 PDP激光显示等离子显示板、LCD 液晶显示器、发光二极管 LED、电致变色显示 ECD、电泳显示 EPID等多种技术。由于半导体的制作和加工工艺逐步成熟和完善,发光二极管已日趋在固体显示器中占主导地位。LED 之所以受到广泛重视并得到迅速发展,是因为它本身有活动、很多优点。例如:亮度高、工作电压低、功耗小、易于集成、驱动简单、寿命长、耐冲击且性
14、能稳定,其发展前景极为广阔。目前正朝着更高亮度、更高耐气候性和发光密度、发光均匀性、全色化发展。2.2.2 数码显示器的种类数码显示器是数码显示电路的末级电路,它用来将输入的数码还原成数字。数码显示器有许多类型,适用于场所也不相同,具体如表 2-3所示。液 晶 显 示 器 ( LCD)功 耗 小 , 不 怕 光 冲 击 , 体 积 紧 凑 , 但 使用 温 度 范 围 窄 , 不 能 在 黑 暗 中 显 示 , 且相 应 速 度 慢 。在 微 型 电 子 计 算 器和 电 子 表 中 应 用 较多 。发 光 二 极 管 显 示 器( LED)亮 度 高 , 字 型 清 晰 , 可 在 低 电
15、压 1.5 3V下 工 作 ,另 外 还 具 有 体 积 小 、 寿 命 长 、 响应 速 度 快 等 优 点 。在 数 字 化 仪 表 、 一起 及 数 字 显 示 电 子设 备 中 使 用 。辉 光 数 码 管 亮 度 高 , 价 格 便 宜 , 但 工 作 电 压 需 要180V, 且 不 能 和 集 成 电 路 匹 配 。 在 电 子 测 量 仪 中 使用 。荧 光 数 码 管体 积 小 , 亮 度 高 , 工 作 电 压 为 20V, 响 应速 度 快 , 可 以 和 集 成 电 路 匹 配 , 发 光 为绿 色 。在 电 子 测 量 仪 器 及小 型 计 算 器 中 使 用。表 2
16、-3 常 用 数 码 显 示 器 的 类 型 、 用 途 及 类 型名 称 特 点 用 途单片机手动计数器第 7 页 共 21 页图 2-42.3 数码显示器工作原理简介2.3.1 辉光数码管辉光数码管是利用辉光放电原理制成的,在充有氖气的玻璃管内设有 0、1、29 字样的 10个阴极和一个公用阳极,如图 2-1所示。各阴极的表面积相差不多,而每个阳极与阳极之间的距离,则根据数字的笔画确定。这样在同一阳极电压作用下,控制每个阴极的电压,便可使需要的数字发光。 图 2-4 辉光数码管结构示意图辉光数码管需在强电场作用下才能启辉,因此,在译码器与辉光数码管之间必须配有电子开关,如图 2-5中的 V
17、T1VT10 便是半导体三极管组成的开关电路。2.3.2 荧光数码管荧光数码管的结构如图 2-3所示。当灯丝在电源电压作用下加热到 700左右时,灯丝便发射电子,发射的电子在栅极的作用下将加速运动,最后在笔画电极的作用下打到笔画电极上。由于笔画电极上涂有荧光粉,当运动速度很高的电子打到它上面时,笔画电极便发出绿色的光。笔画电极采用 8段电极,在逻辑电路输出电压的作用下,某些笔画被加上电压,电子就会轰击这些电极上的荧光粉,从而显示出某一确定的数字。当笔画电极上的电压为零时,则发光的相应电极熄灭。荧光数码管有单位的和多位的,单位的多为电子管型,多位的为长条形。 图 2-6 荧光数码管的结构示意图2
18、.3.3 液晶显示器 液晶显示器又叫 LCD显示器,她的结构如图 2-4所示。液晶显示器的主要材料是液晶图 2-6图 2-5 辉光数码管驱动电路南京工程学院继续教育学院毕业设计论文第 8 页 共 21 页晶体(简称晶体) ,它是一种有机材料,在特定的温度范围内,既具有液体的流动性,又具有某些光学特性,其透明度和颜色随电场、磁场、光及温度等外界条件的变化而变化。因此,在逻辑电路的输出信号作用下,可现实出某一确定的数字。液晶显示器是一种被动式显示器件,液晶本身不会发光,而是借助自然光和外来光显示数字。外部光线愈强,它的显示效果愈好。 由于液晶显示器所需的功耗很小,因此它可由集成电路译码器直接驱动。
19、1-玻璃;2-液晶;3-7 段正面电极;4-8字形背电极;5-插头引出脚图 2-7 LCD数码显示器结构示意图2.3.4 发光二极管显示器发光二极管显示器又叫做 LED数码显示器,也称作七段译码器。它是利用发光二极管在正向电压作用下,通过一定的电流就发光的特点,把 7个发光二极管分段封装,就成了 LED数码显示器。它的外形如图 2-8所示。 图 2-8用于数码显示的发光二极管多为红色,它们分单位的和多位的两种。单位 LED数码显示器的内部电路如图 2-6所示,它分为共阳极连接式和共阴极连接式两种,代表各笔画的 a g 发光二极管的正极或负极均由引脚引出,其中 DP引脚代表小数点。 对于共阴极的
20、数码管(如图 2-10所示)只有当其输入端输入高电平时二极管才会发光;而共阳极的数码管只有当输入端输入低电平时二极管才会发光。共阴极内部每个发光二极管的阴极被接在一起,成为该各段的公共选通线;发光二极管的阳极则成为段选线。如果要显示某个数字只需相应选中对应的段选线。对于共阳极数码管(如图 2-11所示),则正好相反,内部发光二极管的阳极接在一起,阴极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮共阳极数码管的一段时,公共段需接高电平、该段的图 2-7单片机手动计数器第 9 页 共 21 页段选线接低电平,从而该段被点亮。当需要点亮共阴极数码管的一段时,公共段需接低电平,该段的段选线接高电平,该段被点亮。LED数码显示器的数字显示方式如图 2-12所示。其中 7个发光二极管制成条形,分别用 a、b、c、d、e、f、g 表示,代表数码的笔画,有选择地使用其中若干笔画发光,这样就可以组成 09十个数码。比如在一个共阴极数码管上要显示“7” ,则 a、b、c 段需被点亮。如果对于共阴极的则 a、b、c 对应于高电平;如果对于共阳极的则 a、b、c 对应于低电平。图 2-10 共阳极数码管内部结构 图 2-11 共阴极数码管内部结构图 2-12 LED数码管显示器显示方式