




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用(yngyng)技术课程设计报告(bogo)(论文)基于单片机控制(kngzh)的电铃控制器专业班级:电气123姓名:王鹏园时 间:2012.11.24-2012.12.08指导教师:孔晓红2014年 12 月 0 7 日单片机控制(kngzh)电铃控制器的课程设计任务书 1设计(shj)目的与要求 设计出一个(y )用于控制灯的控制器。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)显示:可以显示星期、时、分和秒。 (2)打铃:每天可设置20次,打铃持续时间每次1-9秒可调,每次打铃的时间1-99分钟可调。 (3)铃声:内置蜂鸣器可以发出监控声音。2
2、设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题。基于单片机控制(kngzh)的电铃控制器 电气(dinq)123王鹏园摘要(zhiyo):本次电路设计中采用的89S51单片机,主要功能的实现是通过采用89c51芯片来完成的。同时为了使所设计的电路能够更好的使用,能够拥有更加良好的性能,该电路中还设计了,键盘控制电路以及指示电路等,为使用者带来更多便利。关键词: 74LS164 89S51单片机 七位数码
3、管显示 独立键盘控制 数码管1 引言随着社会的发展,科学技术水平的日益提高,多种多样性能良好的电子产品逐渐取代了很多旧式的手动器件,比如说这件基于单片机设计的电铃控制器,不仅能够 非常准确的预定的时刻响铃,而且还能够设定多个定时点,更方便的是,它还能够直观的显示星期、时、分、秒等信息,为人们的使用带来了很多方便。2 总体设计方案2.1 设计思路设计任务要求所设计的电路不仅仅能够实现打铃的功能,同时还要求能够显示时、分、秒以及星期等时间信息,同时还能够多次定时,这就要求电路的设计必须具有显示电路,时钟电路,等电路,那么主要设计方案的确立就从这几个方面入手。为了降低该电路设计过程中编程的难度,时钟
4、电路的设计利用89c51的定时器中断实现,显示电路采用了七位数码管与单片机串口连接,并利用移位寄存器74LS164作为驱动电路。同时,为了能够很方便的对信息进行调整,电路中还设计了键盘控制电路以及能够清楚显示调整过程的指示电路。2.2 设计方框图89S51键盘控制电路数码管显示电路响铃电路电源电路发光管指示电路晶振复位电路图1 设计(shj)方框图2.3软件系统流程图 2.3.1模块(m kui)介绍 该电铃(dinlng)系统的软件设计分为以下几个模块:2.3.2主程序模块 主程序主要完成初始化、设置定时器模式、设置定时器初值、检查有无按键按下等。2.3.3键盘扫描及识别子程序 键盘采用查询
5、的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。 2.3.4调电存储服务程序当比较程序开始的时候,将AT24C02中存储的打铃点数据读到单片机RAM中,然后由程序控制与当前的时间相比较,当两者相同时调用打铃程序。当修改打铃点的时候,输入完成后调用AT24C02的存储程序,将新的打铃点保存起来。N初始化操作读取89S51的信息菜单键是否按下?菜 单 键 按 下 次 数清零键是否按下?时间、打铃点清零 调整时间NYY调整星期调整打铃持续时间调整第一次打铃点调整第二次打铃点调整第二十次打铃点返回到主程序1次2次3次4次5次23次2
6、4次开 始图2 程序(chngx)流程图3 设计(shj)原理分析3.1电源(dinyun)电路的设计220V交流电经变压器降压,次级电压U2为12V,这里对变压器效率并无特别要求。单相桥式整流电路其构成原则就是保证在变压器副边电压U2的整个周期内,负载上的电压和电流方向始终不变。设变压器副边电压为U2为有效值,当U2为上正周时二极管D1、D3导通,D2与D4经受反向电压,输出为上正下负。当U2为负半周时D2与D4导通,D1与D3经受为U2,输出同样为上正下负,这样D1、D3与D2、D4交替导通,使通过稳压管W7805的电压始终为上正下负,电流方向也不变。桥式整流输出平均电压为Uo=0.9U2
7、。7805为集成三端稳压器,输出+5V的直流电压,输出交流噪声小,温度温定性好。电路图入图2所示:3.2 数码管显示电路(dinl)的设计显示电路是为了让使用者能够很清楚(qng chu)的了解到所需要的信息。它可以采用液晶或者数码管作为显示器件,液晶显示可以使显示的内容更清晰和丰富,但基于成本较高,该电路中选用数码管作为显示器件。该数码管显示电路主要由八段数码管组成,其电路是共阳的,当输出一定的编码数据时显示相应的数字。同时又考虑到节约单片机的资源,本系统的显示部分采用串行方式,利用单片机本身固有的全双工串行输入输出接口,这种方式既可以有效利用端口资源,又使程序本身得到简化,其电路图如图3所
8、示:串并转换电路(dinl)主要由七块移位寄存器74ALS164组成。当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当一组数据依次输入时,寄存器中的数据在每个时钟脉冲的作用下依次向下一个寄存器传递。最终在输出端(QAQH)得到八位并行输出的数据。由于寄存器是级联的,所以在时钟脉冲的作用下依次为每个数码管提供七位的数据,同时74LS164还兼做数码管的驱动电路。供电电路是由四个二极管组成,其目的是降低电源的电压为数码管提供合适的工作电压,增加数码管的使用寿命,同时又省去了为每个数码管要加八个电阻的麻烦。下面是对74LS164的介绍。74LS1
9、64为TTL单向(dn xin)8 位移位寄存器,串行输入,并行(bngxng)输出。其中A,B(第1,2脚)为串行数据(shj)输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。CP(第8脚)为时钟输入端,可连接到串行口的TXD端,且具有清除端。其中,Q0Q7 并行输出 图3.6 74LS164 的引脚端。A,B串行输入端,MR(9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。引脚说明:(1)MR (9脚):高电平有效,低电平时使所有输出(Q0Q7)为低电平(2)CP(8脚) :上升延输出移位,其余状态保持(3)A(1脚) :B(2脚)输入:
10、逻辑与关系,即全高为高,见低为低(4)74LS164功能及电气特性:串行输入带锁存。时钟输入,串行输入带缓冲。异步清除。表1是74HC164的功能表:表1 74HC164的功能表输 入输 出CLRCLKABQAQBQHLXXXLLLHLXXQA0QB0QH0HHHHQAnQGnHLXLQAnQGnHXLLQAnQGn3.3键盘控制电路采用的是独立式按键,即直接用I/O线构成的单个按键电路,并且每个按键的工作不会影响其他I/O口线的状态。它有七个按键,每个按键都是一个常开开关。在这七个按键中,每个按键的分工各不相同,它们分别作为确定键,菜单键,加键,减键,定铃键,以及返回键等。当任何一个按键按下
11、时,与之相连的输入数据线即被清零,而平时该线为高电平。要判别是否有按键按下,用单片机的位处理命令非常方便。按键工作原理:按键输入均采用低电平有效,当某键被按下,与该按键连接的端口引脚即为低电平;否则该端口引脚为高电平。独立式按键的软件采用查询式方式(免去抖处理)。先逐位查询每条I/O线的输入状态。如某一个I/O线输入为低电平,则可确认该口所对应的按键已按下,然后再转向该键的功能处理程序,且与该按键相对应的指示灯也会亮以示该按键正常工作。本电路中I/O口为89S51的P1口。下面是键盘控制电路图:3.4 发光管指示(zhsh)电路 本设计中采用7只发光二极管构成指示电路,它们分别在电路进行时间、
12、打铃的时间以及打铃的定时点进行调整时发光,使人们能够很直观的看到当前所操作的是哪一部分,为操作带来了便利,降低了使用难度(nd)。下面是它的电路图:3.5响铃电路(dinl)P0.2端口接晶体管基极输入端,当P0.2输出高电平时,晶体管导通,中间继电器通电使得压电蜂鸣器两端获得+5V的电压而蜂鸣,并且继电器开关K闭合使电铃打铃;当P0.2输出低电平时,三极管截止,中间继电器断开使得压电蜂鸣器无提供电压而停止发音,此时电铃也不响。三极管8550在电路中起驱动作用,把电路中的信号放大以起到驱动蜂鸣器发声的作用。电路如图所示:3.6掉电存储(cn ch)电路掉电存储单元的作用是在电源断开的时候,存储
13、当前设定的信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片(xn pin),由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。电压最低可以到2.5V,额定电流为1mA,静态电流10uA(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图8:图中R18、R19是上拉电阻,其作用是减少(jinsho)AT24C02的静态功耗。每当设定一次信息,系统就自动调用存储程序,将信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器
14、内的信息,读到缓存单元中,供主程序使用。4 总结与体会通过这次课程设计使我更加体会到理论知识与动手能力相结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机片内有哪些资源;懂得设计的关键是要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路。要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便。在实习过程(guchng)中遇到了很多的问题,通过老师的指导以及与同学(tng xu)们的学术
15、(xush)和思想交流,不仅使我们的问题迎刃而解还使我们在共同进步的同时增进友谊。同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!参考文献:1 张毅刚 彭喜源 谭晓昀.MCS51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,19972 杨将新 李华军 刘东俊.单片机程序设计及应用M.北京:电子工业出版社,20063 孟凤果 曹振军.单片机应用自学通M.北京:中国电力出版社,20054 李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,19975 汪道辉.单片机系统设计与实践M.北京:电子工业出版社,2008附录(fl)一附录(fl)二附录(fl)三 ORG 0000
16、H LJMP MAIN ORG 000BH LJMP TOINT ORG 001BH LJMP DLBJ;*主程序* ORG 30HMAIN:MOV IE,#8AH ;开T0,T1中断(zhngdun) MOV TMOD,#11H ;定时器方式(fngsh)1 MOV TH0,#0D8H MOV TL0,#0F0H MOV TH1,#0D8H MOV TL1,#0F0H ;初值 MOV A,#0 MOV 59H,A MOV 60H,A MOV 61H,A MOV 62H,A MOV 63H,A MOV 64H,A MOV 65H,A MOV 66H,A; 清零(qn ln) m_sec EQU
17、 20H ;毫秒单元 sec EQU 21H ;秒单元 min EQU 22H ;分单元 hour EQU 23H ;时单元 week EQU 24H ;星期单元 SETB TR0 SETB TR1 CLR P0.0 CLR A MOV R0,A MOV R1,A MOV R2,A MOV R3,A MOV R5,A MOV R6,A MOV R7,A MOV m_sec ,#00 ;毫秒单元清零 MOV sec ,#00 ;秒单元清零 MOV min ,#00 ;分单元清零 MOV hour ,#00 ;时单元(dnyun)清零 MOV week ,#00 ;星期单元(dnyun)清零 MO
18、V 70H,A MOV 71H,A MOV 72H,A MOV 73H,A MOV 74H,A LCALL XS ;调用显示(xinsh)程序;*;*数字钟按键程序*;*;*调时钟按键*NET1:JB P1.0,NET2 LCALL YS10MS JB P1.0,NET2 CLR p2.0 CLR P0.0 JNB P1.0,$ SETB P2.0 SETB P0.0 ;CLR P0.1 ;SETB P0.0 SETB TR0 ;开中断 SETB TR1 ;CLR P0.0 ;正常运行 ; SETB P0.1 ; SETB P0.2 ; SETB P0.3 MOV 59H,#00 MOV R7
19、,#00;*调整时间部分切换键*NET2:MOV A ,59H CJNE A ,#00H ,NET3 JB P1.1 ,NET1 ;数字钟调整时间部分切换键 LCALL YS10ms JB P1.1 ,NET1 CLR TR0 CLR TR1 CLR P2.0 CLR P0.1 JNB P1.1 ,$ SETB P2.0 SETB P0.1 INC 59H INC R7 SJMP NET4NET3: JB P1.1 ,NET4 LCALL YS10ms JB P1.1 ,NET4 CLR P2.0 CLR P0.1 JNB P1.1 ,$ SETB P2.0 SETB P0.1 INC 59H
20、 INC R7NET4: CJNE R7 ,#1 ,NET5 LCALL SSH ;秒闪烁(shn shu) SJMP NET9NET5: CJNE R7 ,#2 ,NET6 LCALL MSH ;分闪烁(shn shu) SJMP NET9NET6: CJNE R7 ,#3 ,NET7 LCALL HSH ;时闪烁(shn shu) SJMP NET9NET7: MOV R7 ,#0 LCALL WSH ;星期闪烁 SJMP NET9NET8: LCALL XS NET111: LJMP NET1 ;*调整时间加1键*NET9: JB P1.2 ,NET115 ;数字钟调整时间键 LCALL
21、 YS10ms JB P1.2 ,NET13 CLR P2.0 CLR P0.2 JNB P1.2 ,$ CJNE R7 ,#1 ,NET10 SETB P2.0 SETB P0.2 INC sec ;秒单元加1 MOV A ,secCJNE A ,#60 ,NET8 ;不等60时跳转显示,等60时将秒单元清零 MOV sec ,#00 LCALL XS LJMP NET9NET115: LJMP NET15NET10: CJNE R7 ,#2 ,NET11 SETB P2.0 SETB P0.2 INC min ;分单元(dnyun)加1 MOV A ,min CJNE A ,#60 ,NE
22、T8 ;不等60时跳转显示(xinsh),等60时将分单元(dnyun)清零 MOV min ,#00 LCALL XS LJMP NET9NET11: CJNE R7 ,#3 ,NET12 SETB P2.0 SETB P0.2 INC hour ;时单元加1 MOV A ,hour CJNE A ,#24 ,NET8 ;不等24时跳转显示,等24时将时单元清零 MOV hour ,#00 LCALL XS LJMP NET9 NET12: SETB P2.0 SETB P0.2 INC week ;星期单元加1 MOV A ,week CJNE A ,#08 ,NET8 ;不等7时跳转显示
23、,等7时将星期单元清零 MOV week ,#01 LCALL XS LJMP NET9NET13: SJMP NET15 NET14: LCALL XS;*调整时间减1键*NET15: JB P1.3 ,NET19 ;数字钟调整时间键 LCALL YS10ms JB P1.3 ,NET19 CLR P2.0 CLR P0.3 JNB P1.3 ,$ CJNE R7 ,#1 ,NET16 SETB P2.0 SETB P0.3 DEC sec ;秒单元减1 MOV A ,sec CJNE A ,#0FFH ,NET14 ;不等60时跳转显示,等60时将秒单元清零 MOV sec ,#59 LC
24、ALL NET14 LJMP NET15NET16: CJNE R7 ,#2 ,NET17 SETB P2.0 SETB P0.3 DEC min ;分单元(dnyun)减1 MOV A ,min CJNE A ,#0FFH ,NET14 ;不等60时跳转显示(xinsh),等60时将分单元(dnyun)清零 MOV min ,#59 LCALL NET14 LJMP NET15NET17: CJNE R7 ,#3 ,NET18 SETB P2.0 SETB P0.3 DEC hour ;时单元减1 MOV A ,hour CJNE A ,#0FFH ,NET14 ;不等24时跳转显示,等24
25、时将时单元清零 MOV hour ,#23 LCALL NET14 LJMP NET15NET18: SETB P2.0 SETB P0.3 DEC week ;星期单元减1 MOV A ,week CJNE A ,#00 ,NET14 ;不等7时跳转显示,等7时将星期单元清1 MOV week ,#7 LCALL NET14 LJMP NET15NET19: LJMP DSH;*定时程序*DSH: MOV R2,#00 JB P1.4 ,NT1 LCALL YS10ms JB P1.4 ,NT1 CLR P2.0 CLR P0.4 LCALL YS10ms SETB P2.0 SETB P0
26、.4 INC R2 CJNE R2,#01,NT1 ;第1个打铃点 MOV R0,#30H LCALL CUNNT1: LJMP NET111;*打铃点存储(cn ch)子程序*CUN: MOV R0,hour INC R0 MOV R0,min INC R0 RET;*时钟中断(zhngdun)程序*TOINT: PUSH PSW PUSH ACC ;保护(boh)现场 MOV TH0 ,#0D8H MOV TL0 ,#0F0H ;重新赋计数初值 INC m_sec ;毫秒单元加1 MOV A ,m_sec CJNE A ,#100 ,NEXT1 MOV m_sec ,#00 INC sec
27、 ;秒单元加1 MOV A,7FH CJNE A,#0,XYG INC 7EH MOV A,7EH CJNE A,#65H,XYG MOV 7EH,#0 MOV 7FH,#1 SETB P2.0 XYG: MOV A ,sec CJNE A ,#60 ,NEXT1 MOV sec ,#00 INC min ; MOV A ,min CJNE A ,#60 ,NEXT1 MOV min ,#00 INC hour ; MOV A ,hour CJNE A ,#24 ,NEXT1 MOV hour ,#00 INC week MOV A ,week CJNE A ,#08 ,NEXT1 MOV w
28、eek ,#01NEXT1: LCALL XS POP ACC POP PSW ;恢复现场 RETI ;中断(zhngdun)返回;*打铃中断(zhngdun)程序*DLBJ:PUSH PSW PUSH ACC MOV TH1,#0D8H MOV TL1,#0F0H MOV R0,#30HFH: MOV A,R0 CJNE A,hour,LOP3 INC R0 MOV A,R0 CJNE A,min,LOP3 CLR P2.0 CLR P0.4 ;铃声响 ;铃声停 CLR A MOV 7FH,A LJMP LOP2 ; LCALL XS ; POP PSW ; POP ACC ; RETI;L
29、OP1: INC R0;LOP2: INC R0 ; CJNE R0,#58H,FHLOP3: SETB P2.0 SETB P0.4 LOP2: LCALL XS POP PSW POP ACC RETI;*数字钟显示(xinsh)程序*XS: MOV A ,sec ;将秒送A MOV B ,#10 DIV AB MOV 60H ,B ;秒的个位 MOV 61H ,A ;秒的十位 MOV A ,min ;将分送A MOV B ,#10 DIV AB MOV 62H ,B ;分的个位 MOV 63H ,A ;分的十位 MOV A ,hour ;将时送A MOV B ,#10 DIV AB MOV 64H ,B ;时的个位(gwi) MOV 65H ,A ;时的十位(sh wi) MOV A ,week ;星期(xngq)的送A MOV B ,#10 DIV AB MOV 66H ,B ;星期的个位LCP: MOV R1 ,#60H MOV R5 ,#7 MOV DPTR ,#TABBK: MOV A ,R1 MOVC A ,A+DPTR MOV SBUF ,A JNB TI ,$ CLR TI INC R1 DJNZ R5 ,BK RETTAB: DB 11H,0D7H,32H,92H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能数据平台整合管理决策链-洞察及研究
- 抗疫捐赠活动策划方案
- 北京竹编景观建筑方案设计
- 联名线下创意活动策划方案
- 创意校园活动策划方案范文
- 教育科技行业市场推广策略与渠道拓展方案分析报告
- 箱变外壳更施工方案
- 建筑垃圾消纳方案设计文本
- 变压式风帽安装施工方案
- 生产物资应急保障预案方案
- 2025年新疆投资发展集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 中望CAD机械版使用手册
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- GB/T 33009.2-2016工业自动化和控制系统网络安全集散控制系统(DCS)第2部分:管理要求
- GB/T 14534-1993电磁吸盘
- GA/T 718-2007枪支致伤力的法庭科学鉴定判据
- 工程常见质量通病防治课件
- 装备制造业研究报告
- 【课件】第6课 西方的文官制度 课件高中历史统编版(2019)选择性必修一国家制度与社会治理
- 进场人员、机械、材料报审表
- 大型机械设备归档资料(塔吊 施工电梯 安装验收 检查等)
评论
0/150
提交评论