路灯控制管理系统的设计毕业设计doc

TECHNICAL SERVICE
路灯控制管理系统的设计毕业设计doc

首页 > 解决方案 > 智能灯杆解决方案


路灯控制管理系统的设计毕业设计doc


路灯控制管理系统的设计毕业设计doc

时间:2023-12-23 03:05:09   作者: 智能灯杆解决方案


  《路灯控制管理系统的设计毕业设计.doc》由会员分享,可在线阅读,更多相关《路灯控制管理系统的设计毕业设计.doc(41页珍藏版)》请在点石文库上搜索。

  1、扬州大学广陵学院本科生毕业设计(论文)路灯控制管理系统的设计 摘要 随着中国经济的加快速度进行发展,人类对电力能源的需求日益增大,电力资源日益缺乏。因此如何节能降耗已成为近几年来人们关注讨论和研究的话题。本文研究的路灯控制管理系统是针对我国城市在路灯照明的控制方面产生的巨大能源消耗和浪费而开发出的新的智能型的路灯控制管理系统。本文详细的介绍了该系统的设计与实现。本文详细的介绍并分析了以单片机芯片AT89S52、时钟芯片DS1302、光敏电阻为主要部件的硬件电路和在以keil 软件为主要编程环境的软件部分。通过时间控制和环境参数控制相结合的方法去控制路灯。实现随着光照强度的大小和在一定时间段内路灯都有着的不同表现,午夜

  7、51.1 路灯控制器系统模块设计的意义51.2 路灯控制器系统模块设计的前景6第二章 路灯控制管理系统设计的总体方案7第三章 路灯控制系统的硬件设计8 3.1 光照信号测量电路的设计93.2 时钟信号测量电路的设计133.3 单片机控制部分173.3.1 AT89S52的介绍173.3.2 复位电路的设计203.3.3 晶振电路的设计203.4 显示电路的设计21第四章 路灯控制器的软件设计234.1 Keil软件的介绍234.2路灯控制器设计的功能264.3路灯控制器的流程图27第五章 路灯控制系统的调试295.1电路调试295.1.1 硬件调试295.1.2 软件调试295.2 调试过程中出现的问题和

  8、解决方法30第六章 自己的心得体会31致谢32参考文献33附录34第一章 绪论随着社会的不断发展,人类的生活水平不断提高,电力能源已经成为人们日常生活中不可缺少的部分。展望未来,再用50年的时间,在本世纪中叶我国基本实现现代化,使人民享有更高的物质与精神文明。这一宏伟目标能否顺利实现,在相当大的程度上取决于电力能源在未来50年稳健的发展。 在我国电力能源应用方面,城市路灯所消耗的能源占用了很大的比重。据不完全统计,城市公共照明在我国照明耗电中占30的比例。目前,全国660多座城市约有各种路灯400万盏,为了提高路面亮度,若平均每盏灯增加50W。则共需增容20万千瓦,全年多耗电约7亿千瓦时由于多

  9、增加光源、灯具、灯杆等照明设施,带来的初次购置费及日常的维护费也会明显增加。从绿色照明角度考虑,多发出7亿千瓦时的电力,增排的二氧化碳和二氧化硫等有害气体对空气质量会产生巨大的影响,将破坏空气质量,不利于环保。但是城市的发展离不开路灯照明,它服务于交通安全和人们的生活,美化了城市容貌,为创造良好的投资环境起着举足轻重的作用。随着我国经济的快速发展,城市市政建设步伐加快,城市道理照明工程建设受到越来越多的重视而在城市夜晚变得灯火辉煌、绚丽多彩的同时,电能消耗也逐年攀升。作为城市道路的路灯照明,一方面耗能增大,另一方面维护量也增大。因此如何采取节能技术,降低城市公共照明能耗,成为人们关注讨论和研究

  10、的问题。1.1 路灯控制器系统模块设计的意义目前各大城市的交通路灯的能源利用率存在一个普遍的问题,这就是路灯的能源利用率不高,我国小型城市在夜晚9点后,我国大中型城市在午夜12点后,道路上几乎空无一人,可城市照明从这一时段直至清晨6点路灯熄灭。即使是在北京、上海等大城市的繁华地点,凌晨2点以后,道路上也是人烟稀少。在这样低交通流量的道路上仍然保持较高的照度是明显没有必要的。因此,设计出一种智能型的路灯控制管理系统是相当重要的,它不但要求能够在节能的同时也要求对人们的出行和对城市的发展没有大的影响。本设计是以单片机AT89S51、时钟芯片DS1302、光敏电阻为主要控制单元的硬件电路,采用了时间控制和环

  11、境参数控制相结合的控制策略。实现了路灯定时开关,根据天气情况光照强度决定路灯的开启,午夜12点以后路灯隔着开启。此控制管理系统大大节省了电力资源使其充分利用,具有可靠、使用寿命长、稳定性高、价格便宜的特点,能满足路灯控制的需要,具有广泛的应用前景。1.2 路灯控制器系统设计的前景跟传统的路灯控制系统相比,传统路灯控制系统就是采用人工控制,到了一定时间就拉电开启路灯,到了一定时间关闭路灯,完全是人工控制路灯的开关。一个国家路灯市场规模与当地道路长度与种类、国民生活水平有关。理论上道路长度愈长、愈宽、重要道路(如高速公路)比率愈高,路灯需求数量将随之增长。不过路灯需求与实际装置数量,会受到国民生活水平

  12、影响。国民生活水平愈高国家,民众对于道路使用频率与道路安全要求越高,相对的路灯装置数量也较多。中国基本上是能源缺乏国家,随着经济发展,能源供给问题更加严重。2008年10月中国政府启动“公共机构节能条例”,要求各级政府单位应当将节能产品、设备纳入政府集中采购目录,并严格监控能源消耗状况。同时,也公布了“民用建筑节能条例”规定建设单位应当选择合适的可再生能源,用于采暖、制冷、照明和热水供应等。正因为这两项法规的实行,提供地方政府采购LED等相关节能产品的法源依据。虽然国家积极地在倡导节能环保也采取了许多措施,例如采用人工控制手动进行开关灯的工作,还有采用定时控制的措施:天天定时开定时关不论气候季

  13、节变化,还有的在夜晚降低路灯的供电电压使其变暗来减小能源消耗。这些控制方式明显存在着较大的问题,人工控制不仅浪费了人力资源,而且还容易引起不必要的安全隐患。定时控制存在着在天气不好或季节变化天黑的早或晚的情况下光照条件没得到及时改善。降低供电电压会影响路灯的使用寿命和出行安全。所以说,设计出一个智能型的路灯控制系统在社会会有个广泛的应用前景。第二章 路灯控制系统设计的总体方案本设计以单片机芯片AT89S52、时钟芯片DS1302、光敏电阻为主控单元的硬件电路和以keil 软件为编程环境下的软件部分组成。采用了时间控制和环境参数控制相结合的策略,实现了光照不好的情况下路灯自动开启、深夜路灯隔着开

  14、启、白天路灯熄灭停止工作、随着季节的变化改变路灯的开关时间等功能。光测电路部分。一年四季天气状况都在不断变化着,天气情况的变化影响着光照强度的变化,我们希望在光照强度不够好时路灯能自动开启。因此我们需要一个传感器来感应光照强度从而做出相应变化,光敏电阻是一种很优良的感应光照强度的传感器。时钟电路部分。天气的变化是不可预测的,因此有时我们有时需要根据每个季节的天黑的迟早人工的去修改预先设定的时间控制路灯的开关,从而我们会使用到专用的时钟芯片。最后可以由单片机系统对这两部分进行不同的控制。根据以上分析以及设计要求得出本设计硬件构成框图如图2-1所示:图2-1 硬件构成 硬件电路主要由光照信号测量电

  15、路和时钟信号测量电路组成,它们均通过单片机去对数码管显示和路灯开关进行控制,从而达到预想的要求。第三章 路灯控制系统的硬件设计整体硬件设计原理图见图3-1该设计电路主要通过单片机和按键对时钟芯片DS1302进行时间设置控制路灯的开关时间,和通过光敏电阻感应外界的光照情况从而控制路灯的开关,还有构成复位和晶振电路对该系统进行初始化和起振电路让其运行,通过电阻和三极管驱动路灯点亮,再经过单片机后通过驱动器SN7404驱动数码管显示时间。路灯断电后,充电电池给时钟芯片DS1302供电让其继续工作,让时间继续走下去,等其再次通电后,时间显示当前时间。根据当前时间路灯会作出不同的响应。下面就对硬件的各个

  16、部分进行详细的分析3.1 光照信号测量电路的设计光照信号测量电路如图3.1.2所示: 图3.1.2该电路主要由光敏电阻和比较器LM358组成。电路中有两个分压电路,其中R1和光敏电阻组成一个,R2和滑阻组成另外一个。在光照强度正好达到需要打开路灯的时候,调节电位器R3,使比较器LM358同向端(3脚)电压等于反相端(2脚)电压,由于光敏电阻会随着光照强度的变化而改变电阻值,当光照强度高时,光敏电阻的阻值就会降低,就会引起LM324的(2脚)电压变小,低于所设定的(2脚)电压,使输出端(1脚)输出高电平;当光照强度低时,光敏电阻的阻值就会变大,就会引起LM324的(2脚)电压变大,比较器LM32

  17、4中(2脚)电压高于(3脚)电压,(1脚)脚输出低电压。从而输出端(1脚)上的高低电平的改变,就能反应为光照亮暗的变化。进而作为单片机的一路输入信号,控制路灯的点亮和关闭。输出端连在单片机P1.3口上。LM358: LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器, 适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与 电源电压无关。它的使用范围包括传感放大器、直流增模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运放的地方使用。LM358的封装形式有塑封8引线双列直插式和贴片式。LM358的特性:特性(Featur

  18、es): 内部频率补偿。 直流电压增益高(约100dB) 。 单位增益频带宽(约1MHz) 。 电源电压范围宽:单电源(330V);双电源(1.5一15V) 。 低功耗电流,适合于电池供电。 低输入偏流。 低输入失调电压和失调电流。 共模输入电压范围宽,包括接地。 差模输入电压范围宽,等于电源电压范围。 输出电压摆幅大(0至Vcc-1.5V) 参数 输入偏置电流45 nA 输入失调电流50 nA 输入失调电压2.9mV 输入共模电压最大值VCC1.5 V 共模抑制比80dB 电源抑制比100dB 引脚图如图3.1.3所示:图3.1.3光敏电阻: 光敏电阻器(photovaristor)又叫光感

  19、电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.40.76)m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡泡(小电珠)光线或自然光线、,使设计大为简化。光敏电阻的工作原理:光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子空穴对了半导体材料中载流

  21、子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。光敏电阻的特性:一 温度特性 光敏电阻和其他半导体器件一样,受温度影响较大,当温度升高时,它的暗电阻会下降。温度的变化对光谱特性也有很大影响。因此,有时为了提高灵敏度,或为了能接受远红外光而采取降温措施。见图3

  22、.1.4图3.1.4二 伏安特性 伏安特性在一定照度下, 流过光敏电阻的电流与光敏电阻两端的电压的关系称为光敏电阻的伏安特性。图3-5 为硫化镉光敏电阻的伏安特性曲线。由图可见,光敏硫化镉光敏电阻的伏安特性曲线电阻在一定的电压范围内, 其I-U曲线为直线,说明其阻值与入射光量有关, 而与电压、电流无关。图3-5 硫化镉光敏电阻的伏安特性曲线图三 光谱特性 光谱特性光敏电阻的相对光敏灵敏度与入射波长的关系称为光谱特性, 亦称为光谱响应。 图 3-6 为几种不同材料光敏电阻的光谱特性。 对应于不同波长, 光敏电阻的灵敏度是不同的。从图中可见硫化镉光敏电阻的光谱响应的峰值在可见光区域, 常被用作光度

  23、量测量(照度计)的探头。而硫化铅光敏电阻响应于近红外和中红外区, 常用做火焰探测器的探头。图 36 光敏电阻的光谱特性3.2 时钟信号测量电路的设计时钟信号测量电路如图3.2.1所示:图3.2.1时钟信号测量电路主要由时钟芯片DS1302和晶振组成,通过按键对时钟芯片进行时间设置从而去控制路灯的开关时间,由2个电容和晶振构成的晶振电路在整个系统工作时起起振作用。DS1302与CPU的连接仅需要三条线与CPU连接的电路原理图3.2.1所示。Vcc2在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。Vcc2在双电源系统中提供主电

  24、源,在这种运用方式下Vcc1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。DS1302 时钟芯片是该电路最主要的器件,现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路。提

  25、供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式.DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线 I/O 数据线 SCLK串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302 是由DS1202 改进而来,增加了以下的特性。双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器。它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产

  26、品领域。一 DS1302的结构及其引脚功能:DS1302的结构DS1302的引脚功能:X1 X2 32.768KHz 晶振管脚GND 地RST 复位脚I/O 数据输入/输出引脚SCLK 串行时钟Vcc1,Vcc2 电源供电管脚二 (1) DS1302的控制字DS1302 的控制字如图3.2.2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 图3.2.2(2)DS130

  27、2的数据输出口I/O在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。(3)DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个

  28、RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)FFH(读)。DS1302的内部寄存器CH: 时钟停止位 存器2 的第7 位12/24 小时标志CH=0 振荡器工作允许 bit7=1,12 小时模式CH=1 振荡器停止 bit7=0,24 小时模式WP: 写保护位 寄存器2 的第5 位:AM/PM定义WP=0 寄存器数据能够写入 AP=1 下午模式WP=1 寄存器数据不能写入 AP=0 上午模式TCS: 涓流充电选择 DS: 二

  30、型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 AT89S52的引脚图如图3.2.1.1所示图3.2.1.1AT89S52的引脚介绍:外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/

  31、计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问

  32、外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二

  33、功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

  34、ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(P

  35、SEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。 在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。AT89S52的存储器结构:MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如

  36、果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。3.3.2 复位电路的设计复位电路的设计如图3.3.2.1所示:图3.3.2.1复位电路:主要由按键电

  37、解电容、和电阻构成。当按下按键时,9号脚会产生一个高电平送入RST端,产生复位信,从而达到复位的作用。3.3.3 晶振电路的设计晶振电路的设计如图3.3.2.2所示:图3.3.2.2晶振电路:主要由32.768的晶振和电容组成,单片机工作时能产生振荡,其特点是固有频率十分稳定,而且震动具有多谐性,除了其频震动外还有奇次谐波泛音震动。性能上,晶振的品质因素Q和特性阻抗都非常高,而且接入系数很小,因此具有很高的频率稳定度。3.4 显示电路的设计显示电路的设计如图3.4.1所示:显示电路主要由数码管、驱动器SN7407和二极管、三极管、LED显示灯、4.7K排阻等组成。图3.4.1在本设计中,显示电

  38、路用到的元件很多,二极管、三极管、电阻、数码管的原理和作用都很普通,在这我就不一一介绍。在这里我重点介绍一下SN7407。SN7407如图3.4.2所示图3.4.2LED的驱动问题是显示设计中的一个非常重要的环节。如果在电路中没有驱动或驱动过低,就会导致液晶数码管显示不够亮。SN7407能够改善这一缺点,它能够提供稳定的恒流源输出,保证数码管的驱动。本课题设计了2路LED路灯,分别接AT89S52单片机P2.0,P2.1口;2路都用4个LED灯并联模拟,一个灯分别连接一个三极管,三极管基极,发射极分别连一个电阻,电阻做限流作用。如图所示当P2.1口为高电平时,三极管Q1,Q2.Q3,Q4导通,

  39、驱动灯亮;当P2.1为低电平时,三极管Q1,Q2,Q3,Q4截止,达到断开作用,灯不亮。第四章 路灯控制器的软件设计4.1 Keil C 软件的介绍单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前己极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS -51单机的汇编软件有早期的A51,随着单片机开发技术的持续不断的发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS -51系列单片机的软件,这从近年来各仿线即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM 、 20M以上空闲的硬盘空间、WIN98、NT, WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。一) Keil工程文件的建立、设置

  41、与目标文件的获得首先启动Keil软件的集成开发环境,UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部分特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。二) 源文件的建立使用菜单“File-New 或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入源程序。 保存文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。需要说明的是,源文件就是一般的文本文件,

  42、不一定使用Keil软件编写,可以使用任意文本编缉器编写,而且,Keil的编缉器对汉字的支持不好,建议使用U1traEdit之类的编缉软件进行源程序的输入。(1)建立工程文件 在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用起来更便捷,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。点击“Project-New Project.菜单,

  43、出现一个对话框,要求给将要建立的工程起一个名字,可以在编缉框中输入一个名字(设为examl,不需要扩展名。点击“保存”按钮,出现第二个对话框,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil支持的CPU很多,我们最终选择Atmel公司的89C51芯片。点击ATMEL前ICI的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,能够正常的看到下一层的“Source Groupl,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Source G

  44、roupl”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file toGroupSource Groupl,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C为扩展名的文件,而我们的文件是以asm为扩展名的,所以在列表框中找不到examl.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“Asm Source File(*.a51,*.asm),这样,在列表框中就能够找到examl.asm文件了。双击exam l .rim文件,将文件加入项目,注意,在文件加入项目后,该对线、框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现一对话框,提示你所选文件己在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close即可返回主界面,返回后,点击“SourceGroup 1前的加号,会发现exam l .asm文件己在其中。双击文件名,即打开该源程序。三) 工程的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足规定的要求。首先点击左边Project窗口的Target 1,然后使用菜单“Project Option for targettargetl”即出现对工程设置的对话框,这个对线、清可不容易,好在绝大部份设置项取默认值就行了。我们主要设置对话框中的Tayet页面,Xtal后面的数值是晶振频率值,默认值是所选目标CPU的最高可用频率值,对我们所选的AT89C51而言是24M,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。设置完成后按确认返回主界面,工程文件建立、设置完毕。四)编译与连接 在设置好工程后,即可进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,如果当前文件己修改,软件会先对该文件进行编译,然后再连接以产生目标代码; 若选择Rebuild All target files将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而Translate.项则仅对该文件进行编译,不进行连接。 以上操作也能够最终靠工具栏按钮直接进行。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改

  部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

x/kMsb9OP6BmHvOStyEXpLs16LussuMp8pHY8MCf8YsMnPRxbIdAadoqsZ3Parzwi6nuLiLpaJrtw5hxGJweCoPpqNhL6q3E2RCbd3wEkAMxq5vPKxyp8b3kpm5GmITeaKgs701lkxEvPRRpd6LWc6dLBGYyDVJ7hhwgWxR3yAtCrRFHEz5mLqBMBwqVzmhI4rgnnVrEqNP2SLLq1Gq4PQ==