基于51单片机智能路灯控制器设计与实现内容摘要:
,会产生一些临时的运算结果,这些结果需要临时存放在一个地方,这个地方就是数据寄存器。 89C51单片机具有四个存储器空间 : (1)片内程序存储器,即单片机芯片内置的存储空间; (2)片外程序存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片; (3)片内数据存储器,即单片机芯片内置的存储空间; (4)片外数据存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片。 但从用户使用的角度, 89C51 存储器地址空间分为三类: (1)片内片外统一编址的 0000H— FFFFH 的 64K 字节的程序存储器地址空间,用 16 位地址。 第二章 芯片介绍 11 (2)64K 字节片外数据存储器空间,地 址也是从 0000H— FFFFH 用 16 位地址。 (3)256 字节数据存储器空间,用 8 位地址。 程序存储器地址空间: 89C51 程序存储器用于存放编写好的程序和表格常数。 程序存储器通过 16 位程序计数器 PC 寻址。 寻址能力为 64K字节。 片内 ROM 为 4KB。 地址为 0000H— FFFFH。 片外最多可扩至 64K 字节。 地址为 1000H— FFFFH。 片内片外是统一编址的。 当引脚 EA接高电平时, 89C51 程序计数器 PC 在 0000H— 0FFFH 范围内,即前 4K字节地址执行片内 ROM 中的程序。 当指令地址超过 0FFFH 后,就自动转向 片外 ROM 中取指令。 程序存储器的某些单元是留给系统使用的。 存储单元 0000H— 0002H用作 89C51上电复位后引导程序存放单元。 因为 89C51 上电复位后程序计数器 PC 的内容为0000H,所以 CPU 总是从 0000H 开始执行程序,如果在这三个单元中有跳转指令,那么,程序就被引导到转移指令所指的 ROM空间去执行。 0003H— 0023H 单元被均匀的分为 5 段。 用作 5 个中断服务程序的入口。 因为5 个入口之间间隔较小,因此一般来说,这五个入口都是存放着一条跳转指令,而把真正的中断服务程序安排在后面的存储单元中。 数据 存储器空间: 数据存储器 RAM 用于存放运算中的结果、数据暂存或缓冲、标志位等。 数据存储空间也分为片内和片外两大部分,即片内 RAM 和片外 RAM。 MSC— 51 内部 RAM有 128 或 256 个字节的用户数据存储 (不同的型号有分别 ),片外最多可扩展 64KB的 RAM,构成两个地址空间,访问片内 RAM 用“ MOV”指令,访问片外 RAM 用“ MOVX”指令。 它们是用于存放执行的中间结果和过程数据的。 MCS— 51的数据存储器均可读写,部分单元还可以位寻址。 232 串口芯片介绍 数据在传输过程中一位一位的串行传输,硬件连接 比较简单。 最简单时只需 3根连线即可实现串行通信,相对于并行通信来讲其通信速率低,一般适用于短距离数据通信。 在单片机应用系统中常采用串行通信方式。 在串行通信中,按同步方式的不同,又分为同步通信和异步通信。 基于 51 单片机智能路灯控制器设计与实现 12 ( 1)异步通信( Asynchronous Communication),数据通常是以字符为单位组成字符帧传送的。 字符帧由发送端一帧一帧地发送,一帧数据低位在前,高位在后,通过传输线被接收端一帧一帧地接收。 ( 2)同步通信( Synchronous Communication)是将一大批数据分成若干个数据块 , 数据块之间用同步字符隔开 , 而传输的各位二进制码之间都没有间隔。 其基本特征是发送端与接收端通信时保持严格同步。 即同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。 由于电脑串口 RS232 电平是 10V~ +10V,而一般的单片机应用系统的信号电压是 TTL电平 0~ +5V, MAX232 就是用来进行电平转换的,该器件包含两个驱动器、两个接收器和一个电压发生器电路提供 TIA/EIA — 232— F电平。 为了提高数据通信的可靠性和抗干扰能力, RS232C 标准中规定发送端信号逻辑“ 0” (空号 )电平范围为 +5V~ +15V,逻辑“ 1” (传号 )电平范围为- 5V~- 15V;接收端逻辑“ 0”为 +3V~ +15V,逻辑“ 1”为- 3V~- 15V。 噪声容限为 2V。 - 5V~ +5V 以及- 3V~+3V之间分别为发送端和接收端点信号的不确定区。 通常, RS232C 总线逻辑电平采用 +12V 表示“ 0”,- 12V 表示“ 1”。 下图是 MAX232 引脚图 图 MAX232 引脚图 该器件符合 TIA /EIA— 232— F 标准,每一个接收器将 TIA /EIA— 232— F 电平转换成 5V TTL/CMOS 电平。 每一个发送器将 TTL/CMOS 那电平转换成 TIA /EIA— 232— F电平。 232 是电荷泵芯片,可以完成两路 TTL/RS— 232 电平的转换,它的 112引脚是 TTL 电平端,用来连接单片机的。 MAX232 获得正负电源的另一种方法在单片机控制系统中,我们时常要用到数 /模 (D/A)或者模 /数 (A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电第二章 芯片介绍 13 源,例如: 9V ,9V; 12V, 12V。 这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是 5V电源,可又有很多方法获得非 5V电源。 在这里我们介绍 一块大家常用的芯片: MAX232。 MAX232 是 TTL~ RS232 电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为 uF 的时候,若输入为 5V,输出可以达到 14V 左右,输入为 0V,输出可以达到 14V,在输出电流为 20mA 的时候,处处电压可以稳定在 12V 和 12V,因此,在功耗不是很大的情况下,可以将 MAX232 的输出信号经稳压块后作电源使用。 串口通信的概念非常简单,串口按位 (bit)发送和接收字节。 尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。 它很简单 并且能够实现远距离通信。 比如 IEEE488 定义并行通行状态时,规定设备线总长不得超过 20 米,并且任意两个设备间的长度不得超过 2 米;而对于串口而言,长度可达 1200 米。 典型的串口用于 ASCII 码字符的传输。 通信使用 3根线完成:( 1)地线; (2)发送; (3)接收。 由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。 其他线用于握手,但不是必须的。 串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。 对于两个进行通信的端口,这些参数必须匹配: :这是一个衡量通信速度的 参数。 它表示每秒钟传送的 bit 的个数。 例如 300 波特表示每秒钟发送 300 个 bit。 当我们提到时钟周期时,我们就是指波特率例如如果协议需要 4800 波特率,那么时钟是 4800HZ。 这意味着串口通信在数据线上的采样率为 4800HZ。 通常电话线的波特率为 14400、 28800 和 36600。 波特率可以远远大于这些值,但是波特率和距离成反比。 高波特率常常用于放置的很近的仪器间的通信,典型的例子就是 GPIB 设备的通信。 :这是衡量通信中实际数据位的参数。 当计算机发送一个信息包,实际的数据不会是 8 位的,标准的值是 7和 8位。 如何设置取决于你想传送的信息。 比如,标准的 ASCII 码是 0~ 127(7 位 )。 扩展的 ASCII 码是 0~ 255(8 位 )。 如果数据使用简单的文本 (标准 ASCII 码 ),那么每个数据包使用 7 位数据。 每个包是指一个字节,包括开始 /停止位,数据位和奇偶校验位。 由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 基于 51 单片机智能路灯控制器设计与实现 14 :用于表示单个包的最后一位。 典型的值为 和 2 位。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是 表示传输的结束,并且提供计算机校正时钟同步的机会。 适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 :在串口通信中一种简单的检错方式。 有四种检错方式:偶、奇、高和低。 当然没有校验位也是可以的。 对于偶和奇校验的情况,串口会设置校验位 (数据位后面的一位 ),用一个值确保传输的数据有偶个或者奇个逻辑高位。 例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。 如果是奇校验,校验位为 1,这样就有 3 个逻辑高位。 高位和低位不真正的检查数据,简单置位 逻辑高或者逻辑低校验。 这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 光敏电阻 光敏电阻介绍 光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。 这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。 这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。 光敏电阻器是利用半导体的光电效应制成的一种电阻值随入 射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。 光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。 常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。 光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达 1~ 10M欧 ,在强光条件( 100LX)下,它阻值(亮阻)仅有几百至数千欧姆。 光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光( ~ )μ m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。 设计光控电路时, 都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。 第二章 芯片介绍 15 通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。 当它受到光的照射时,半导体片(光敏层)就激发出电子 — 空穴对,参与导电,使电路中电流增强。 为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形成的。 光敏电阻器通常由光敏层、玻璃基片(或树脂防潮膜)和电极等组成。 光敏电阻器在电路中用字母“ R”或“ RL”、“ RG”表示。 其结构如图 所示: 图 光敏电阻结构图 在光敏电阻两端的金属电极之 间加上电压,其中便有电流通过,受到适当波长的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。 光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也可以加交流电压。 光敏电阻是采用半导体材料制作,利用内光电效应工作的光电元件。 它在光线的作用下其阻值往往变小,这种现象称为光导效应,因此,光敏电阻又称光导管。 用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。 通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,然后接出引线,封装在具有透光镜的密封壳体内,以 免受潮影响其灵敏度,如图 所示。 在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子 — 空穴对增加了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻的阻值下降。 光照愈强,阻值愈低。 入射光消失后,由光子激发产生的电子 — 空穴对将逐渐复合,光敏电阻的阻值也就逐渐恢复原值。 基于 51 单片机智能路灯控制器设计与实现 16 图 光敏电阻实物图 基本特性及其主要参数 、亮电阻 光敏电 阻在室温和全暗条件下测得的稳定电阻值称为暗电阻,或暗阻。 此时流过的电流称为暗电流。 例如 MG41— 21型光敏电阻暗阻大于等于。 光敏电阻在室温和一定光照条件下测得的稳定电阻值称为亮电阻或亮阻。 此时流过的电流称为亮电流。 MG41— 21 型光敏电阻亮阻小于等于 1K。 亮电流与暗电流之差称为光电流。 显然,光敏电阻的暗阻越大越好,而亮阻越小越好,也就是说暗电流要小,亮电流要大,这样光敏电阻的灵敏度就高。 在一定照度下,光敏电阻两端所加的电压与流过光敏电阻的电流之间的关系,称为伏安特性。 由图 可知,光敏电阻伏安特性近似直线,而且没有饱和现象。 受耗散功率的限制,在使用时,光敏电阻两端的电压不能超过最高工作电压,图中虚线为允许功耗曲线,由此可确定光敏电阻正常工作电压。 第二章 芯片介绍 17 图 光敏电阻的伏安特性 光敏电阻的光电流与光照度之间的关系称为光电特性。 如图 所示,光敏电阻的光电特性呈非线性。 因此不适合做检测元件,这是光敏电阻的缺点之一,在自动控制中它常用做开关式光电传感器。基于51单片机智能路灯控制器设计与实现
相关推荐
可以与 PC机组成测量仪器。 ( 4)数字化、智能化 微电子技术的进步,使仪器仪表产品与微处理器、 PC技术融合得更为紧密,其数字化、智能化程度不断提高。 尤其在仪器仪表的设计中采用了大量的超大规模集成( VLSI)的新器件,表面贴装技术( SMT) 、多层线路板印刷、圆片规模集成( WSI)和多芯片模块( MCM)等新工艺以及CAD,CAM,CAPP,CAT 等计算机辅助手段,使多媒体
G2 引脚接地,然后以 A、 B、 C、 D 四脚为输入端,就会形成 16 种不同的输入状态,分别为0000~1111,然后使每种状态只控制一路输出,即会有 16 路输出。 如果一行 64 点全部点亮,则通过 74LS154 的电流将 达 640 mA,而实际上,74LS154 译码器提供不了足够的吸收电流来同时驱动 64 个 LED 同时点亮,因此,应在 74LS154 每一路输出端与 16
V 编程电压( Vpp)。 抢答器的优点及组成 在知识比赛中,特别是做抢答题目的时候 , 在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。 如果在抢答中,靠视觉是很难判断出哪组先答题。 利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。 本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。
液晶控制程序 液晶控制程序也就是液晶的驱动程序,这些程序对于液晶显示是必不可少的,液晶控制程序框图如图33所示:写命令程序判忙碌程序写数据程序图33 液晶控制程序框图判忙碌程序是对液晶模块内部的忙标志位(BF)的判断,也是执行写命令程序和写数据程序的前提,当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF 标志时BF 需为0,方可接受新的指令
SETB T_CLK CLR T_RST DJNZ R7,S1302 CLR T_RST CLR T_CLK SETB T_RST MOV B,8EH。 控制寄存器 LCALL WRITEBYTE MOV B,80H。 控制, wp=1,写保护 LCALL WRITEBYTE SETB T_CLK CLR T_RST POP ACC MOV R1,A POP ACC。 A 恢复数据 14 RET
uchar i=100。 if(K0==0) { delay(10)。 if(K0==0) { while(K0==0amp。 amp。 i) { i。 delay(10)。 } TR0=1。 s=time1。 m=0。 flag1=1。 flag2=1。 flag3=1。 XXXXXXXX 学院(论文) 17 num=0。 beep=1。 D0=1。 flag4=0。 //清除违规标志位