




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1.产品功能分析......................................................1
2.单片机芯片选择....................................................1
3.产品设计技术标准..................................................1
3.1单片机编程规范总则............................................1
3.2单片机编程函数规范............................................1
4.产品硬件设计......................................................2
4.1单片机最小系统................................................2
4.2单片机LCD显示模块............................................3
4.3LCD1602与MCU的接口电路......................................3
4.4单片机按键模块设计............................................5
5.产品软件设计......................................................5
6.产品使用说明书....................................................6
附录1元件的清单.....................................................7
附录2原理图.........................................................8
附录3PCB图.........................................................9
附录4作品实物照....................................................10
附录5源代码........................................................11
参考资料............................................................20
湖南商务职业技术学院毕业设计
智能定时开关的设计与制作
1产品功能分析
随着电的发展,也越来越多的电器和智能设备出现,在我们的日常生活中,
常常需要为电器充电或者使用电器,比如手机、热水器,而大多年轻人喜欢边
充电边玩手机,或者一直充电不拔插头,这就容易耗损电池,再比如很多年轻
人上班,热水器要么一直插着电或者回家才插电烧水洗澡,这样一来,要么很
耗电要么每次洗澡都要等上好一段时间,所以基于此,定时开关的出现就很有
必要了。
2单片机芯片选择
方案一:采用51系列单片机作为系统控制器
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各
种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在
各个领域应用广泛。而且抗干扰性能好。
方案二:采用STM32系列单片机作为系统控制器
单片机低电压并且节能,全系列产品共用大部分引脚、软件和外设,优异
的兼容性为开发人员带来最大的设计灵活性,能够在经济型用户终端产品上实
现先进且复杂的功能。
因51单片机价格比STM32系列低得多,且本设计不需要很高的处理速度,
经济和方便使用角度考虑,本设计选择了方案一。
3产品设计技术标准
3.1单片机编程规范总则
格式清晰、注释简明扼要、命名规范易懂、函数模块化、程序易读易维护、
功能准确实现、代码空间效率和时间效率高、适度的可扩展性。
3.2单片机编程函数规范
正确性:程序要实现设计要求的功能。稳定性和安全性:程序运行稳定、
可靠、安全。可测试性:程序便于测试和评价。过长的代码要分行。
1
湖南商务职业技术学院毕业设计
4产品硬件设计
本设计采用的是STM89c52单片机,如图4-1所示。
U1
140
P10VCC
239
P11P00
338
P12P01
437
P13P02
536
P14P03
635
P15P04
734
P16P05
833
P17P06
932
RESETP07
1031
P30/RXDEA/VP
1130
P31/TXDALE/P
1229
P32/INT0PSEN
1328
P33/INT1P27
1427
P34/T0P26
1526
P35/T1P25
1625
P36WRP24
1724
P37/RDP23
1823
X2P22
1922
X1P21
2021
GNDP20
图4-1SSTC89C52TC89C52单片机引脚图
VCC:STC89C52电源正端输入,接+5V。
GND:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:STC89C52的重置引脚。
4.1单片机最小系统
最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单
片机始终处于正常的运行状态。如图4-2所示。
图4-2单片机最小系统原理框图
2
湖南商务职业技术学院毕业设计
4.2单片机LCD显示模块
LED1602基本操作时序如下:
1)读状态:RS=L,RW=H,E=H
2)写指令:RS=L,RW=L,D0~D7=指令码,E=高脉冲
3)读数据:RS=H,RW=H,E=H
4)写数据:RS=H,RW=L,D0~D7=数据,E=高脉冲
4.3LCD1602与MCU的接口电路
LCD的D0~D7分别接单片机的P0口,作为数据线,因为P0口内部没有上
拉电阻,所以外部另外加上4.7K的上拉电阻;P2.5—P2.7分别接LCD的RS、
RW、E三个控制管脚;RV1用来调节LCD的显示灰度;BLK、BLA为背光的阴极和
阳极,接上相应电平即点亮背光灯。
图4-3显示电路
3
湖南商务职业技术学院毕业设计
4.4单片机按键模块设计
本系统用到了4个按键,其中一个用作系统手动复位,另外4个采用独立
按键,该种接法查询简单,程序处理简单,可节省CPU资源,按键电路如图4-4
所示,4个独立按键分别与STC89C52的P3.0、P3.1、P3.2、P3.3接口相连。
图4-4按键模块
5产品软件设计
本系统的软件部分主要进行时间计算程序设计,按键的扫描输入等。程序
开始运行后首先要进行初始化,把单片机的各引脚的状态按程序里面的初始化
命令进行初始化,初始化完成后日期信息,再运行按键扫描程序,检测有无按
键按下,计算完成后运行显示程序,显示程序将得到的时间信息送给对应的液
晶让其显示。
4
湖南商务职业技术学院毕业设计
图5.0程序流程图
5
湖南商务职业技术学院毕业设计
6产品使用说明书
本产品定时开关有四个模式:on(开)、OFF(关)、AUTOon(自动开)、
Autooff(自动关)
设定当前时间
先按住“设置”键三秒,星期闪烁,再按最左边或者最右边的键调整
再按住“设置”键三秒,小时闪烁,再按最左边或者最右边的键调整
再按住“设置”键三秒,分钟闪烁,再按最左边或者最右边的键调整
再按住“设置”键完成设置,显示设置后的当前时间并开始运行。
设定定时程序
在显示当前时间的状态下,按下右键即进入定时设定模式。
6
湖南商务职业技术学院毕业设计
附录1元件的清单
7
湖南商务职业技术学院毕业设计
附录2原理图
8
湖南商务职业技术学院毕业设计
附录3PCB图
9
湖南商务职业技术学院毕业设计
附录4作品实物图
10
湖南商务职业技术学院毕业设计
附录5源代码
#defineucharunsignedchar
#defineuintunsignedint
sbitlcdrs=P3^7;
sbitlcdrw=P3^6;
sbitlcden=P3^5;
sbitinf=P3^3;
sbitSCLK=P0^7;
sbitIO=P0^6;
sbitRST=P0^5;
11
湖南商务职业技术学院毕业设计
#include<reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitbeep=P0^4;
sbitP0_2=P0^2;
sbitP0_1=P0^1;
sbitP0_0=P0^0;
sbits1=P2^0;
sbits2=P2^1;
sbits3=P2^2;
sbits4=P2^3;
ucharcodetable1[]=":::";
ucharcodetable2[]=":::";
ucharcodetable3[]="Welcometo";
ucharcodetable4[]="TimingSockets";
ucharcodetable5[]="20--";
ucharcodetable6[]="::";
ucharcodetable7[]="MON";
ucharcodetable8[]="TUE";
ucharcodetable9[]="WED";
ucharcodetable10[]="THR";
ucharcodetable11[]="FRI";
ucharcodetable12[]="SAT";
ucharcodetable13[]="SUN";
ucharcodetable14[]="SettheCalendar";
ucharcodetable15[]="SettheMode";
ucharcodetable16[]="SettheTiming";
ucharcodetable17[]="ModeChoice";
12
湖南商务职业技术学院毕业设计
ucharcodetable18[]="123456";
uintbuf_key_code=0;
uintcount_T=0,buf_CT=0;
ucharkey=255;
ucharkey_bit_count=0;
ucharcommon_code_count=0;
ucharinf_status=0;
uchardd[7];
ucharaa[7]={0,0,11,17,4,6,11};
ucharee[3]={11,0,0};
ucharff[3]={11,1,0};
ucharkk[2]={11,2};
ucharhh[2]={11,3};
uchargg[6];
bitflag,flag2,flag3,flag4,flag5,flag6,flag7,flag8,flag9,flag10,fla
g11,flag12,flag13,flag14;
charmiao,fen,shi,ri,yue,zhou,nian;
ucharsw,gw;
uchars1num,s2num;
voiddisplay(void);
voiddelay(uinti)
{
uintj;
for(;i>0;i--)
for(j=100;j>0;j--);
}
voidwrite_com(ucharcom)//lcd写指令
{
13
湖南商务职业技术学院毕业设计
lcdrs=0;
lcden=0;
P1=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
voidwrite_data(uchardat)//lcd写数据
{
lcdrs=1;
lcden=0;
P1=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
voidinit()//lcd初始化
{ucharnum;
lcdrw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
write_com(0x01);
write_com(0x80);
14
湖南商务职业技术学院毕业设计
for(num=0;num<16;num++)
{
write_data(table3[num]);
delay(5);
}
write_com(0xc0);
for(num=0;num<16;num++)
{
write_data(table4[num]);
delay(5);
}
delay(5);
write_com(0x01);
write_com(0x80);
for(num=0;num<8;num++)
{
write_data(table5[num]);
delay(1);
}
write_com(0xc0);
for(num=0;num<8;num++)
{
write_data(table6[num]);
delay(1);
}
}
15
湖南商务职业技术学院毕业设计
/*********DS1302程序*********/
voiddelay1(uintnum)
{
while(--num);
}
voidDS1302_wbyte(ucharinbyte)//ds1302写数据
{
uchari;
for(i=8;i>0;i--)
{
SCLK=0;
if(inbyte&0x01)
IO=1;
else
IO=0;
SCLK=1;
delay1(1);
inbyte=inbyte>>1;
}
}
ucharDS1302_rbyte()//ds1302读数据
{
uchari,temp=0;
IO=1;
for(i=7;i>0;i--)
{
SCLK=0;
if(IO==1)
16
湖南商务职业技术学院毕业设计
temp=temp|0x80;
else
temp=temp&0x7f;
SCLK=1;
temp=temp>>1;
}
return(temp);
}
//----------往ds1302的某个地址写入数据-------------
voidWrite_DS1302(ucharcmd,ucharindata)
{
RST=1;
DS1302_wbyte(cmd);
DS1302_wbyte(indata);
RST=0;
SCLK=0;
}
//----------读ds1302某地址的的数据-----------------
ucharRead_DS1302(ucharaddr)
{
ucharbackdata;
RST=1;
DS1302_wbyte(addr);
backdata=DS1302_rbyte();//先写地址,然后读数据
RST=0;
SCLK=0;
return(backdata);
}
17
湖南商务职业技术学院毕业设计
//------------设置初始时间-------------------
voidSet_DS1302(ucharaddr,uchar*p,ucharn)//写入n个数据
{ucharbb;
Write_DS1302(0x8e,0x00);//写控制字,允许写操作
for(;n>0;n--)
{sw=(*p)/10;
gw=(*p)%10;
bb=(sw<<4)|gw;
Write_DS1302(addr,bb);
p++;
addr=addr+2;
}
Write_DS1302(0x8e,0x80);//写保护,不允许写
}
//-----------读取当前时间-------------------
voidRead_nowtime(ucharaddr,uchar*p,ucharn)
{
for(;n>0;n--)
{
*p=Read_DS1302(addr);
p++;
addr=addr+2;
}
}
voidinit_DS1302()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场调研合同履约金协议
- 苗木交付责任协议
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 货车归还条件协议
- 脉冲灭绝设备采购协议
- 四数码显示译码器一数码显示译码器的结构和功能示意课件
- 双语列车长铁路电报RailwayTelegraphBili
- 铁路交通事故案例分析车辆运用与管理课件
- 2025年特种设备作业人员快开门式压力容器操作R1证考试题库
- 颖蒙建筑装饰材销售合同深度分析
- 采油工程试题及答案
- 小学科学阅读试题及答案
- 找最小公倍数案例北师大五年级下册数学
- 基因组学在临床的应用试题及答案
- 公司法公章管理制度
- 统编版2024-2025学年语文六年级下册期中测试卷试题(有答案)
- 大模型关键技术与应用
- DB51T 1466-2012 马尾松二元立木材积表、单木出材率表
- 人教版语文六年级下册《第五单元》大单元整体教学设计2022课标
- 中国法律史-第三次平时作业-国开-参考资料
- DZ∕T 0227-2010 地质岩心钻探规程(正式版)
评论
0/150
提交评论