欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的定时开关控制器Word格式文档下载.doc

    • 资源ID:6975986       资源大小:472KB        全文页数:22页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的定时开关控制器Word格式文档下载.doc

    1、 致 谢12 附 录13 1 硬件部分结构功能简介1.1 STC89C51RC单片机介绍STC89C51RC系列单片机是深圳宏晶科技公司推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机。STC89C51RC系列单片机具有ISP(在系统中可编程)动能和IAP(在应用可编程)功能,无需购买专用编辑器,可以通过串行口直接下载用户程序。单片机主控电路的主要元件是STC89C51RC单片机,其外形如下图(图1-1): 图1-1 STC89C51RC各个引脚 1.2 STC89C51RC单片机的主要性能 与单片机产品兼容4K字节在系统可编程Flash存储器、1000次擦写周

    2、期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程/口、三个16位定时器/计数器、八个中断源、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒看门狗定时器,双数据指针、掉电标识符。1.3 STC89C51RC单片机管脚说明VCC供电电压。GND接地。P0口8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口带内部上拉电阻的8位双向I/O口,P1口缓

    3、冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能

    4、寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在编程/校验时,P3口可接收某些控制信号。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此

    5、它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RES

    6、ET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。 2 硬件电路设计2.1单片机最小系统 2.1.1 复位电路复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,STC89C51RC便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H

    7、处读入程序代码而执行程序。(图2-1) 图2-1 复位电路 2.1.2. 时钟电路时钟电路是产生CPU校准时序,是单片机的控制核心。STC89C51RC的时钟信号可通过内部振荡方式和外部振荡方式两种方式得到。本次设计使用的是片内振荡方式,通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1和XTAL2分别为反向放大器的输入端和输出端。外接晶体以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。当使用外部时钟驱动时,XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动,或者XTAL1引脚应悬空,而由XTAL2引脚上的信号驱动。外部振荡器再通过一个2分频的触发器

    8、来形成内部时钟所需要的信号。在电容器C1、C2选择时方面,一般选择其值为530pF。本系统中所用的电容值为22pF,具体的电路接法如图2-2所示。 图2-2 晶振电路图2.2按键电路 按键电路如图2-3所示 图2-3 按键电路系统中共有四六个独立按键,分别与P2.0、P2.1、P2.2、P2.3、P2.3、P2.4、P2.5连接。开始键(P2.0):按下该键,电源和负载接通或当预约调试结束后按下该键, 电源将在设定时间到达后接通。关闭键(P2.1):按下该键,切断电源。预约键(P2.2):第一次按下该键,可以对电源的接通时间进行“小时”调整;第二次按下该键,可以对电源接通时间进行“分钟”调整。

    9、加“1”键(P2.3):按下该键,调“小时”时间加1,最大可加到11;调“分钟”时间加1,最大可加到59.即最长定时时间为11小时59分钟。减“1”键(P2.4):按下该键,调“小时”时小时减1,最小值为0;调“分钟”时分钟减1,最小值为0.预留键(P2.5):在本设计中,没有作用。2.3 显示功能1.按键指示灯D1:只要有按键按下,该指示灯会点亮。2.电源开关状态指示灯D3:当电源和负载接通时,该灯点亮。3.四位数码管(图2-4):前两位显示小时,后两位显示分钟。上电即显示“-”;预约调小时前两位闪烁,预约调分钟后两位闪烁。预约时间内,倒计时显示。 图2-4 LED数码管 2.4中断系统中断

    10、系统的作用主要是对外部或内部的终端请求进行管理与处理。STC89S51RC共有5个中断源,其中有2个外部中断源和3个内部中断源。中断函数如下/-外部中断0中断函数- void int0()interrupt 0 using 0 uchar keynum; display(); /动态显示程序作为去抖动 if(INT0=0) /判断是否有按键按下 keynum=GetKeyNum(); /有效键,获取键值 while(INT0=0); /等待按键释放 Keyprocess(keynum); /按键处理 /-定时器0中断子函数- void time0() interrupt 1 /处理调时、显示器

    11、闪烁 static uchar ledcnt,num; /设置静态变量 TH0=(65536-50000)/256; /定时50ms TL0=(65536-50000)%256; if(Onflag & (hour | min)!=0) |! Onflag) /指示灯每隔0.5s闪烁 ledcnt+; if(ledcnt=10) / 10 X 50mS=0.5S ledcnt=0; LED=LED; if(Setflag!=0) /调时闪烁 num+;if(num=5) num=0; flag=flag;/-定时器1中断子函数-void time1() interrupt 3 TH1=(655

    12、36-50000)/256; TL1=(65536-50000)%256;calculate(); /计时 2.5 继电器 本设计是用单片机控制继电器达到以弱控强的电路,下面再来介绍一下单片机和强电之间的桥梁-电磁继电器。电磁继电器是有触点电继电器是有触点电继电器的一种。它是利用电磁效应实现电路开、关控制作用的原件,广泛应用在电子设备、仪器仪表及自动化设备中。在各种自动设备中,都要求用一个低电压电路提控制一个高电压的电器电路。这样不仅可以为电子线路和电器电路提供良好的电隔离,还可以保护电子电路和人员安全。 图2-5 继电器开关电路 2.6 电路设计 根据设计要求,选用STC89C51RC作为电

    13、路控制核心,电路中包含了时钟电路、复位电路作为单片机的最小系统。晶体振荡器频率为12MHz,这样单片机的机器周期恰好为1s。P0.0-P0.7作为四位七段数码管的段码输出端,P1.0-P1.3作为四位数码管(共阴极)的位码输出端。P2.0-P2.5作为键盘信号的输入端。P3.6作为控制信号的输出端控制继电器吸合与释放。 由于P0口输出端为漏极开路门,他要输出高电平才有效,必须外接上拉电阻,本设计中上空电阻阻值为10K。由于P0口输出电流有限,为减轻单片机的负担,在P0口外接了一个8路同相三态双向驱动器(起电流放大作用)。19脚是它的片选端,低电平有效,1脚是输入/输出端口转换用,当该引脚接高电

    14、平时,信号由“A”端传向“B”端,当该引脚接低电平,信号由“B”端传向“A”端。P1口通过一个六反相器74LS04和数码管的位码输入端相连,故P1.0-P1.3输出低电平时,相应的数码管点亮。附录2中六个独立按键分别和P2.0-P2.5相连接,通过上拉电阻和电源相连接,当按键没有按下时,P2.0-P2.5端口输入为“1”,表示没有信号输入。这六个按键只要有一个按键按下时,8输入与非门74HC30的输出端必然输出高电平(它的逻辑功能为:全1出0,由0出1),经非门电路74LS04倒相后,按键按下时输出为低电平,该低电平信号接单片机的外部中断信号输入端(即P3.2引脚),从而引起单片机中断正常执行

    15、的主程序,转而去执行中断服务程序。 3 软件设计 程序开始首先对按键变量和小时、分钟变量进行定义,对共阴极数码管的段码(字型码)以一维数组方式定义。另外对延时函数、定时器初始化子函数、求按键子函数、按键处理子函数、计时子函数、显示子函数进行声明。 主函数 图3-1 程序主函数在定时器T0、T1初始化和外部中断0()子函数中,规定定时器T0、T1的工作模式为方式1,定时时间为50ms。外部中断0采用下降沿触发方式。定时器工作在中断方式,即定时时间到,立即停止执行主函数,转而去执行中断服务函数。 图3-2 定时器T0中断服务函数 图3-3 外部中断T1中断服务函数 图3-4 外部中断0中断服务函数

    16、在显示子函数中,上电复位后4位数码管显示“- - - -”。其中包括走时转换函数,负责将定时器走时数据转换为分钟的十位和个位,超过60分钟的数据再转换为小时的十位和个位。在计时子函数中,设置每50ms中断1次,秒计数器中计数值为200时,时间为1分钟。分钟计数器计数值为60时,时间为1小时预约时间到,单片机P3.6引脚输出低电平,驱动三极管饱和导通,继电器的线圈中有电流经过,从而产生吸合动作,接通电源,用电器开始工作。(程序见附录2) 总 结经过几周的辛苦设计,现在终于可以画上一个圆满句号了。回想起来做毕业设计的整个过程,其中有苦也有甜。毕业设计的难度不仅是检验大学所学的深度,也是对自己能力的

    17、一种提高。下面我对整个毕业设计的过程简单的做一下总结。首先,进行选题选定。选题是毕业设计的开端,选择恰当的感兴趣的题目,这对于整个毕业设计是否能够顺利进行关系极大。好比走路,开始的第一步具有决定意义的,第一步迈向何方,需要慎重考虑。否则,就可能走许多弯路、费许多周折,甚至可能做的全是无用功。 参考文献1戴佳 戴卫.51单片机C语言应用程序设计实例精讲.电子工业出版社,20062余宏生.吴建设.电子CAD技能实训.人民邮电出版社,20063李贵庭.单片机应用技术及项目化训练.西南交通大学出版社,20094刘建清.从零开始学单片机C语言.国防工业,20065钟富昭等.8051单片机典型模块设计与应

    18、用M.人民邮电出版社,20076李乃夫.可编程控制器原理、应用、实验 M.北京:中国轻工业出版社,2003.7章文浩.可编程控制器原理及实验 M.北京:国防工业出版社,2003.8谭浩强 著.C语言设计(第三版)清华大学出版社9王洪庆 主编.微型计算机控制技术 机械工业出版社 .2012.910王静霞 主编. 杨宏丽 刘俐 副主编.单片机应用技术 C语言版电子工业出版社.201211朱定华.单片机原理及接口技术实验M.北京:北方交通大学出版社,200212何立民.MCS51系列单片机应用系统设计系统配置与接口技术M.北京:北京航空航天大学出版 社,1999.11 致谢首先要感谢在大学两年半教育

    19、我的老师,没有他们给予我扎实的基础,我想我是不能完成这次毕业设计的。在这两个多月的毕业设计中,我真诚地感谢老师和同学们的帮助,在他们的帮助下我顺利的完成了此次毕业设计。在本次设计过程中李学明老师始终给予了我无私的帮助,在最开始的设计思路的构建、资料的选取等是我能顺利完成这次设计的关键。 13附录1系统仿真原理图附录2主程序 #include #define uchar unsigned char #define uint unsigned int sbit KEYON =P20; / 开始键 sbit KEYOFF=P21; / 关闭键 sbit KEYSET=P22; / 预约键sbit K

    20、EYINC=P23; /加1键 sbit KEYDEC=P24; / 减1键 sbit KEYFREE=P25; /预留键sbit POWER=P36; /电源开关指示灯 sbit LED=P33 ; /按键指示灯uchar code dispcode=0x3f,0x06,0x05b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /0-9的字型码uchar data disbuf=0,0,0,0; /显示缓冲区uchar hour,min ; /小时、分变量bit Onflag,flag;uchar Setflag;void delay(uchar); /延

    21、时子函数void init(void); /定时器初始化子函数uchar GetKeyNum(); /求按键号void Keyprocess(uchar); /按键处理子函数void calculate(); /计时子函数void display(); /显示子函数 /-主函数-void main(void) init(); P1=0x00; while(1) display(); /-定时器TO、T1初始化,外部中断0初始化子函数-void init() TMOD=0x11; /TO、T1作定时器、工作方式1 TH0=(65536-50000)/256 ; /定时50ms TH1=(65536-50000)/256; TL1=(65536-50000)%256; IT0=1; /选择外部中断0为下降沿触发方式 EX0=1; /开外部中断0 ET1=1; /开定时器1 ET0=1; /开定时器0 EA =1; /开总中断 TR0=


    注意事项

    本文(基于单片机的定时开关控制器Word格式文档下载.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开