《毕业设计基于单片机的可编程作息时间控制器设计27827.docx》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的可编程作息时间控制器设计27827.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扬州大学能能源与动力力工程学院院题 目: 可可编程作息息时间控制制器设计 课 程: 单单片机原理理及应用课课程设计 专 业: 电气气工程及其其自动化 班 级:姓 名:学 号:第 一 部部 分任务书单片机原原理及应用用课程设设计任务书书一、课题名名称详见单片片机课程设设计题目(一一):主主要是软件件仿真,利利用Prooteuss软件进行行仿真设计计并调试; 单单片机课程程设计题目目(二):主要是硬硬件设计,利利用单片机机周立功实实验箱进行行设计并调调试。二、课程设设计目的课程设计是是课程教学学中的一项项重要内容容,是达到到教学目标标的重要环环节,是综综合性较强强的实践教教学环节,它它对帮助学学生
2、全面牢牢固地掌握握课堂教学学内容、培培养学生的的实践和实实际动手能能力、提高高学生全面面素质具有有很重要的的意义。单片机原原理及应用用是一门门理论性、实实用性和实实践性都很很强的课程程,课程设设计环节应应占有更加加重要的地地位。单片片机原理及及应用课程程设计的目目的是让学学生在理论论学习的基基础上,通通过完成一一个涉及MMCS-551单片机机多种资源源应用并具具有综合功功能的小系系统目标板板的设计与与编程应用用,使学生生不但能将将课堂上学学到的理论论知识与实实际应用结结合起来,而而且能进一一步加深对对电子电路路、电子元元器件等知知识的认识识与理解,同同时在软件件编程、排排错调试、相相关软件和和
3、仪器设备备的使用技技能等方面面得到较全全面的锻炼炼和提高。为为今后能够够独立进行行某些单片片机应用系系统的开发发设计工作作打下一定定的基础。通通过单片机机硬件和软软件设计、调调试、整理理资料等环环节的培训训,使学生生初步掌握握工程设计计方法和组组织实践的的基本技能能,逐步熟熟悉开展科科学实践的的程序和方方法。三、课程设设计内容设计以899C51单单片机和外外围元器件件构成的单单片机应用用系统,并并完成相应应的软硬件件调试。1. 系统统方案设计计:综合运运用单片机机课程中所所学到的理理论知识,学学生根据所所选课题的的任务、要要求和条件件进行总体体方案的设设计。2. 硬件件电路设计计:对方案案中以
4、单片片机为核心心的电路进进行设计计计算,包括括元器件的的选择和电电路参数的的计算,并并画出总体体电路图。3. 软件件设计:根根据已设计计出的软件件系统框图图,用汇编编语言或CC51编制制出各功能能模块的子子程序和整整机软件系系统的主程程序。4. 调试试:在单片片机EDAA仿真软件件环境Prroteuus下进行行仿真设计计并调试;或在单片片机周立功功实验箱上上进行相关关设计并调调试。四、课程设设计要求设计一个以以单片机为为核心的可可编程作息息时间控制制器:按照照给定的时时间模拟控控制,实现现广播、上上下课打铃铃、灯光控控制(屏幕幕显示),同时具备备日期和时时钟显示。五、进度安安排序号内容天数1布
5、置任务,熟熟悉课题要要求0.52总体方案确确定,硬件件电路设计计1.53软件编程1.54Proteeus仿真真,或在周周立功实验验箱上调试试25总结,撰写写课程设计计报告1.5七、课程设设计报告内内容:总结设计过过程,写出出设计报告告,设计报报告具体内内容要求如如下:1课程设设计的目和和设计的内内容。2课程设设计的要求求。3控制系系统总框图图及系统工工作原理。4控制系系统的硬件件电路连接接图,电路路的原理。 5软件设设计流程图图及其说明明。6电路设设计,软件件编程、调调试中遇到到的问题及及分析解决决方法。7实验结结果及其分分析。8体会。第 二 部部 分课程设计报目 录 1 课题简简介11.1
6、课课题目的111.2 课课题要求112 可编编程作息时时间控制器器方案设计计12.1 系系统总体介介绍12.2 系系统整体框框图12.3系统统工作原理理13可编程作作息时间控控制器硬件件电路及芯芯片介绍223.1 AAT89CC51单片片机23.2 16022LCD液液晶显示器器33.3 其其他重要元元件43.4 硬硬件电路设设计图54 可编程程作息时间间控制器软软件编程设设计54.1 系系统初始化化54.2 系系统时间校校正64.3 系系统时间设设定74.4 作作息时间设设定74.5 响响铃处理994.6 逻逻辑控制1104.7 11602LLCD液晶晶显示1115 实验与与结果分析析115
7、.1 实实验的调试试115.2 实实验的结果果125.3 实实验的问题题146 小结与与体会1551 课题简简介1.1课题题目的由单片机AAT89CC51芯片片和LCDD显示器,辅辅以必要的的的电路,构构成一个可可编程作息息时间控制制器。电子子钟采用采采用单片机机来完成,LCD显显示“时”,“分”,LEDD闪动来做做秒计数,定定时时间到到能发出相相应的提示示,从而能能够实现作作息时间控控制。现在在是自动化化高度发达达的时代,特特别是电子子类产品都都是靠内部部的控制电电路来实现现对产品的的控制,达达到自动运运行的目的的,这就需需要我们这这里要做的的设计中的的电器元件件及电路的的支持。1.2 课课
8、题要求(1) 在keill uViisionn 和prroteuus上编写写软件完成成设计。(2) 以AT899C51单单片机为核核心结合字字符型LCCD显示器器的可编程程作息时间间控制器。(3) 按照给定的的时间模拟拟控制,实实现广播、上上下课打铃铃、灯光控控制(屏幕幕显示),同时具备备日期和时时钟显示。(4) 上机调试程程序。(5) 写出设计报报告。2 可编编程作息时时间控制器器方案设计计2.1 系系统总体介介绍可编程作息息时间控制制器是由简简单的一路路闹钟的基基础上增加加至四路可可调闹钟,从从而实现依依次执行作作息时间的的提醒任务务。系统主主要是由时时间程序和和闹钟程序序所构成,由显示模
9、块、时钟模块以及闹钟模块三大部分组成。其中时钟运算模块要对时、分、秒的数值进行操作,并且秒算到60时,要自己清零并向分进1;分算到60时,要自己清零并向时进1,时算到24时,要清零,这样,才能循环记时。并在不同状态下使得四个按键有着不同的功能,从而实现系统时间的调整,同时可以在不同状态下可以调整闹钟的时间。当定时到达时LCD将显示出现在的闹钟是哪一路,响铃一分钟,并可以通过按键提前结束闹钟,恢复到时间显示状态。2.2 系系统整体框框图 LCD显示 扬声器和灯闪 广播单片机AT89C51按 键2.3系统统工作原理理使用AT889C511单片机结结合字符型型LCD显显示器设计计一个简易易的可编程程
10、作息时间间控制器,若若LCD选选择有背光光显示的模模块,在夜夜晚或黑暗暗的场合中中也可使用用。程序执执行后工作作指示灯LLED闪动动,表示程程序开始执执行,同时时显示系统统时间。作作息时间控控制器是由由4路可调调闹钟组成成,从而实实现打铃等等功能。当当四路闹钟钟中的任一一路到时,均均会点亮灯灯、打铃。其其中操作键键K1KK4的功能能分别为:设置限制制的时间/时的调整整、显示闹闹钟设置的的时间/分分的调整、设设置闹钟的的时间/设设置完成、闹闹钟更换。3可编程作作息时间控控制器硬件件电路及芯芯片介绍系统主要是是由AT889C511单片机、11602LLCD液晶晶显示器以以及其他重重要元件组组成,按
11、键键作为系统统的控制输输入端,可可以进行时时间、闹钟钟等内容的的设定,并并通过液晶晶显示器显显示出时间间等内容。3.1 AAT89CC51单片片机本设计的核核心硬件就就是80551芯片,这这里选择了了AT899C51,AT899C51是是一种带44K字节闪闪烁可编程程可擦除只只读存储器器(FPEEROMFalssh Prrograammabble aand EErasaable Readd Onlly Meemoryy)的低电电压,高性性能CMOOS8位微微处理器,俗俗称单片机机。该器件件采用ATTMEL高高密度非易易失存储器器制造技术术制造,与与工业标准准的MCSS-51指指令集和输输出管脚
12、相相兼容。由由于将多功功能8位CCPU和闪闪烁存储器器组合在单单个芯片中中,ATMMEL的AAT89CC51是一一种高效微微控制器,为为很多嵌入入式控制系系统提供了了一种灵活活性高且价价廉的方案案。 图3.1 ATT89C551引脚图图引脚及其功功能:P0口:PP0口为一一个8位漏漏级开路双双 向II/O口,每每脚可吸收收8TTLL门电流。当当P1口的的管脚第一一次写1时时,被定义义为高阻输输入。P00能够用于于外部程序序数据存储储器,它可可以被定义义为数据/地址的第第八位。在在FIASSH编程时时,P0 口作为原原码输入口口,当FIIASH进进行校验时时,P0输输出原码,此此时P0外外部必须
13、被被拉高。P1口:PP1口是一一个内部提提供上拉电电阻的8位位双向I/O口,PP1口缓冲冲器能接收收输出4TTTL门电电流。P11口管脚写写入1后,被被内部上拉拉为高,可可用作输入入,P1口口被外部下下拉为低电电平时,将将输出电流流,这是由由于内部上上拉的缘故故。在FLLASH编编程和校验验时,P11口作为第第八位地址址接收。P2口:PP2口为一一个内部上上拉电阻的的8位双向向I/O口口,P2口口缓冲器可可接收,输输出4个TTTL门电电流,当PP2口被写写“1”时,其管管脚被内部部上拉电阻阻拉高,且且作为输入入。并因此此作为输入入时,P22口的管脚脚被外部拉拉低,将输输出电流。这这是由于内内部
14、上拉的的缘故。PP2口当用用于外部程程序存储器器或16位位地址外部部数据存储储器进行存存取时,PP2口输出出地址的高高八位。在在给出地址址“1”时,它利利用内部上上拉优势,当当对外部八八位地址数数据存储器器进行读写写时,P22口输出其其特殊功能能寄存器的的内容。PP2口在FFLASHH编程和校校验时接收收高八位地地址信号和和控制信号号。P3口:PP3口管脚脚是8个带带内部上拉拉电阻的双双向I/OO口,可接接收输出44个TTLL门电流。当当P3口写写入“1”后,它们们被内部上上拉为高电电平,并用用作输入。作作为输入,由由于外部下下拉为低电电平,P33口将输出出电流(IILL)这这是由于上上拉的缘
15、故故。P3口也可可作为ATT89C551的一些些特殊功能能口,如下下所示:P3口管脚脚 备选功功能P3.0 RXD(串串行输入口口)P3.1 TXD(串串行输出口口)P3.2 /INTT0(外部部中断0)P3.3 /INTT1(外部部中断1)P3.4 T0(记记时器0外外部输入)P3.5 T1(记记时器1外外部输入)P3.6 /WR(外外部数据存存储器写选选通)P3.7 /RD(外外部数据存存储器读选选通)P3口同时时为闪烁编编程和编程程校验接收收一些控制制信号。RST:复复位输入。当当振荡器复复位器件时时,要保持持RST脚脚两个机器器周期的高高电平时间间。ALE/PPROG:当访问外外部存储
16、器器时,地址址锁存允许许的输出电电平用于锁锁存地址的的地位字节节。在FLLASH编编程期间,此此引脚用于于输入编程程脉冲。在在平时,AALE端以以不变的频频率周期输输出正脉冲冲信号,此此频率为振振荡器频率率的1/66。因此它它可用作对对外部输出出的脉冲或或用于定时时目的。然然而要注意意的是:每每当用作外外部数据存存储器时,将将跳过一个个ALE脉脉冲。如想想禁止ALLE的输出出可在SFFR8EHH地址上置置0。此时时, ALLE只有在在执行MOOVX,MMOVC指指令是ALLE才起作作用。另外外,该引脚脚被略微拉拉高。如果果微处理器器在外部执执行状态AALE禁止止,置位无无效。PSEN:外部程序
17、序存储器的的选通信号号。在由外外部程序存存储器取指指期间,每每个机器周周期两次/PSENN有效。但但在访问外外部数据存存储器时,这这两次有效效的/PSSEN信号号将不出现现。 EA/VVPP:当当/EA保保持低电平平时,则在在此期间外外部程序存存储器(00000HH-FFFFFH),不不管是否有有内部程序序存储器。注注意加密方方式1时,/EA将内内部锁定为为RESEET;当/EA端保保持高电平平时,此间间内部程序序存储器。在在FLASSH编程期期间,此引引脚也用于于施加122V编程电电源(VPPP)。 XTAAL1:反反向振荡放放大器的输输入及内部部时钟工作作电路的输输入。 XTAAL2:来来
18、自反向振振荡器的输输出。P1.0口口接K1按按键,P11.1口接接K2按键键,P1.2口接KK3按键,PP1.3口口接K4按按键,P22.0口接接RS口,PP2.1口口接RW口口,P2.2口接EE口,P22.3口接接发光二极极管D2阳阳极,P22.4口接接发光二极极管D1阳阳极,P22.5口接接电阻R33,P3口口的8个口口依次和LLCD的数数据口D00D7.3.2 11602LLCD液晶晶显示器LM0166L 液晶晶模块采用用HD444780 控制器。HHD447780 具具有简单而而功能较强强的指令集集,可以实实现字符移移动、闪烁烁等功能。LLM0166L 与单单片机MCCU(Miicro
19、ccontrrolleer Unnit)通通讯可采用用8 位或或者4 位位并行传输输两种方式式。HD4447800 控制器器由两个88 位寄存存器、指令令寄存器(IIR)和数数据寄存器器(DR)、忙忙标志(BBF)、显显示数据RRAM(DDDRAMM)、字符符发生器RROM(CCGROMM)、字符符发生器RRAM(CCGRAMM)、地址址计数器(AAC)。IIR 用于于寄存指令令码,只能能写入不能能读出;DDR 用于于寄存数据据,数据由由内部操作作自动写入入DDRAAM和CGGRAM,或或者暂存从从DDRAAM和CGGRAM 读出的数数据。BFF 为1 时,液晶晶模块处于于内部处理理模式,不不
20、响应外部部操作指令令和接受数数据。DDDRAM 用来存储储显示的字字符,能存存储80 个字符码码。CGRROM 由由8 位字字符码生成成5*7 点阵字符符160 种和5*10 点点阵字符332 种,88 位字符符编码和字字符的对应应关系,可可以查看参参考文献3中的的表4。CCGRAMM 是为用用户编写特特殊字符留留用的,它它的容量仅64 字节。可可以自定义义8 个55*7 点点阵字符或或者4 个个5*100 点阵字字符。ACC 可以存存储DDRRAM 和和CGRAAM的地址址,如果地地址码随指指令写入IIR,则IIR 自动动把地址码码装入ACC,同时选选择DDRRAM 或或者CGRRAM 单单
21、元。LMM016LL 液图3.2 LCD11602引引脚图晶模块的引引脚功能见见表:第1脚:VVSS为地地电源。第2脚:VVDD接55V正电源源。第3脚:VVL为液晶晶显示器对对比度调整整端,接正正电源时对对比度最弱弱,接地时时对比度最最高,对比比度过高时时会产生“鬼鬼影”,使使用时可以以通过一个个10K的的电位器调调整对比度度。第4脚:RRS为寄存存器选择,高高电平时选选择数据寄寄存器、低低电平时选选择指令寄寄存器。第5脚:RR/W为读读写信号线线,高电平平时进行读读操作,低低电平时进进行写操作作。当RSS和R/WW共同为低低电平时可可以写入指指令或者显显示地址,当当RS为低低电平R/W为高
22、电电平时可以以读忙信号号,当RSS为高电平平R/W为为低电平时时可以写入入数据。第6脚:EE端为使能能端,当EE端由高电电平跳变成成低电平时时,液晶模模块执行命命令。第7144脚:D00D7为为8位双向向数据线。将resppack-8的1口口接电源,228口顺顺序和P33口相连接接,并和LLCD的数数据口D11D7相相接,VSSS接地,VVDD接电电源,VEEE接滑动动变阻器,RRS口接PP2.0口口,RW口口接P2.1口,EE口接P22.2口。3.3 其其他重要元元件图3.3 独立式键键盘 (11)独立式式键盘的接接口电路:在单片机机应用系统统中,有时时只需要几几个简单的的按键向系系统输入信
23、信息。这时时,可将每每个按键接接在一根II/O接口口线上,这这种方式的的连接称为为独立式键键盘。每个个独立式按按键单独占占有一根 I/O接接口线,每每根I/OO接口线的的工作状态态不 会影影响到其他他 I/OO接口线 。这种按按键接口电电路配置灵灵活,硬件件结构简单单,但每个个按键必须须占用一根根I/O接接口线,II/O接口口线浪费较较大。故只只在按键数数量不多时时采用这种种按键电路路。在此电电路中,按按键输入都都采用低电电平有效。上上拉电阻保保证了按键键断开时,II/O接口口线有确定定的高电平平。当I/O接口内内部有上拉拉电阻时,外外电路可以以不配置上上拉电阻。(2) 蜂鸣器:将将蜂鸣器的的
24、一端电源源,另一端端接至晶闸闸管集电极极,当需要要闹钟响时时,P2.5将发出出有规律的的电平使得得晶闸管导导通,从而而使得蜂鸣鸣器发出声声响。(3) respaack-88:上拉电电阻键K1KK4分别与与单片机的的P1.00P1.3口相接接。3.4 硬硬件电路设设计图图3.4 系统整体体电路图将resppack-8的1口口接电源,228口顺顺序和P33口相连接接,并和LLCD的数数据口D11D7相相接。发光光二极管DD1和P22.4口相相连接用以以显示秒计计时,发光光二极管和和P2.33口相连接接用以显示示闹钟时的的广播,按按键K1K4分别别与单片机机的P1.0P11.3口相相接,以实实现按键
25、的的多功能使使用。4 可编程程作息时间间控制器软软件编程设设计可编程作息息时间控制制器软件编编程主要包包括系统初初始化、系系统时间校校正、系统统时间设定定、作息时时间设定、响响铃处理、逻逻辑控制以以及16002LCDD液晶显示示,整个程程序中响铃铃的合理处处理以及显显示部分是是核心部分分,只有处处理好闹钟钟的及时响响应才会使使得整个可可编程作息息时间控制制器按照预预定的设计计进行工作作,同时各各个模块逻逻辑上合理理分配又将将是整个功功能实现的的基础。4.1 系系统初始化化34sbit K1=PP10;sbit K2=PP11;sbit K3=PP12;sbit K4=PP13;sbit rs=
26、PP20;sbit rw=PP21;sbit lcdeen=P222;sbit LED22=P23;sbit led=P244; sbit beepp=P25;TH0=(655336-500000)/2566;TL0=(655336-500000)%2566;此段程序主主要是是定定义电路的的外部接口口,包括KK1K44按键,LLCD的rrs口、rrw口、广广播控制端端LED22、发光二二极管控制制端ledd以及蜂鸣鸣器控制端端beepp。将定时时器0的工工作模式选选择为工作作方式1,同同时给定时时器装初值值,并且开开始计数。4.2 系系统时间校校正 图44.1 系系统时间校校正流程图图程序:T
27、H0=(655336-500000)/2566;TL0=(655336-500000)%2566;aa+;if(aaa=200)aa=00;miao+;if(miiao=60)miaoo=0;fen+;if(feen=660)fen=0;shi+;if(shhi=224)shi=0; writte_sffm(9,shi);writee_sfmm(12,fen);首先初始化化时定时器器开始工作作,当计时时时间到时时进入中断断服务,由由于方式11没有自动动装初值的的功能,因因此需再次次装入初值值,每一次次所定的时时间为500ms,通通过软件计计数的方法法,当计数数达到200次时刚好好1秒钟,如如果
28、计数不不到20次次,则再次次给定时器器装入初值值,直到计计数达到220次,把把计数初值值清零,并并再次向计计数器装初初值,重复复执行之前前操作,同同时分加一一,并显示示,如果分分为60时时则不显示示,先清零零然后将时时加一,再再显示分,如如果时不是是24时,则则直接通过过LCD显显示出来,如如果时刚好好为24时时,则现需需要清零,然然后在用LLCD显示示出来。4.3 系系统时间设设定 图4.22 改变小小时流程图图 图4.3 改变变分钟流程程图程序:if(K11=0)whilee(!K11)TR0=00;if(K11=0)shi+; if(shhi=224) sshi=00;if(K22=0)
29、whilee(!K22);fen+; if(feen=660)fen=00;if(K33=0) TTR0=11;当K1被按按下时,则则修改系统统的的时间间,同时定定时器停止止工作。开开始时,光光标停留在在分钟上,当当再次按下下K1时,光光标将会跳跳到小时并并且小时位位的时间将将会加一,如如果时位的的数等于224时,则则自动清零零,从零开开始再往上上加,如果果按下K22键按下则则分钟自动动加一 ,如如果分钟达达到60时时则自动清清零,从零零开始往上上加,并通通过LCDD显示出此此时的状态态。当按下下K3键时时,则退出出系统时间间的更改,并并启动定时时器工作,开开始通过LLCD在第第二行显示示出修
30、改后后的时间。此此程序主要要的作用就就是通过人人为的方法法来设定系系统的时间间,使得系系统时间满满足实际需需要。4.4 作作息时间设设定 图44.4 改改变闹钟定定时小时流流程图 图4.55 改变闹闹钟定时分分钟流程图图 程序: iif(K33=0)whilee(!K33);writee_sfmm(12,fen11);writee_sfmm(9,sshi1); if(K22=0)writte_sffm(122,fenn1);writee_sfmm(9,sshi1);whilee(!K22);writee_sfmm(12,fen);writee_sfmm(9,sshi); iif(K11=0)w
31、hilee(!K11);shi1+; if(shhi2=24) sshi1=0;writee_sfmm(9,sshi1);if(K22=0)whille(!KK2);fen1+; if(feen1=60)fen1=0;writee_sfmm(12,fen11);if(K33=0)writee_sfmm(12,fen); wwritee_sfmm(9,sshi);由于可编程程时间控制制器是由四四路闹钟构构成的,所所以只要通通过逻辑上上的先后顺顺序便可以以实现,并并且这四路路闹钟设定定上都是相相同的,因因此在这里里将四路闹闹钟选择其其中的第一一路做介绍绍。当通过过K4键进进入闹钟设设定电路后后,如
32、果处处于广播的的闹钟时间间设定时,此此时如果没没有按下任任何开关键键,LCDD将显示此此时的闹钟钟标志“GB”并且再其其后面显示示现在的系系统时间,在在没有按下下K3键之之前,如果果按下K22键,则LLCD将显显示此处闹闹钟时间,并并且在其前前面有此路路标志,如如“GB”,松开按按键K2时时,LCDD将显示之之前的状态态;如果按按下首次按按下K3键键,则开始始修改闹钟钟的时间,此此时光标在在分钟上闪闪烁,此时时按下K22键则修改改闹钟的分分钟,如果果分等于660时,则则自动清零零,否则继继续往上加加;如果按按下K1键键则修改闹闹钟的小时时,如果小小时数等于于24,则则自动清零零,否则继继续往上
33、加加。当第二二次按下KK3键,则则完成次闹闹钟的设定定,并显示示之前的状状态,如果果继续按KK4键则切切换到下一一路闹钟 ,也可以以进行上述述的操作,或或者返回系系统时间界界面。 4.5 响响铃处理 图4.66 响铃处处理流程图图程序:if(fenn=feen1)&(shhi=sshi1)|(fenn=feen2)&(shhi=sshi2)|(fenn=feen3)&(shhi=sshi3)|( (fenn=feen4)&(shhi=sshi4)&(flaag2=1) iif(ffen=fen11)&(shi=shii1)&(flaag2=1)if(fenn=feen1)&(shhi=sshi
34、1)&(fflag22=0)|(fenn-1=fen11)&(shi=shii1)&(fflag44=0)if(ffen=fen22)&(shi=shii2)&(flaag2=1)if(fenn=feen2)&(shhi=sshi2)&(fflag22=0)|(fenn-1=fen22)&(shi=shii2)&(fflag44=0)if(ffen=fen33)&(shi=shii3)&(flaag2=1)if(fenn=feen3)&(shhi=sshi3)&(fflag22=0)|(fenn-1=fen33)&(shi=shii3)&(fflag44=0)if(ffen=fen44)&(s
35、hi=shii4)&(flaag2=1)if(fenn=feen4)&(shhi=sshi4)&(fflag22=0)|(fenn-1=fen44)&(shi=shii4)&(fflag44=0) )if(K44=0&flaag3=0)当四个定时时闹钟任意意一路到达达时,在没没有按下响响铃终止键键K4时,fflag22都等于11,此时闹闹钟响起,同同时使得fflag33等于0。在在闹钟响闹闹完一个周周期后将继继续向下执执行,并且且根据以后后程序的判判定是哪一一路闹钟在在响闹,执执行这一路路所要求的的内容,但但是不论哪哪一路时间间到都会响响铃并且灯灯闪,不同同的是根据据判断选择择出时间到到的那一
36、路路并通过LLCD显示示出来闹钟钟时间及某某路闹钟;此时若按按下K4键键,则使得得flagg2等于00,当进行行是否闹钟钟响闹时将将会不在响响应,也就就是闹钟被被手动关闭闭,从而不不需要一定定要响铃一一分钟后在在关闭闹钟钟,实现手手动关断闹闹钟的功能能。当闹钟钟关断过后后将及时跳跳出,并且且使得LCCD显示当当前的时间间。使得可可编程时间间控制器能能够在响铃铃时能够显显示当前的的闹铃及时时间,同时时可以手动动关断闹铃铃,并且当当闹铃关断断过后可以以跳出当前前显示返回回到系统时时间。4.6 逻逻辑控制 图4.7 逻辑辑控制流程程图程序:whilee(1)if(K4=0)&(flaag3=1) K
37、4nnum+;if(K44num=5)K4numm=0;if(K44num=0)timee();flag44=0;if(K44num=1)guanngbo();flag44=1;if(K44num=2) shaangkee();flag44=1; if(K44num=3)xiakke();flag44=1;if(K44num=4)denggkongg();flag44=1; clockk();只有当没有有一路闹钟钟响闹时才才会执行此此程序,因因为在闹钟钟响闹时KK4键将会会作为闹钟钟的停止的的功能键使使用,所以以只有在没没有闹钟响响闹时,KK4键才会会早为闹钟钟的更换,同同时变量KK4numm
38、将作为KK4键所处处的闹钟或或者系统时时间区别出出来,以实实现逻辑上上的合理。系系统刚启动动时,按键键K4处于于系统时间间状态,在在此状态下下可以利用用之前所介介绍的功能能进行所需需要的修改改,当第一一次按下KK4键时,就就会进入广广播定时的的控制口,此此时可以根根据需要修修改所要定定的时间,并并可以显示示自己所定定的闹钟时时间,再次次按下K44键时,将将会进入上上课定时的的闹钟,和和之前的闹闹钟一样,可可以进行相相同的操作作,当再次次按下K44键时将进进入下课闹闹铃状态,然然后将要进进入的的是是灯光控制制定时,此此时Knuum4为44,当再次次按下K44键时,将将经过判断断清零,重重新开始,
39、以以此来实现现按键K44可以更换换闹钟的功功能,同时时更改闹钟钟时间的功功能。4.7 11602LLCD液晶晶显示VSS引脚脚接地,VVDD提供供电源,VVEE接滑滑动变阻器器来控制液液晶屏的对对比度。RRS为寄存存器选择,高高电平时选选择数据寄寄存器、低低电平时选选择指令寄寄存器。RR/W为读读写信号线线,高电平平时进行读读操作,低低电平时进进行写操作作。当RSS和R/WW共同为低低电平时可可以写入指指令或者显显示地址,当当RS为低低电平R/W为高电电平时可以以读忙信号号,当RSS为高电平平R/W为为低电平时时可以写入入数据。EE端为使能能端,当EE端由高电电平跳变成成低电平时时,液晶模模块
40、执行命命令。程序:void writte_coom(ucchar com)rs=00;rw=0;lcdenn=0;P3=coom;lcdenn=1;lcdenn=0; 液晶写命令令函数 voiid wrrite_datee(uchhar ddate)rs=11;rw=0;lcdenn=0;P3=daate;lcdenn=1;lcdenn=0; 液晶写数据据函数当需要将内内容显示到到LCD显显示器上之之前,首先先要向液晶晶显示器输输入写命令令函数,有有上硬件分分析可以得得到LCDD液晶显示示上一排地地址从800H8FFH,一共共16位,下下面一排地地址从C00HCFFH,同样样是16位位,所以在
41、在进行液晶晶显示之前前首先确定定要将结果果在哪一位位上显示,然然后在调用用液晶写数数据函数,只只有两者结结合使用才才会得到想想要的结果果。5 实验与与结果分析析5.1 实实验的调试试设计要求:一个以单单片机为核核心的可编编程作息时时间控制器器,能够按按照给定的的时间模拟拟控制,实实现广播、上上下课打铃铃、灯光控控制(屏幕幕显示),同时具备备日期和时时钟显示。首先运用KKeil软软件编辑程程序,按上上图要生成成目标代码码文件,不不断地调试试程序。联调:加载载目标代码码文件 打打开元器件件单片机属属性窗口,在在“Proggram Filee”栏中添加加上面编译译好的目标标代码文件件“keill-1
42、7.hex”;在“Clocck Frrequeency”栏中输入入晶振频率率为11.05922MHz。每每一小块程程序编写过过后都进行行联调,这这样可以及及时观察到到自己所编编的程序是是否符合自自己的目的的,当出现现问题时及及时处理,可可以避免当当有大量问问题后无法法找出错误误的地方,可可以提高编编程的效率率,也有利利于最终将将程序编写写出来。5.2实验验的结果图5.3 广播定时时响闹时 图5.44 上课定定时响闹图5.5 下课定时时响闹图5.6 灯控定时时响闹 图5.7 上课定时时设定5.3实验验的问题实验中出现现问题最多多的就是LLCD显示示,又是显显示出乱码码,又是是是不断闪烁烁的输入标
43、标题,有的的则是光标标的来来回回回闪烁而而不是固定定在某一位位,这些问问题基本上上都是由于于LCD刷刷新的问题题上,有时时候由于逻逻辑上的先先后顺序没没有做好,有有的完全是是由于缺少少必要的逻逻辑区分,使使得显示在在程序执行行的过程中中LCD不不单单刷新新了我所需需要的内容容,也将我我此时不需需要的内容容也刷新出出来,所以以屏幕上的的内容是闪闪烁的,因因此我加了了4个基本本变量进行行控制,以以此来实现现所需要的的刷新。同同时整个延延时又是非非常重要的的,在进行行按键设定定时这个问问题就出现现了,有时时候按一下下会会进行行几个需要要的操作,使使得结果不不符合我的的要求,所所以应用刚刚开始编写写程序时不不断适当增增加延时使使得程序渐渐渐符合要要求。6 小结与与体会通过此次的的单片机课课程设计让让我学到了了许多新的的知识,让让我受益匪匪浅,其中中对16002LCDD液晶显示示器有了非非常深刻的的认识。刚开始分到到课题时,我我便开始研研究这个课课题,由于于我们的课课题是在题题目4的基基础上改过过来的,因因此我先研研究了一下下题目4的的要求以及及原理,再再结合我们们的课题让让我对这个个课题有了了一些了解解,下午时时我们和大大多数同学学一样先将将电路图画画了出来,但但是当我做做完这个课课题过后,我我很
限制150内