找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5649|回复: 10
打印 上一主题 下一主题
收起左侧

单片机路灯控制系统程序设计

[复制链接]
跳转到指定楼层
楼主

文档下载:

单片机路灯控制系统设计.doc (274.32 KB, 下载次数: 156)


以下是部分内容预览:


单片机路灯控制系统是一种新型智能控制系统,可根据季节交替引起的天气变化和用户的不同需要,通过按键进行调节,能起到明显的节能效果。
    该路灯控制系统设计主要包含硬件系统设计和软件系统设计。硬件系统主要由时钟发生电路、电路控制电路、LCD显示电路、声光报警电路、键盘控制电路和单片机控制电路等部分组成。在时钟发生电路中,采用低功耗实时时钟电路芯片DS1302,它可以对年、月、日、周日、时、分、秒进行计时,计时后,经过单片机的控制处理后从显示屏上将计时的数据显示出来。而路灯控制部分通过对外部环境进行检测,实现不同环境的不同操作,从而实现不同功能。软件部分主要需结合硬件系统,绘制程序流程图,编写相应的程序,使得单片机路灯系统能智能,自动地运作路灯,排查故障。

目录
摘  要......................................................................................................................... III
Abstract....................................................................................................................... IV
1 绪论........................................................................................................................... 1
1.1课题的来源..................................................................................................... 1
1.2课题的意义..................................................................................................... 1
1.3单片机应用技术国内外发展现状................................................................. 2
1.3.1国外的研究现状……………………………………………………….2
1.3.2国内的研究现状……………………………………………………….2
1.4课题研究的目的............................................................................................. 3
2硬件电路设计............................................................................................................ 4
2.1系统总体方案设计......................................................................................... 4
2.2 芯片器件介绍………………………..……………………………......4
2.2.1 单片机AT89C52简介...........………………….……………..…….…4
2.2.2 光敏传感器的介绍…………………….………………..…………….6
2.2.3 实时时钟芯片DS1302的介绍…………………………………….…7
2.2.4 1602液晶的介绍………………………………………………..….….8
2.2.5 电压比较器LM358…………………………………………..….……9
2.3各模块介绍................................................................................................... 10
2.3.1时钟电路模块…………………………………………………….…..10
2.3.2感光电路模块……………………………………………………...…11
2.3.3 液晶显示器模块………………………………………………….….11
2.3.4 复位电路模块………………………………………………….....….12
2.3.5 故障报警电路模块…………………………………………………..13
2.3.6 灯光驱动电路模块…………………………………………………..14
3系统软件设计……………………………………………………………………...16
3.1软件系统介绍............................................................................................... 16
3.1.1软件介绍   ……………………………………...…………………….16
3.1.2主程序的介绍………………………………………………………...16
3.1.3主流程图………………………………………………………...……17
3.2各子程序模块............................................................................................... 18
3.2.1 实时时钟子程序……………………………………………………..18
3.2.2 LCD显示子程序……………………………………………………..18
3.2.3自动警报子程序…………………………………………...…………19
3.2.4路灯开关控制子程序……………………………………….……..…20
4总结.......................................................................................................................... 21
4.1工作总结…………………… ……………………………………….………21
4.2心得体会……………………….……………………………………………..22
参考文献..................................................................................................................... 23
致谢............................................................................................................................. 24
附录............................................................................................................................. 25


3.2各子程序模块3.2.1实时时钟子程序
单片机对DS1302进行开始条件的设置,先从DS1302中读取1Byte数据,然后往DS1302中写入数据,读取DS1302在某地址的数据,这样就完成了对DS1302的初始化。接着往DS1302中写入时钟数据,时钟数据地址格式为:秒 分 时 日 月 星期 年 控制,然后读取DS1302的时钟数据,将数据写到DS1302寄存器中,并读取其中的数据,最后设置初始时间,读取DS1302当前时间。这就是实时时钟子程序完成的步骤。
以下是实时时钟部分子程序:
void v_Get1302(uchar *ucCurtime)
{
        uchar i,temp1,temp2;
        uchar ucAddr = 0x81;
        for (i=0;i<7;i++)
        {
*ucCurtime++ = uc_R1302(ucAddr);      //格式为: 星期
                ucAddr += 2;
                temp1=(Time_code&0xF0)>>4;
                temp2=Time_code&0x0F;
                Time_code=temp1*10+temp2;
}
}
3.2.2 LCD显示子程序
为简化硬件电路,通常将所有LED动态显示。首先设置显示模式,即显示开、关,显示有无光标。然后设置输入模式,画面可平移。将LCD初始化,输入液晶字符的位置,并显示到液晶屏上。
以下是设置LCD液晶显示的部分子程序:
void LCD_Initial()
{
        LcdEn=0;
        LCD_Write(LCD_COMMAND,0x38);            //8位数据端口,2行显示,5*7点阵
        delay(5);
        LCD_Write(LCD_COMMAND,0x38);
        delay(5);
        LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);    //开启显示, 无光标
        delay(5);
        LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);     //清屏
        delay(5);
        LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);         //AC递增, 画面不动
        delay(5);
}

3.2.3 自动报警子程序
    自动报警子程序是当路灯在发生故障时,电路传给单片机一个信号,而单片机将这个数据写入此程序,程序将数据输出,使得蜂鸣器启动,从而起到报警作用。
以下是部分自动报警子程序:
if(status0==1)
                        {
                                GotoXY(13,1);
                                LCD_Write(LCD_DATA,'0');

                                if(ErroT!=0xFF)
                                {
                                        //开报警
                                        Beep=0;
                                        i=(ErroT&0xF0)>>4;
                                        if(i>9)i=i+0x37;
                                        else i=i+0x30;
                                        LCD_Write(LCD_DATA,i);
                                        i=ErroT&0x0F;
                                        if(i>9)i=i+0x37;
                                        else i=i+0x30;
                                        LCD_Write(LCD_DATA,i);
                                }
                                else
                                //关报警
                                Beep=1;                        }


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩1
回复

使用道具 举报

来自 2#
ID:332895 发表于 2020-4-8 23:10 | 只看该作者
没有用?没下载的师兄别下了,费币!
回复

使用道具 举报

板凳
ID:182926 发表于 2017-4-8 16:51 | 只看该作者
可以,支持一下
回复

使用道具 举报

地板
ID:256309 发表于 2017-12-5 12:23 | 只看该作者
支持!!
回复

使用道具 举报

5#
ID:340513 发表于 2018-6-1 13:13 | 只看该作者
这是用了几个mcu
回复

使用道具 举报

6#
ID:492612 发表于 2019-3-17 16:01 | 只看该作者
你这个文档可以发我一份吗?新手今天才注册,没有黑币,邮箱1356412339@qq.com
回复

使用道具 举报

7#
ID:697956 发表于 2020-2-25 14:09 | 只看该作者
支持,非常好啊
回复

使用道具 举报

8#
ID:582415 发表于 2020-4-2 22:17 | 只看该作者
大佬牛逼,现在正在学习
回复

使用道具 举报

9#
ID:23303 发表于 2020-4-11 10:59 | 只看该作者
非常好啊,现在正在学习
回复

使用道具 举报

10#
ID:23303 发表于 2020-4-11 10:59 | 只看该作者
现在正在学习
回复

使用道具 举报

11#
ID:726953 发表于 2020-4-11 15:03 来自手机 | 只看该作者
应该怎么实现这种电路,用单片怎么实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表