单片机照明灯智能控制器(非常详细)_第1页
单片机照明灯智能控制器(非常详细)_第2页
单片机照明灯智能控制器(非常详细)_第3页
单片机照明灯智能控制器(非常详细)_第4页
单片机照明灯智能控制器(非常详细)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录摘 要IAbstractII1 绪论11.1课题研究的背景11.2 开发的意义11.3 课题研究的方案12 芯片选用说明12.1 AT89S5212.1.1 相关芯片及其引脚分析12.1.2 引脚功能说明22.2 AT89C205142.2.1 相关芯片及其引脚分析42.3 LCD160252.3.1相关芯片及其引脚分析52.3 SMC1602A参考连接:73.系统硬/软件设计83.1 夜用照明系统的设计83.2 标准时钟显示部分设计:103.3 光敏接收电路123.4 接键可调部分123.5 系统照明和报警部分133.6 系统复位与晶振电路133.7 软件设计部分133.8 程序源程序:见附页1144 调 试144.1 硬件调试144.2 软件的调试145.总结与展望165. 1工作总结165. 2展望16参考文献:17致 谢18附页1: 程序清单19单片机照明灯智能控制器摘 要该夜用照明灯系统采用AT89S52单片机为核心,利用单片机的端口分别控制LCD1602标准时钟系统、可控硅和电铃,达到智能操控照明系统。我们常见的路灯、过道灯、草坪灯、广告箱灯、霓虹灯和厕所等公共场所用的一些照明灯往往彻夜通明,这不仅浪费能源,在某种程度上也造成了光污染。在今天电力能源供应比较紧张的情况下,在没有人员活动的深夜让这些灯关掉一些,不仅可以节约能源,也能够节约一些开支。本文主要介绍系统的开发背景,意义,并重点介绍了硬件设计和软件设计的过程。在硬件方面,从元件,模块,系统逐级阐述,特别是系统的核心部分AT89C52,并用PROTEL 99SE软件对原理图和电路板的制作。软件方面,用现阶段比较流行的单片机C语言编程,利用定时器中断控制标准时钟。最后是软硬件的调试,其中介绍了单片机仿真软件KEIL C51的使用。关键词 AT89S52 可控硅 AT89c2051 LCD1602 光敏电阻 keil c51 PROTEL 99SEAbstractThis night flare system is an system based on the AT89S52 monolithic integrated circuit, it makes use of the port of monolithic integrated to control the LCD1602 standard clock system, the silicon-controlled rectifier and the electric bell separately and then the lighting system was controlled by intelligence. Some common streets which are in public places ,such as: the aisle way light, the lawn lamp, the advertisement box lamp, the neon light and the restroom and so on the public place uses some flares often all night are brightly lit, this is not only wasting of energy, but also make the ray pollution in some kind of procedure. Nowaday , the electric power energy is in short supply, so if we turn off some when there is no people, it is not expenses. In this article,it introduces the systematic development background, the significance and especially the process of the hardware design and the software design .In the hardware aspect, this article elaborates the part, the module, the system one by one, especially the core of the system AT89C52,and uses the PROTEL 99SE. Software to the schematic diagram and the electric circuit board manufacture. In the software aspect with the present stage quite popular monolithic integrated circuit C language programming, uses the timer interrupt control standard clock. Finally it was the software and hardware debugging, in which introduced the in statons of the stations of monolithic integrated circuit simulation software KEIL C51 use. Keyword AT89S52 silicon-controlled rectifier AT89c2051 LCD1602 photoresistance keil c51 PROTEL 99SE1 绪论1.1课题研究的背景随着现代科技的飞速发展,单片机已经在各个领域得到越来越广泛的应用。单片机由于体积小,功耗低两个基本特征,在通讯,家电,工业控制,仪器仪表,汽车等产品中都可以看到单片机的身影。单片机技术也随着集成电路技术的进步在近几年飞速的发展,这种发展可以分为两方面:一方面在硬件上单片机内部集成了越来越多的功能部件,如A/D,D/A,PWM,WATCHDOG,LCD驱动,串行口,大容量FLASH存储器等;另一方面在开发手段上从汇编语言向高级C语言过度,计算机仿真调试,IAP,ISP技术的应用使单片机开发周期大大的缩短,为各类产品更新,软件的升级提供了可靠的技术保障。在设计单片机应用系统时,由于历史的原因,目前在国内仍然以8051系列单片机为主。作为电子专业的学生,非常有必要通过实际产品的设计和制作,了解现代IT产品的开发全流程。全面提高机,电,光,算知识的综合应用能力,掌握从系统级,电路级,到芯片级各个层次的设计和实现手段。基于上述原因,选择此设计课题,在此设计过程中,我们将会用到多门学科的理论知识,将对以前所学的知识做一个全面的复习和巩固,更重要的是培养了发现问题,分析问题,解决问题的能力,还有动手能力,也是一次很好的实践,对以后的学习和工作也会有所帮助。1.2 开发的意义 科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机,此设计正是单片机的一个典型应用。而此设计可以通过实现智能照明控制,通过对路面的检测,由单片机来控制其反应情况,使其变得智能化,使人的手解放出来,此系统还可以应用到道路检测,安全巡逻中,能满足社会的需要。1.3 课题研究的方案本选题是用单片机介绍一种使用AT89C2051单片机联合AT89S52制作的夜用照明灯智能控制器,采用两开两关的工作模式,即在天黑后自动开灯,过4小时后关灯;在天亮前1小时开灯,天亮后自动关灯。天黑后开灯的持续时间和天亮前提前开灯的时间可通过程序进行调整。由于本系统采用单片机对环境照度进行测试判断并进行计算,因此电路能随着季节的变化自动调节每天的开关灯的时间,从而达到自动节约电能的目的。2 芯片选用说明2.1 AT89S522.1.1 相关芯片及其引脚分析AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2 引脚功能说明图1 51系列单片机40引脚图VCC : 电源GND: 地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用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特殊功能(第二功能)使用,如下表(2)所示。在flash编程和校验时,P3口也接收一些控制信号。 表2 P3口第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端特殊功能寄存器:特殊功能寄存器(SFR)的地址空间映象所示。并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2 寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。T2CON:定时器/计数器2控制寄存器T2CON 地址为0C8H 复位值:0000 0000B位可寻址:表3 中断寄存器TF2EXF2RLCLKTCLKEXEN2TR2765432102.2 AT89C20512.2.1 相关芯片及其引脚分析先介绍本系统中的核心器件AT89C2051。它是一带有2K字节闪速可编程可擦除只读存储器的低压、高性能8位CMOS微型计算机。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。AT89C2051提供以下标准功能:2K字节闪速存储器,128字节RAM,15根I/O引线,两个16位定时器/计数器,六个中断源,一个全双工串行口,一精密模拟比较器以及片内振荡器和时钟电路。此外,AT89C2051是用可降到0频率的静态逻辑操作设计的并支持两种可选的软件节电工作方式。空闲方式停止CPU工作但允许RAM,定时器/计数器,串行口和中断系统继续工作。掉电方式保存RAM内容但振荡器停止工作并禁止所有其它部件的工作直到下一个硬件复位。AT89C2051共有20条引脚,详见下图2: 图2 AT89C2051引脚图各引脚功能如下:RST(Pin1):复位输入。RST一旦变成高电平所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。OSC2(Pin4):作为振荡器反相放大器的输出。OSC1(Pin5):作为振荡器反相放大器的输入和内部时钟发生器的输入。GND(Pin10):地。VCC(Pin20):电源电压。P1口(Pin12Pin19):P1口是一8位双向I/O口。口引脚P1.2P1.7提供内部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P3口:是带有内部上拉电阻的双向I/O口。它还用于实现AT89C2051的其它特殊功能。P3.0为串行输入端口P3.1为串行输出端口P3.2为外中断0 P3.3为外中断1 P3.4为定时器0外部输入 P3.5为定时器1外部输入2.3 LCD16022.3.1相关芯片及其引脚分析主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:20mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.4.35(WXH)mm接口信号说明:编号符号引脚说明编号符号引脚说明1VSS电压地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读/写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极外形尺寸:控制器接口说明(HD44780及兼容芯片):1 基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:无读数据:输入:RS=L,RW=H,E=H 输出:D0D7=数据写数据:输入:RS=L,RW=H,D0D7=数据,E=高脉冲 输出:无2 状态说明字STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0STA0-6当前数据地址指针的数值STA7读写操作使能1:禁止 0:允许 注:对控制器每次进行读写操作之前,都必须进行写控制,确保STA7为0RAM地址映射图 LCD16字2行控制器内部带有808位(80000102030405060708090A0B0C0D4142434445464748494A4B4C4D4E字节)的RAM缓冲区,对应关系如右图所示: 3 指令说明初始化设置:显示模式设置指令码功能00111000设置162显示,57点阵,8位数据接口显示开/关及光标设置指令码功能00001DCBD=1 开显示 D=0 关显示C=1 显示光标 C=0 不显示光标B=1 光标闪烁 B=0 光标不显示000001NSN=1 当读或写一个字符后地址指针加一,且光标加一N=0当读或写一个字符后地址指针减一,且光标减一S=1 当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0 当写一个字符,整屏显示不移动数据控制:控制器内部 设有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAM数据指针设置指令码功能80H+地址码(0-27H,40H-67H)设置数据地址指针其他设置指令码功能01H显示清屏:1数据指针清零2所有显示清零02H显示回车:1数据指针清零4 初始化过程延时15ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令06H:显示开及光标设置2.3 SMC1602A参考连接:1 8051系列总路线方式2 8051系列模拟口线方式 控制器接口时序说明(HD44780及兼容芯片)1 读操作时序 2 写操作时序3 时序参数时序参数符号极限值单位测试条件最小值典型值最大值E信号周期tc400-ns引脚EE脉冲宽度Tpw150-nsE上升/下降沿时间Tr,tf-25ns地址建立时间Tsp130-ns引脚E、RS、R/w地址保持时间Thd110-ns数据建立时间(读操作)Td-100ns引脚D0D7数据保持时间(读操作)Thd220-ns数据建立时间(写操作)Tsp240-ns数据保持时间(写操作)Thd210-ns3.系统硬/软件设计3.1 夜用照明系统的设计3.1.1方案论证和比较1 采用NE555时基电路来进行定时,以便控制开关的时间,其他各系统单元分别用相应独立的电路来完成,其方框图如图3所示:系统标准时钟电路NE555定时电路(LED)发光二极管(照明电路)系统处理电路光敏电阻接收电路(BELL)哄鸣器部分 图3 2 采用CPLD芯片来完成,其处围电路简单,具体方框图如图4所示:(BELL)哄鸣器部分时钟显示电路部分 (ATMEL) ATF1508ASCPLD芯片 光敏电阻接收电路(LED)发光二极管(照明电路)基本处围电路图4综合以上三种设计方案,第一种精度较低,而且各部分全部采用模拟器件来组成部分,制作复杂;第二种采用CPLD元件来组成,要求对硬件描述语言(VHDL)要求较高,且控制时间准确,电路工作稳定;第三种方案采用单片机(AT89C/S52或者AT89C2051)制作调试方便、控制时间准备,电路工作稳定,而且非常简单(硬件部分)、使用范围广。为此本设计将选用第三种方案。3 采用AT89S52和AT89C2051微处理芯片,来控制智能照明系统,具体方框图如图5所示:本系统采用光敏电阻来感应(天亮/灭), 利用AT89C2051在内部构造了一个模拟信号比较器其输入端连到和口,和口的第二个功能分别为比较器的同相输入端和反相输入端,比较(LCD1602)显示部分按键设置部分AT89S52微处理器(LED)发光二极管AT89C2051微处理器基本外围 (晶振和复位) 电路(BELL)哄鸣器部分光敏电阻接收电路图5结果存入口对应的寄存器,在AT89C2051外部无引脚。由于AT89C2051的引脚不够,所以多加一块AT89C/S52来扩展系统标准时钟电路,AT89C2051的脚与AT89S52的脚相连接, 为光敏电阻,其电阻值随着光线的增强而减少,当照度较小时口的电位小于口的电位,口输出高电平,只有在AT89C2051的ROM中写入相应的程序就可以控制口的电平,从而控制 图 6AT89C/S52的口的电平,从而达到控制外围电路(照明与电铃电路),可变电阻的阻值可调整照度的控制阈值。由于本系统处理任务不复杂,所以在标准时钟电路采用模拟口线方式。如图9所示:电源采用7805稳压集成芯片来提供稳定单片机夜用照明系统的电源,从而能够稳定的工作。由于本电路比较复杂,采用传统万能板焊接时(要求焊接技术比较高),而且非常麻烦(飞线多),导致焊点大(不美观)所以采取自己做PCB,采用Protel 99 SE软件来画单片机夜用照明系统的原理图(.sch)和印制板(.pcb),最终效果图如图8:3.2 标准时钟显示部分设计:在小规模点阵液晶模块上使用液晶显示驱动控制器组成液晶显示驱动控制系统是非常有益的。这使得液晶显示模块的硬件电路简单化,从而降低模块的成本。但是这也同时提高了对软件功能的图7 照明灯智能控制器原理图 图8 PCB单面板要求,也就是说,许多显示功能如光标、字符库、闪烁等都需要由软件编制而成。HD61203和HD61202就是这类液晶显示驱动控制器套件。之所以称它们为套件是因为HD61206和HD61202必须配套使用,通常有12864和19264两种规格。硬件电路部分:图9 标准时钟显示电路本液晶显示模块(LCD1602)采用模拟口线方式,该连接方式简单。微处理器AT89C/S52的口通过数据锁存器(74HC573)分别与液晶显示模块(LCD1602)的数据端(DB)相连接,数据命令选择端(RS)、读写选择端(R/W)、使能信号端(E)分别与微处理器AT89C/S52的口、口、口相连接。 3.3 光敏接收电路该部分电路是通过AT89C2051里面的模拟信号比较器,为光敏电阻,其电阻值随着光线的增强而减少,当照度较小时口的电位小于口的电位,口输出高电平。变可变电阻的阻值可调整照度的控制阈值,如图7所示。由于微处理器AT89C2051的口与AT89C/S52的口相连接,所以只要在AT89C2051的ROM中写入相就的程序,就可以控制到AT89C/S52,从而可以采取一系统的动作(照明和电铃电路)。图10 光敏接收电路3.4 接键可调部分由于本系统设置功能部分要求比较简单(标准系统调时和),所以采用独立式按钮调节,端口用、,如图11所示:图11 独立式接键可调电路3.5 系统照明和报警部分照明部分由、K、组成,当口输出高电平时,三极管截止,双向可控硅因没有触发电流处于阻断状态,电灯LAMP关闭;当口输出低电平时,三极管导通饱和,向双向可控硅提供触发电流使其进入导通状态,电灯LAMP点亮。口的输出状态由程序控制。报警部分由、组成,当口输出高电平时截止,有微电流或者无电流通过,BELL不工作。口的输出状态由程序控制。 图12 照明和报警电路3.6 系统复位与晶振电路该电路为AT89C2051和AT89C/S52提供时钟基准与复位,如图13所示: 3.7 软件设计部分图13 系统复位与晶振电路3.8 程序源程序:见附页14 调 试4.1 硬件调试1. 首先是焊接的顺序问题。当初板子做好以后,焊接的顺序很重要,应该是应该按功能划分的器件进行焊接,顺序是功能部件的焊接-调试-另一功能部件的焊接,这样容易找到问题的所在。2. 如果在调试按功能划分的器件上出现问题,可以按以下步骤进行:1)检查原理图连接是否正确2)检查原理图与PCB图是否一致3)检查PCB板上的封装引脚是否与实际采购的器件引脚一致4)用万用表检查是否有虚焊,引脚短路现象5)检测各器件的电路输出端口的输出是否与理论值相等或者接近。(在测光敏电阻电压的时候,其引脚1,7的输出很小,原来是电位器的调节引起的)。3. 多观察,多思考。在调试过程中,对于出现的任何现象都不要放过,问题的解决就是从一些小的 现象入手的。4. 有可能的情况下,最好做两块板子以上,因为焊好的板子不便于查看其导线的走向,这样才好有个比较,硬件上很小的问题有很多时候是很难发现的。4.2 软件的调试11源程序编好以后,验证其正确性,MCS-51单片机可以通过常用的仿真软件Keil C51来调试,它可以对汇编或者C语言编的程序进行调试。1建立工程文件1)点击菜单project,选择new project: 2)然后选择要保存的路径,输入工程文件的名字,比如保存到论文目录里,工程文件的名字为hjycar.uv2. 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,这里选AT89S52。P3.6=0灯亮T1开始计时P3_7=0(At89s52)开 始Hour=4?First?P3_6=0 ? BELL打铃P3.6=1灯灭存取时间(天黑) P3_7=0(At89c2051)亮-1?天亮?BELL打铃P3.6=0灯亮存取时间(天亮)天亮?5V12VP3.6=1灯灭BELL打铃 图14 单片机照明灯智能控制器流程图4)这时要新建一个源程序文件,建立一个汇编或c文件,输入编写好的程序。 5)保存。选择要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,如果是c程序文件,扩展名为.c,如果是汇编文件,扩展名为.a51,这里有汇编语言,文件名为:hjycar.asm。2 调试程序1)点击Target 1前面的+号,展开里面的内容source Group1:2)用右键点击Sourece Group 1(注意用鼠标的右键,而不是左键),将弹出一个菜单,选择Add Files to GuoupSource Group 1.3)选择刚才的文件hjycar.asm.这时在source group 1 里就有hjycar.asm文件4)单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),5)单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果.3 程序的加载单击“Project”菜单,再在下拉菜单中单击“ ” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89C52单片机中。5.总结与展望5. 1工作总结经过三个多月的努力,我基本上完成了基于AT89C2051和AT89C/S52微处理器控制的单片机夜用照明显示系统。所完成的工作主要包括以下几个方面: 1 准备阶段的工作 准备阶段的工作主要包括:查阅国内外相关文献,了解微控制器的发展过程及发展趋势,了解LCD显示屏的工作原理、主要作用。 2 对显示系统的硬件设计 本文采用单片机与液晶显示模块(LCD1602)模拟口线方式。该模拟口线方式简单,比较容易控制液晶显示模块(LCD1602)。3 系统软件设计软件主要包含时钟判断和显示程序,调用不同指令来完成相应的功能。本单片机夜用照明系统采用单片机C语言来编写,在其编写过程当中比较方便的调用单片机内部的资源,从而比较容易控制与单片机相联系的外围电路。5. 2展望尽管本系统能够完成我们所要求的任务来控制照明系统,并且体现出了物优价廉的优越性,但由于本人水平和开发时间有限,离一个完全实用的,能够完全符合市场需求的单片机夜用照明显示系统还有一定的差距。因此,在以后的研制过程中,还需要在系统抗干扰方面、增强显示效果、提高其灵敏度及功能上做大量工作,以满足更高使用要求。第 15 页 共 27 页参考文献:1 刘文涛 单片机语言C51典型应用设计M 人民邮电出版社2005,1(1):5-82 求是科技 单片机典型模块设计实例导航M 人民邮电出版社 1995,1(4):32-343 赵亮 侯国锐 单片机C语言编程与实例M 人民邮电出版社 1995,1(6):37-384 稻叶 保日 振荡电路的设计与应用M 科学出版社 1997,19(3):71-725 猪饲国夫 本多中二日 数字系统设计M 科学出版社 1998,1(2):122-1246 铃木雅臣日 晶体管电路设计(上)(下)M科学出版社 2003,1(6):92-937 冈村迪夫日 OP放大电路设计M 科学出版社 2003,1(6):92-938 杨帮文 应用电路百例丛书 新型集成器件实用电路M 电子工业出版社 ,2004,1(34):13-149 求是科技 李现通 串口通信技术与工程实践M 人民邮电出版社 2001,3(2):56-5810 杨金岩 8051单片机数据传输接口扩展技术与应用实例M 人民邮电出版社 1996,1(2):1-511 keil c51的使用M 人民邮电出版社 1998,1(2):122-124 12 电子制作工作室 电子制作J 电子制作杂志社 2005,2(3):23-2413 吉雷Protel 99从入门到精通M西安电子科技大学出版社.20001014 张友德单片微型机原理、应用和实验M 复旦大学出版社19961015 ATMEL公司 AT89S52的技术手册J. 2002.316 深圳市中源单片机发展有限公司J AT89C52 Datasheets. 1994.717 /Soft_Show.asp?SoftID=25 2005.818 /pages/2004/06/08/D142698.html 2006.519 /Soft_Show.asp?SoftID=14 2006.5致 谢在毕业设计期间,我得到了许多热心的教师、同学的帮助,在此表示深深的谢意。首先,我衷心地感谢我的导师邓于实验师。他耐心的教诲和严谨的态度使我受益匪浅,正是他在各方面的精心指导才使我最终完成了课题。同时,我也要感谢马培、梁成山同学。在整个毕业设计期间,正是我们积极的讨论及他们的全力协助,才使我的课题以较快的速度完成。最后,我不能不对在百忙之中抽出宝贵时间来参加参加论文评阅的各位教师表示由衷的谢意,他的的指导不但能修正论文中的错误,而且也使我得以真知。由于本人学识有限,文中必有不妥之处,敬请各位教师批评指正。 张 露2006年5月于重庆永川第 7 页 共 27 页附页1: 程序清单/*/*1602-LED or Clock*/*#include at89x52.h#include intrins.h/*#define uchar unsigned char#define uint unsigned int#define ulong unsigned longuchar bdata flag;sbit start=flag0;/设置时间标志位sbit start1=flag1;sbit start2=flag2;sbit start3=flag3;sbit start4=flag4;sbit start5=flag5;sbit start6=flag6;sbit start7=flag7;bit casp;sbit rs=P23;sbit rw=P24;sbit e =P25;uchar code table1=M,C,U, ,C,l,o,c, k, ,S,y,s,t,e,m;uchar code table2= , , , , ,:, , , :, , ,., , , , ;uchar code table3=0,1,2,3,4,5,6,7,8,9,S,e,t, , , ;uchar second_l,second,minte,hour;uchar count,buffer7,count1;uchar tempsecond,tempminte,temphour;uchar tempdaysecond,tempdayminte,tempdayhour;void display(void);void scankey(void);void delaysecond(void);void delayfirst(v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论