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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(智能时控开关设计左敬龙广东石油化工学院.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能时控开关设计左敬龙广东石油化工学院.docx

1、智能时控开关设计左敬龙广东石油化工学院单片机综合实验实验报告学院 计算机与电子信息学院 专业 电子信息工程 班级 电信12-1班姓名 李玉金 学号 12034490114 实验题目 智能时控开关设计系统环境 Proteus 指导教师 左敬龙实验时间 2014年10月27日 至 2014年10月31日实验报告评分:_目录1、引言 32、总体设计方案 42.1.1设计思路 42.1.2方案确立 42.1.3 设计方框图 43、设计原理分析 53.1主程序流程图 53.2各部分电路设计 63.2.1单片机最小系统设计 63.2.2时钟电路 63.2.3 复位电路 73.2.4 显示电路 73.2.5

2、调时模块设计 83.2.6整体电路图 93.2.7实物连接图 104、结束语 115、参考文献 116、附录1 12题目:智能时控开关设计班级:电信12-1 姓名:李玉全摘要:本系统通过单片机的定时器功能,利用按键及数码管的显示功能,实现了开关的时控功能。通过按键输入调节时间的数字键,k1,使装置处于运行或设置状态,k2,能够实现时间调节的增加或减少,k3,k4,k5,分别用于调节时间的时,分,秒位,实现24小时的显示和定时功能,最小定时时间为1秒钟,最大定时时间为24小时。定时时间到时,用发光二极管闪烁及蜂鸣器发声提示。人工干预后停止闪烁及发声,并用发光管指示开关状态。关键词:电子线路、单片

3、机、开关定时、数码管、蜂鸣器。1、引言随着科学技术和社会经济的迅猛发展,人类社会中自动控制,智能控制越来越普及,而单片机正是这种技术普及的基础。顺着单片机的生产技术和其本身的性能的快速提高,以及单片机的价格便宜等因素,单片机被应用于非常广泛的领域。本文中的智能时控开关就是应用单片机来实现的。主要应用到了单片机的定时器模块,输入输出模块按键的输入和显示功能来实现了对外部开关的实时控制。同时,近年来顺着声控开关的广泛应用,其方便人们的同时,缺点也是逐渐被人们发现。例如外部噪音的存在也会使声控开关点亮电灯,那样会使得开关的节能性能不是很好。所以人们希望通过实时控制开关来控制电灯。顺着单片机的功能不断

4、完善和其价格的大众化,使得智能时控开关得到广泛的应用。与此同时,智能时控开关还能运用于其他很多的领域,所以本文所研究的智能失控开关具有重要的意义。本文所应用的基本程序来之实验室的普中科技实验板的相关质料。数码管的动态显示功能,在基础程序之上进行改进添加自己的元素实现实验的基本功能。 李玉全2014年11月16日星期日2、总体设计方案2.1.1设计思路用STC89C51芯片进行控制,使用数码管显示时间和倒计时的时间显示,用按键来调节定时时间的长度等,首先是画出仿真电路图,然后根据自己画出的电路图来进行编写程序,使得电路正常运作,从而实现了定时开关的功能。2.1.2方案确立方案一:使用STC89C

5、51作为核心芯片来控制整个电路的运作,使用8位数码管来显示小时,分钟,和秒,中间用一条短的横线来隔开时分秒,这样就使得显示更加直观易懂。使用普通的按键来进行时间的调节,比如定时时间的增加或者减少,开关的停止和开启等功能。方案二:同样是使用STC89C51作为核心的控制芯片,不同的是,另外加一个DS1302外加时钟的定时功能。按键用4*4的矩阵键盘来进行时间,功能的调节。方案一和方案二比较,我选择了方案一,原因是方案一的设计相对比较简单,容易实现,而且如果是做成实物的话,成本大大的减少,操作方便等优势。客户容易掌握其使用的方法。因此我选择了方案一。2.1.3 设计方框图图1、设计方框图3、设计原

6、理分析3.1主程序流程图图2、 主程序流程图3.2各部分电路设计3.2.1单片机最小系统设计 AT89C51是各单片机中最为典型和最有代表性的一种是一种带4KB闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的单片机,可稳定地工作于5V的电源下。其集成度高、功能强、能耗低、通用性好、价格便宜。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。其组合而成的配件产

7、品在日常生活的使用过程中非常方便、简单且实用,深受着广大消费者的喜爱。 AT89C51管脚说明如下:P0口:P0口为三态双向口,能带8个TTL电路。有两种功能:第一功能是一个8位漏极开路型的双向I/O口,这时P0口可看做数据总线;第二功能是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P0口内部无上拉电阻,作为I/O口使用时,必须外接上拉电阻。 P1口:P1口是一个内部带上拉电阻的8位准双向I/O口(使用前有一个准备动作),负载能力为4个TTL

8、电路。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部带上拉电阻的8位准双向I/O口,P2口缓冲器可接收、输出4个TTL门电流。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。3.2.2时钟电路 单片机的时钟产生方法有两种: 内部时钟方式和外部时钟方式。 本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起

9、振速度有少许影响,一般可在20pF100pF之间取值。AT98C51单片机的时钟电路如图3所示。单片机的时钟产生方法有两种: 内部时钟方式和外部时钟方式。 本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF之间取值。3.2.3 复位电路复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的

10、外部复位电路有上电自动复位和按键手动复位两种。本系统中AT89C51单片机采用上电加按键手动复位电路,如图3所示。 图3、单片机的复位电路3.2.4 显示电路将单片机P0口的P0.0P0.6分别接到数码管的ABCDEFG上作为段选端口,然后将单片机的P1口的P1.0P1.1分别接到数码管的12345678位选端口上。就可以构成了数码管的显示电路了,如下图4所示。图4、数码管的显示电路3.2.5调时模块设计当k1接地时,处于设置时间状态。当k1高电平时,处于工作状态。Ke2高电平时用于调节时间的增加。处于低电平时用于调节时间的减少。K3,k4,k5,分别用于调节时间的时,分,秒位。如图5所示图5

11、、调时模块设计3.2.6整体电路图图6、整体电路图3.2.7实物连接图图7、实物连接图4、结束语经过将近一周的单片机课程设计,我有了很多的体会和感想。通过本次对定时开关的设计,我对单片机这门课程有了更进一步的了解。无论是在其硬件连接方面还是在软件编程方面,都取得了新的收获。在对单片机编程方面,我们又掌握了一些新的编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高,以前在学单片机这门课程时只是对其理论知识有了初步的了解。通过本次实验,我们对它的工作原理彻底理解了,对其启动设置、转换结束判断以及输出控制等都基本掌握。电路连接方面,我们对其与单片机的连接也有了更为直观的认识,

12、通过实验的摸索以及必要的理论知识,我们准确的实现了它于单片机的互连。我非常感激同组队员对我的的指导和帮助,没有他们的帮助,我还会做很多的无用功。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习。最后感谢老师对我的精心指导和帮助,感谢同学们对我的帮助。5、参考文献1郭天祥. 51单片机c语言教程.北京:电子工业出版,2009.122张齐.单片机应用系统设计技术(第3版).北京:电子工业出版社,2013.73贾新章.电子线路CAD与优化设计. 北京:电子工业出版社,2014.46、附录1C程序代码:#includesbit led=P36; /定义led状态显示ch

13、ar hour=23,minute=59,second=59;unsigned char i=0;unsigned char TempData8;sbit KEY1=P22; /定义设置按键sbit KEY2=P23; /定义加减按键sbit KEY3=P24; /定义小时调整按键sbit KEY4=P25; /定义分钟调整按键sbit KEY5=P26; /定义秒钟调整按键sbit motor=P27; /定义开关开启按键sbit beep=P20; /定义蜂鸣器输出端口unsigned char code duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

14、0x07,0x7f,0x6f;unsigned char code weima=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;void display(unsigned char a,unsigned char b);void delay1(unsigned char num);voidKeyScan();voidDataDeal();void Tiner0_Init() TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void main() Tiner0_

15、Init(); led=0; motor=0; TempData0=duanmasecond%10; TempData1=duanmasecond/10; TempData2=0x40; TempData3=duanmaminute%10; TempData4=duanmaminute/10; TempData5=0x40; TempData6=duanmahour%10; TempData7=duanmahour/10; display(0,8); while(1) if(KEY1=1) display(0,8); /数码管显示函数 if(second=0)&(minute=0)&(hour

16、=0) TempData0=duanma0; TempData1=duanma0; TempData2=0x40; TempData3=duanma0; TempData4=duanma0; TempData5=0x40; TempData6=duanma0; TempData7=duanma0; motor=1; led=1; while(1) beep=beep; /蜂鸣器响 delay1(10000); /蜂鸣器响的平率 else motor=0; else KeyScan(); display(0,8); void Tiner0_isr() interrupt 1 TH0=(65536

17、-50000)/256; TL0=(65536-50000)%256; if(KEY1=1) i+; if(second!=0)|(minute!=0)|(hour!=0) if(i=20) i=0; second-; if(second0) second=59; minute-; if(minute0) minute=59; hour-; DataDeal(); voidDataDeal() TempData0=duanmasecond%10; TempData1=duanmasecond/10; TempData2=0x40; TempData3=duanmaminute%10; Temp

18、Data4=duanmaminute/10; TempData5=0x40; TempData6=duanmahour%10; TempData7=duanmahour/10;void display(unsigned char a,unsigned char b) static unsigned char c=0; P0=0; P1=weimac+a; P0=TempDatac; c+; if(c=b) c=0;void delay1(unsigned char num) /延时函数 while(num-);void KeyScan() /按键扫描函数 if(KEY1=0) if(KEY3=

19、0)|(KEY4=0)|(KEY5=0) delay1(30); if(KEY3=0)|(KEY4=0)|(KEY5=0) if(KEY2=1) if(KEY3=0) while(!KEY3); if(hour24) hour+; if(hour=24) hour=0; if(KEY4=0) while(!KEY4); if(minute60) minute+; if(minute=60) minute=0; if(KEY5=0) while(!KEY5); if(second0) hour-; if(hour=0) hour=0; if(KEY4=0) while(!KEY4); if(minute0) minute-; if(minute=0) minute=0; if(KEY5=0) while(!KEY5); if(second0) second-; if(second=0) second=0; DataDeal();

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

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