模拟路灯控制系统单片机c语言 12864 1302 原理图 程序完整版.docx
- 文档编号:28622797
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:15
- 大小:27.53KB
模拟路灯控制系统单片机c语言 12864 1302 原理图 程序完整版.docx
《模拟路灯控制系统单片机c语言 12864 1302 原理图 程序完整版.docx》由会员分享,可在线阅读,更多相关《模拟路灯控制系统单片机c语言 12864 1302 原理图 程序完整版.docx(15页珍藏版)》请在冰豆网上搜索。
模拟路灯控制系统单片机c语言128641302原理图程序完整版
模拟路灯控制系统(单片机c语言+12864+1302+原理图+程序完整版)
课程设计(论文)说明书 题 目:
路灯控制器的设计 院:
信息与通信学院 专 业:
微电子学 学生姓名:
王利 学 号:
1000240122 指导教师:
施娟 职 称:
副教授 2012年12月2日 桂林电子科技大学课程设计报告用纸 第I页共II页 摘要 随着电子技术的发展,本设计是以AT89S52为主控器的模拟路灯控制系统,具有对路灯的定时设定功能,使用它很好的完成人性化设计。
该系统设计实现了模拟路灯的智能控制,控制方便,安全。
模拟路灯控制系统会有广阔的应用前景。
在白天模式的时候,还能根据环境明暗的变化控制路灯的开启和关闭路灯,在夜晚模式的情况下,根据单片机的定时功能控制路灯的开启和关闭,可以完成远程和就地控制,真实的模拟了路灯的控制。
系统设计成本低,稳定性高,控制简单。
经实验证明,该路灯具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅要求,具有推广价值。
关键词:
路灯控制;单片机;定时设定 Abstract:
Thebasewiththedevelopmentofelectronictechnology,thedesignisbasedontheAT89S52asthemaincontroller‘sanaloglightingcontrolsystem,withthestreetlamptimersettingfunction,useitverygoodcompletethehumanizationdesign.Thesystemdesigntoachievethesimulationofstreetlampintelligentcontrol,convenientcontrol,safety.Analogstreetlightcontrolsystemwillhaveawideapplicationprospect. Inthedaytimemode,alsoaccordingtotheenvironmentalbrightnesschangecontrollightsandtheopeningoftheclosedstreet,innightmode,basedonsingle-chiptimingfunctioncontrolstreetlampisopenedandclosed,cancompletetheremoteandlocalcontrol,therealsimulationofthestreetlampcontrol.Systemdesignoflowcost,highstability,simplecontrol. Theexperimentprovedthatthestreetlampcontrolhasareasonabledesign,simple,lowcost,safeandpracticalfeatures,consistentwithresidentialrequestisworthpromoting. Keywords:
Streetlampcontrol;SCM;timingsetting 桂林电子科技大学课程设计报告用纸 第II页共II页 目录 引言……………………………………………………………………………11设计案………………………………………………………………………1 模拟路的控制器的设计分析………………………………………………………1设计要求……………………………………………………………………………1 2硬件电路设计………………………………………………………………2 单片机AT89S51简介……………………………………………………………2LCD12864介绍……………………………………………………………………4光敏电阻……………………………………………………………………………4DS1302时钟芯片…………………………………………………………………5硬件原理图…………………………………………………………………………6 单片机最小系统电路?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
6光电检测电路?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
6路灯电路?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
7显示部分?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
7 3程序设计…………………………………………………………………8 程序设计内容……………………………………………………………………8C语言源程序见附录……………………………………………………………8 4调试过程?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
9 2 5结论…………………………………………………………………………9谢辞?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
10
桂林电子科技大学课程设计报告用纸 第3页共32页 P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。
在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。
P3口亦作为AT89S52特殊功能使用,如下所示:
P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲。
如有必要,可通过对特殊功能寄存器区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许输出是外部程序存储器的读选通信号,当AT89C52外部程序存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器,EA端必如EA端为高电平,CPU则执行内部程序存储器的指令。
桂林电子科技大学课程设计报告用纸 第4页共32页 LCD12864介绍 FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:
低电源电压显示分辨率:
128×64点 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)内置128个16×8点阵字符2MHZ时钟频 显示方式:
STN、半透、正驱动方式:
1/32DUTY,1/5BIA视角方向:
6 背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/1通讯方式:
串行、并口可选 内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计 工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃光敏电阻 光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。
这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。
这是于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。
光敏电阻器一般用、于光的测量、光的控制和光电转换。
常用的光敏电阻器硫化镉光敏电阻器,它是半导体材料制成的。
光敏电阻器的阻值随入射光线的强弱变化而变化,在黑暗条件下,它的阻值可达1~10M欧,在强光条件下,它阻值仅有几百至数千欧姆。
光敏电阻器对光的敏感性与人眼对可见光μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。
设计光控电路时, 都用白炽灯泡光线或自然光线作控制光源,使设计大为简化。
桂林电子科技大学课程设计报告用纸 第5页共32页 DS1302时钟芯片 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:
1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信.DS1302工作时功耗很低,保持数据和时钟信息时功率小于是DS1202改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。
图2-4-1DS1302封装 实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力; 1.318位暂存数据存储RAM; 2.串行I/O口方式使得管脚数量最少;3.宽范围工作电压;4.工作电流时,小于300nA; 5.读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式;6.8脚DIP封装或可选的8脚SOIC封装根据表面装配;7.简单3线接口;8.与TTL兼容Vcc=5V;9.可选工业级温度范围-40+85;10.与DS1202兼容; 11.在DS1202基础上增加的特性; 对Vcc1有可选的涓流充电能力;双电源管用于主电源和备份电源供应;备份电源管脚可电池或大容量电容输入; 桂林电子科技大学课程设计报告用纸 第6页共32页 硬件原理图 硬件部分包括键盘部分,时钟部分,显示部分以及用单片机编程用到的的连接口部分。
单片机最小系统电路 单片机最小系统是单片机系统的核心,其他的外围电路都是在最小系统的基础上实现的。
单片机最小系统是单片机、复位电路、时钟电路、电源和地端组成,一般情况下,单片机系统采用外接石英晶体与内部运放组成时钟振荡器作为系统时钟源,而在多机系统中,单片机只作为一个功能模块使用,为节省硬件和统一系统的时钟信号,常采用外时钟源。
单片机最小系统是单片机控制电路的核心。
在整个系统中,单片机控制电路是整个系统的核心,负责对光电检测电路采集到光信号进行处理和加工,并按照之前设定好的指令进行执行、运算,并将结果传送给相应的执行电路。
图2-5-1单片机最小系统电路 光电检测电路 在设计中使用光敏电阻作为光传感器件对外界光线进行检测,主要是利用了光敏电阻在光线的作用下其阻值往往变小的这种光导效应现象,也有基于光敏二极管、光敏三极管等光电检测元件的相关电路,如下图所示是光电检测电路将检测到的信号以高低电平的形式传送给单片机,从而完成整个光电检测的过程。
桂林电子科技大学课程设计报告用纸 第7页共32页 图2-5-2光电检测电路 路灯电路 路灯控制电路是智能路化灯控制器电路的发光部分,也是整个硬件电路的基本组成部分之一,这一部分电路相对来说比较简单,起控制作用的元件是单片机,其控制功能主要通过指令系统的指令来实现。
图2-5-3路灯控制电路 显示部分 显示界面是本系统关键一环,LCD1602也可以作为显示界面,但于其不能显示汉字,无疑不能更加清晰具体显示每一种工作界面,而LCD12864字符、汉字都可以显示,基于上述考虑选择液晶屏LCD12864作为显示界面显示部分为显示部分。
LCD12864液晶显示提示光亮状态,定时时间,日期,当前时间。
通过12864可以清楚显示信息,更好的完成人机交流。
桂林电子科技大学课程设计报告用纸 第13页共32页 C语言程序:
#include#include #defineuintunsignedint#defineucharunsignedchar sbitDS1302_CLK=P1; //实时时钟时钟线引脚sbitDS1302_IO=P1; //实时时钟数据线引脚sbitDS1302_RST=P1; //实时时钟复位线引脚 sbitACC0=ACC;sbitACC7=ACC; ucharhide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year;闪的计数 sbitSet=P3; //模式切换键对应实验板K5sbitUp=P3; //加法按钮对应实验板K6 sbitDown=P3; //减法按钮对应实验板K7 sbitout=P3; //立刻跳出调整模式按钮对应实验板K8//sbitp35=P3; //定时时间转换 sbitBEEP=P3;sbitguang=P3; uchardone,count,temp,up_flag,down_flag;ucharh; bita,b; //闪烁标志位ucharweek_value[3]; voidshow_time();//液晶显示程序 //****************************************//12864液晶显示部分子程序模块 //****************************************sbitrs=P2;sbitrw=P2;sbite=P2;#definelcddataP0 sbitbusy=P0;//lcdbusybitvoidwr_d_lcd(ucharcontent);voidwr_i_lcd(ucharcontent);voidclrram_lcd(void);voidinit_lcd(void);voidbusy_lcd(void); voidrev_row_lcd(ucharrow); voidrev_co_lcd(ucharrow,ucharcol,ucharmode); voidclr_lcd(void); voidwr_co_lcd(ucharrow,ucharcol,ucharlcddata1,ucharlcddtta2);voidwr_row_lcd(ucharrow,char*p); unsignedcharidatai,tl0_temp=0,th0_temp=0; //秒,分,时到日,月,年位 桂林电子科技大学课程设计报告用纸 第14页共32页 //**********************************//液晶初始化 //**********************************voidinit_lcd(void){ wr_i_lcd(0x06);/*光标的移动方向*/wr_i_lcd(0x0c);/*开显示,关游标*/ } //***********************************//填充液晶DDRAM全为空格 //**********************************voidclrram_lcd(void){} wr_i_lcd(0x30);wr_i_lcd(0x01); //***********************************//对液晶写数据 //content为要写入的数据 //***********************************voidwr_d_lcd(ucharcontent){busy_lcd();rs=1; rw=0; lcddata=content; e=1;e=0;} //********************************//对液晶写指令 //content为要写入的指令代码//*****************************voidwr_i_lcd(ucharcontent){ busy_lcd();rs=0; rw=0;lcddata=content;} e=1;e=0; 桂林电子科技大学课程设计报告用纸 第15页共32页 //********************************//液晶检测忙状态//在写入之前必须执行 //********************************voidbusy_lcd(void){ lcddata=0xff;rs=0;rw=1; e=1; while(busy==1);e=0; } //********************************//指定要显示字符的坐标 //*******************************voidgotoxy(unsignedchary,unsignedcharx){ if(y==1) wr_i_lcd(0x80|x);if(y==2) wr_i_lcd(0x90|x);if(y==3)wr_i_lcd((0x80|x)+8);if(y==4) wr_i_lcd((0x90|x)+8);} //**********************************//液晶显示字符串程序 //**********************************voidprint(uchar*str){ } while(*str!
=‘\\0’){} wr_d_lcd(*str);str++; 桂林电子科技大学课程设计报告用纸 第16页共32页 //***********************************//DS1302时钟部分子程序模块 //***********************************typedefstruct__SYSTEMTIME__{ucharSecond; ucharMinute;ucharHour;ucharWeek;ucharDay;ucharMonth;ucharYear; ucharDateString[11];ucharTimeString[9]; }SYSTEMTIME;//定义的时间类型SYSTEMTIMECurrentTime; #defineAM(X)X#definePM(X)(X+12) //转成24小时制 #defineDS1302_SECOND0x80 //时钟芯片的寄存器位置,存放时间#defineDS1302_MINUTE0x82#defineDS1302_HOUR0x84#defineDS1302_WEEK#defineDS1302_DAY#defineDS1302_MONTH#defineDS1302_YEAR 0x8A0x860x880x8C //**********************************//实时时钟写入一字节(内部函数)//**********************************voidDS1302InputByte(uchard){ uchari; ACC=d; for(i=8;i>0;i--) { DS1302_IO=ACC0; DS1302_CLK=1; DS1302_CLK=0; ACC=ACC>>1; } } //*************************************//实时时钟读取一字节(内部函数) //相当于汇编中的RRC 桂林电子科技大学课程设计报告用纸 第17页共32页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟路灯控制系统单片机c语言 12864 1302 原理图 程序完整版 模拟 路灯 控制系统 单片机 语言 程序 完整版