基于at89c51的lcd数字测速仪内容摘要:
的可反复檫写的程序存储器和 12kB 的随机存取数据存储器( RAM),器件采用 Atmel 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内配置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大的 AT89C52 单片机可灵活应用于各种控制领域。 AT89C52单片机属于 AT89C51单片机的增强型,与 Intel公司的 80C52 在引脚排列、硬件组成、工作特点和指令系统等方面兼容。 其主要工作特性是: ⑴ 片内程序存储器内含 8KB 的 Flash 程序存储器,可擦写寿命为 1000 次; ⑵片内数据存储器内含 256 字节的 RAM; ⑶ 具有 32 根可编程 I/O 口线; ⑷ 具有 3 个可编程定时器; ⑸ 中断系统是具有 8 个中断源、 6 个中断矢量、 2 个级优先权的中断结构; ⑹ 串行口是具有一个全双工的可编程串行通信口; ⑺ 具有一个数据指针 DPTR;⑻ 低功耗工作模式有空闲模式和掉电模式; ⑼ 具有可编程的 3 级程序锁定位; ⑽ AT89C52 工作电源电压为 5( 1+) V,且典型值为 5V; ⑾ AT89C52 最高工作频率为24MHz AT89C52 为 40 脚双列直插封装的 8 位通用微处理器,采用工业标准的C51 内核,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。 功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU通信等。 主要管脚有: XTAL1( 19 脚)和 XTAL2( 18 脚)为振荡器输入输出端口,外接 12MHz 晶振。 RST/Vpd( 9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC( 40 脚)和 VSS( 20 脚)为供电端口,分别接 +5V 电源的正负端。 P0~P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口( 32~39 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚相连接,13 脚定义为 IR输入端, 10 脚和 11脚定义为 I2C总线控制端口,分别连接 N1的 SDAS( 18 脚)和 SCLS( 19 脚)端 口, 12 脚、 27 脚及 28 脚定义为握手信号功能端口,连接主板 CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 6 图 3 AT89C52管脚图 OPTC 光断续器 光断续器都是用来检测物体的靠近、通过等状态。 其发射、接收器做在体积很小的同一塑料壳体中,所以两者能可靠对准。 可分为遮断式和反射式两种,遮断式的槽宽,深度及光敏元件各不同,反射式的检测距离较短,多用于安装空间较小的场合。 由于检测范围小,光电断续器的发光二极管可用直流电驱动,红外 LED 的正向压降约 到 ,驱动电流控制在几十毫安。 光电断续器是较便宜,简单,可靠的光电器件,广泛用于自动控制系统,机电一体化设备,办公设备和家用电器中。 本设计采用遮断式光电断续器,将 其输出端口与单片机的 口相连接,用于向单片机提供一定频率的脉冲。 图 4 光电断续器 7 液晶显示 LM016L LM016L 液晶模块采用 HD44780 控制器, hd44780 具有简单而功能较强的指令集,可以实现字符移动,闪 烁等功能, LM016L 与单片机 MCU 通讯可采用 8 位或 4 位并行传输两种方式, hd44780 控制器由两个 8 位寄存器,指令寄存器( IR)和数据寄存器( DR)忙标志( BF),显示数 RAM( DDRAM),字符发生器 ROMA( CGOROM)字符发生器 RAM( CGRAM),地址计数器 RAM(AC)。 IR 用于寄存指令码,只能写入不能读出, DR 用于寄存数据,数据由内部操作自动写入 DDRAM 和 CGRAM,或者暂存从 DDRAM 和 CGRAM 读出的数据, BF 为 1 时,液晶模块处于内部模式,不响应外部操作指令和接受数据, DDRAM 用来 存储显示的字符,能存储 80 个字符码, CGROM 由 8 位字符码生成 5*7 点阵字符 160 中和 5*10 点阵字符 32 种。 可以自定义 8 个 5*7 点阵字符或者 4 个 5*10 点阵字符, AC 可以存储 DDRAM和 CGRAM 的地址,如果地址码随指令写入 IR,则 IR 自动把地址码装入 AC,同时选择DDRAM 或 CGRAM 但愿, LM016L 液晶模块的引脚功能如下表所示 图 5 LM016L功能引脚图 在本设计中,我们将 LCD 的 D0— D7 口分别与单片机的 — 口相连接,因 p1 口是一个准双向口,可用作通用 I/O 口。 内部有上拉电阻与电源相连。 实际上,电阻是两个场效应管( FET)并在一起:一个 FET 为负载管,其电阻固定。 另一个 FET 可工作在导通或者截止状态,使其总阻 值变化近似为 0 或阻值很大的两种情况。 当阻值近似为 0 时,可将引脚快速拉致高电平;当阻值很大时, P1 口为高阻输入状态。 当 p1 口输出高电平时,能向外提供电流负载,所以不必再接上拉电阻。 8 三端稳压集成器 LM7805 图 6 LM7805硬件图 LM7805是常用的三端稳压器,一般使用的是 TO220 封装,能提供 DC 5V 的输出电压,应用范围广,内含过流和过载保护电路。 带散热片时能持续提供 1A 的电流,如果使用外围器件,它还能提供不 同 的电压和电流。 将此器件与 9V 电源串联连接,其中, 2 脚接地。 3 脚串入电路中,从而达到将 9V 电源稳压到 5V,共给单片机使用的 目的。 同时,可以使电源电压稳定,延长系统寿命 保证单片机工作的稳定性及系统测量精度。 电源 这里采用 9V 的 南孚碱性 电池供电,用 LM7805 进行稳压处理,将 9V 稳降到5V 以供单片机以及各芯片使用。 经测试 9V 电池完全可以满足实际需要。 这里采用 我们 熟知的串口通讯方式, AT89C52 具有一个可编程的全双工串行通信口,它可以用作 UART,也可以用作同步移位寄存器 ,其帧格式可以有 8 位、 10位、 11 位,并能设置各种波特率,给使用带来很大的灵活性。 其中,电源的稳定性很重要,它关系着单片机的工作稳定性,更为系着整个系统的稳定性与寿命长短。 故必须利用 LM7805 芯片进行稳压处理,在实验调试过程中,应该使用示波器观察电压波形及幅值的稳定性,以便于进行下一步的调整。 9 4 软件设计 程序流程图 图 7 基于 AT89C52单片机 LCD数字测速仪主程序流程图 通常 对于转速或速度的测量可转化为对信号频 率(或周期)的检测,对信号频率的检测最常采用的方法有 3 种:计数法、周期法和多倍周期法。 其中,计数法适合于测高频,测低频时所需时间较长故误差较大。 周期法适合测低频,测高频信号时要求参考脉冲频率高,故误差大。 这两种方法共同优点是实现比较简单。 而多倍周期法在一定程度上可以解决高低频之间的矛盾,但实现相对困难。 因为多倍周期法要预先确定一个恰当的倍数 N。 而 N 的预先确定是比较困难的。 如果 N 取的不当,也会使检测时间增长或高频时有较大的误差。 在本设计中,对多倍周期法进行了一定的改进,并提出了一个简单的N 的算法,既可以自动 确定恰当的 N,又可以满足高低频信号的检测要求。 C 语言编程 程序语言采用 C 语言 编程 , C 语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到 C 语言的。 具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用 C 来开发。 开始 初始化 OPTC 光电断续器 数据转换 数据算法处理 LCD 显示 10 C 语言发展如此迅速 , 而且成为最受欢迎的语言之一 ,主要因为它具有强大的功能。 许多著名的系统软件 , 如 DBASE Ⅲ PLUS、 DBASE Ⅳ 都是由 C 语言编写的。 用 C 语言加上一些 汇编语言 子程序 , 就更能显示 C 语言的优势了 , 像 PC DOS 、 WORDSTAR 等就是用这种方法编写的。 归纳起来 C 语言具有下列特点 : 1. C 是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作 , 而这三者是计算机 最基本的工作单元。 2. C 是结构式语言 结构式语言的显著特点是代码及数据的分隔化 ,即程序的各个部分除了必要的信息交流外彼此独立。 这种结构化方式可使程序层次清晰 , 便于使用、维护以及调试。 C 语言是以 函数 形式提供给用户的 ,这些函数可方便的调用 , 并具。基于at89c51的lcd数字测速仪
相关推荐
9014GNDVSS1DI2HP13HP24HP35HP46HP57HP68CP19CP210C111C212OSC13VDD14SM5032C112233445566U1MOC3041EA/VPP31XTAL119XTAL218RST9(RD)17(WR)16(INT0)12(INT1)13(T0)14(T1)1512345678(AD0)39(AD1)38(AD2)37(AD3)36(AD4)
址读、随机读和顺序读。 图 34给出的是顺序读的时序图。 应当注意的是:最后一个读操作的第 9个时钟周期不是“不关心”。 为了结束读操作,主机必须在第 9 个周期间发出停止条件或者在第 9个时钟周期内保持 SDA 为高电平、然后发出停止条件。 图 34 顺序读 EEPROM 部分 EEPROM 的读写都是根据它的时序来编程的。 它是先 写一个字节,然后在写多个字节时调用单字节的程序。 写时序如图
机 IO 口进行扩展增加单片机并行输出的能力。 LED 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的 LED 显示屏就基于 AT89C51的点阵 LED显示驱动程序 ( C语言)设计 4 需要多个发光二极管。 构成 LED 屏幕的方法有两种,一是由单个的发光二极管逐点连接起来, 二是选用一些由单个发光二极管构成的 LED 点阵子模块构成大的 LED 点阵模块。 目前
中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 AT89C51 引脚功能说明 AT89C51 单片机的 的引脚见图 23。 P0 口: P0 口是一组 8 位漏极开路型双向 I/O,也即地址 /数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写 “ 1” 可作为高阻抗徐州工程学院毕业
括为表 2- 4 表 2- 4 ISD2560/90/120P 地址功能表 第三章 LM386 语音功率放大器 为了使语音芯片的性能得到最好的发挥。 需在 1 15脚即 SP+,SP之间加一个LM386语音功率放大集成电路。 它的 6脚为电源正极, 4脚接地。 3脚为选择输入端, 5脚为输出端。 8脚为增益控制端, 7脚微旁路端。 它具有如下特点: ( 1) 工作电压范围( 4V12V) (
( 1)测试单片机软件功能的完整性。 这是针对所有单片机系统功能的测试,测试软件是否写得正确完整。 ( 2)上电、掉电测试。 在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可抗性。 ( 3)老化测试。 测试长时间工作情况下,单片机系统的可抗性。 必要的话可以放置在高温、高压以及强电磁干扰的环境下测试。 ( 4) ESD和 EFT 等测试。