ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:472KB ,
资源ID:14178869      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14178869.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

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

1、 1 硬件部分结构功能简介1 1.1 STC89C51RC单片机介绍1 1.2 STC89C51RC单片机的主要性能1 1.3 STC89C51RC单片机管脚说明2 2 硬件电路设计3 2.1 单片机最小系统3 2.1.1 复位电路3 2.1.2 时钟电路3 2.2 按键电路4 2.3 显示功能5 2.4 中断系统5 2.5 继电器7 2.6 电路设计7 3 软件设计8 总 结10 参考文献11 致 谢12 附 录13 1 硬件部分结构功能简介1.1 STC89C51RC单片机介绍STC89C51RC系列单片机是深圳宏晶科技公司推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统

2、8051单片机。STC89C51RC系列单片机具有ISP(在系统中可编程)动能和IAP(在应用可编程)功能,无需购买专用编辑器,可以通过串行口直接下载用户程序。单片机主控电路的主要元件是STC89C51RC单片机,其外形如下图(图1-1): 图1-1 STC89C51RC各个引脚 1.2 STC89C51RC单片机的主要性能 与单片机产品兼容4K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程/口、三个16位定时器/计数器、八个中断源、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒看门狗定时器,双数据指针、掉电标识

3、符。1.3 STC89C51RC单片机管脚说明VCC供电电压。GND接地。P0口8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口带内部上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口带

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

5、入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在编程/校验时,P3口可接收某些控制信号。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是A

6、LE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。

7、 2 硬件电路设计2.1单片机最小系统 2.1.1 复位电路复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,STC89C51RC便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H处读入程序代码而执行程序。(图2-1) 图2-1 复位电路 2.1.2. 时钟电路时钟电路是产生CPU校准时序,是单片机的控制核心。STC89C51RC的时钟信号可通过内部振荡方式和外部振荡方式两种方式

8、得到。本次设计使用的是片内振荡方式,通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1和XTAL2分别为反向放大器的输入端和输出端。外接晶体以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。当使用外部时钟驱动时,XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动,或者XTAL1引脚应悬空,而由XTAL2引脚上的信号驱动。外部振荡器再通过一个2分频的触发器来形成内部时钟所需要的信号。在电容器C1、C2选择时方面,一般选择其值为530pF。本系统中所用的电容值为22pF,具体的电路接法如图2-2所示。 图2-2 晶振电路图2.2按键电路 按键电路如图2-3

9、所示 图2-3 按键电路系统中共有四六个独立按键,分别与P2.0、P2.1、P2.2、P2.3、P2.3、P2.4、P2.5连接。开始键(P2.0):按下该键,电源和负载接通或当预约调试结束后按下该键, 电源将在设定时间到达后接通。关闭键(P2.1):按下该键,切断电源。预约键(P2.2):第一次按下该键,可以对电源的接通时间进行“小时”调整;第二次按下该键,可以对电源接通时间进行“分钟”调整。加“1”键(P2.3):按下该键,调“小时”时间加1,最大可加到11;调“分钟”时间加1,最大可加到59.即最长定时时间为11小时59分钟。减“1”键(P2.4):按下该键,调“小时”时小时减1,最小值

10、为0;调“分钟”时分钟减1,最小值为0.预留键(P2.5):在本设计中,没有作用。2.3 显示功能1.按键指示灯D1:只要有按键按下,该指示灯会点亮。2.电源开关状态指示灯D3:当电源和负载接通时,该灯点亮。3.四位数码管(图2-4):前两位显示小时,后两位显示分钟。上电即显示“-”;预约调小时前两位闪烁,预约调分钟后两位闪烁。预约时间内,倒计时显示。 图2-4 LED数码管 2.4中断系统中断系统的作用主要是对外部或内部的终端请求进行管理与处理。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 /处理调时、显示器闪烁 static uchar ledcnt,num; /设置静态变量 TH0=(65536-50000)/256; /定时50ms TL0=(65536-50

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1