单片机课程设计--基于89C51的电子时钟设计.doc_第1页
单片机课程设计--基于89C51的电子时钟设计.doc_第2页
单片机课程设计--基于89C51的电子时钟设计.doc_第3页
单片机课程设计--基于89C51的电子时钟设计.doc_第4页
单片机课程设计--基于89C51的电子时钟设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计(论文)题 目 名 称 基于89C51的电子时钟设计 课 程 名 称 单片机原理及应在电气测控学科中的应用 学 生 姓 名 学 号 系 、专 业 指 导 教 师 2012年7月1日邵阳学院课程设计(论文)任务书年级专业学生姓名学 号题目名称基于89C51的电子时钟设计设计时间2012年5月21日2012年6月1日课程名称单片机原理及应在电气测控学科中的应用课程编号121200105设计地点数字控制与PLC实验室(305)一、 课程设计(论文)目的课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象. 单片机课程设计是继电子技术、和单片机原理与应用课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。二、已知技术参数和条件1、电子时钟见第三项“任务和要求”具体参数2、89C51系列单片机;3、KEIL 软件;Wave软件4、THKSCM-1型单片机实验系统。三、任务和要求设计要求:熟悉单片机的I/O口原理;掌握LED驱动电路和LED显示的原理;掌握定时计数器的使用;掌握汇编语言程序设计方法。设计任务:设计一个电子时钟,要求实时显示时间(时钟/分钟/秒钟)要求可以通过按键设置当前时间。1、要求设计出电气原理图;2、要求设计出程序流程图和程序;3、要求设计出实物仿真模拟调试。注:1此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2此表1式3份,学生、指导教师、教研室各1份。四、参考资料和现有基础条件(包括实验室、主要仪器设备等)1、单片机课程设计指导,北京航空航天大学出版社,楼然苗等2007年7月2、单片机实验与实践教程,北京航空航天大学出版社,何立民等2004年7月3、THKSCM-1型单片机实验系统实验指导书、KEIL 软件,WAVE 软件4、数字控制与PLC实验室”THKSCM-1型单片机实验系统”。五、进度安排2012年5月21日-22日:收集和课程设计有关的资料,熟悉课题任务何要求总体方案设计2012年5月23日-25日:硬件电路设计2012年5月26日-28日:软件设计2012年5月29日-30日:系统调试改进2012年5月31日:整理书写设计说明书2012年6月1日:答辩并现场考核六、教研室审批意见教研室主任(签名): 年 月 日七|、主管教学主任意见 主管主任(签名): 年 月 日八、备注指导教师(签字): 学生(签字):邵阳学院课程设计(论文)评阅表学生姓名 学 号 系 别 专业班级 题目名称 基于89C51的电子时钟 课程名称 单片机原理及应用 一、学生自我总结本设计的硬件电路主要由单片机最小系统电路、按键模块、LCD1602液晶显示模块等模块组成,软件方面则是通过C语言对系统进行编程,这体现了本设计的实时性和灵活性。系统可以实现的功能:显示时、分、秒等时间相关信息,且可以通过按键设置时、分、秒。本设计还有一些地方可以改进:(1) 供电电源改成5V电池在生活中,不可能使用电源箱来作为硬件的供电电源,如果想要完成便携式携带的电子钟,则也不可能使用电源适配器来实现电源的提供,所以电源应该使用基于锂电池的设计使系统具备安全,简单,容易携带等优点。(2) 可以增加一个背光自动调节功能该功能主要是通过液晶显示屏LCD1602外接光敏三极管来实现,但考虑到器件价格及时间方面的限制,放弃了这个部分。但若能有这个功能,则夜晚的时候背光灯更亮,白天的时候背光灯较暗,这也间接起到了节能的作用。 设计过程中花费时间最多的是电路板的焊制,在焊接电路的过程中遇到了很多自己不能解决的问题,在老师和同学的指导和帮助下被一一克服了,通过此次课程设计使我受益不少。这次课程设计终于顺利完成了,在此对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 学生签名: 2012 年 6月 5 日二、指导教师评定评分项目平时成绩论文答辩综合成绩权 重304030单项成绩指导教师评语: 指导教师(签名): 年 月 日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。摘 要 数字电子时钟是人们日常生活中不可或缺的必需品,电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可拓展性能强等特点,被广泛应用于生活和工作当中。 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 本文以STC89C52为核心控制芯片,通过液晶显示器LCD1602实时显示时间。LCD显示,带蓝色背光,白天在太阳光下也能非常清楚的看到显示时间,因LCD的显示耗电量低,所以长时间工作也不必担心耗电问题。关键字:数字电子时钟;STC89C52RS单片机;液晶显示器LCD1602;AbstractDigital electronic clock is the indispensable people daily life necessities, electronic clock basically is to use electronic technology will clock electronic, digital, has the clock accurate, small volume and friendly interface, can develop strong performance characteristics, widely used in life and work. Now precision timing tool most used quartz crystal oscillator, because the electric clock, quartz clock, quartz watch are used quartz technology, so when the high accuracy, good stability, easy to use, does not require constant commissioning, digital electric clock time with integrated circuit, decoding instead of mechanical transmission, with the LCD monitor instead of pointer indicates that and then display the time, reduced the timing error, this table with time, minutes and seconds show time function, also can undertake and points of proofreading, choose flexibility of good. This paper STC89C52 as the core control chip, through the LCD monitor LCD1602 real-time display time. LCD display, with the blue backlighting, the day in the sun can also very clearly see the show time, for LCD display power consumption is low, so long time work also dont have to worry about power consumption problems. Key word: digital electronic clock; STC89C52RS single-chip microcomputer; LCD monitor LCD1602; 目 录中文摘要 I英文摘要 II1 绪论 41.1 电子时钟简介 41.2 单片机的发展 41.3 单片机的应用 52 总体方案设计 62.1 系统框图 62.2 显示与按键控制方案 72.3 时钟工作显示与蜂鸣器电路模块 82.4 复位与晶振电路模块 83 硬件电路设计 93.1 单片机的简介 93.2 单片机最小系统 113.3 电路设计仿真图 124 软件设计 144.1 主程序设计 145 实验及结果 175.1 调试及结果分析 175.2 实物装置图 18总结 20参考文献 20附录 20致谢 35 1 绪论1.1 电子时钟简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。该电子时钟以STC89C52为核心控制芯片,通过液晶显示器LCD1602实时显示时间。采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。电路中有四个控制键拥有不同的功能,一个是按键复位键,其它三个按键可以调节时间,分别为选中区段键、数字加一和下数字减一键。1.2 单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。 1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是一位的,处理能力有限。果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段(19761978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。第二阶段(19781982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。(1).完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。(2).CPU外围功能单元的集中管理模式。(3).体现工控特性的地址空间及位操作方式。(4).指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段(19821990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。1.3 单片机的应用 单片机的应用很广,分别在以下领域中得到了广泛的应用。 工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制。通信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。武器装备:在现代化的武器装备中, 如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。 2 总体方案设计2.1 系统框图 电子时钟的总体设计框图如图2.1所示。STC89C52最小应用系统按键电路晶振电路复位电路LCD 显 示 时 间蜂鸣器电路 图2.1 系统框图2.2显示与按键控制方案 2.2.1显示控制方案 LCD1602字符显示器模块是2行X16个字符的LCD显示器。该器件由32个字符点阵块组成,可以显示ASCII码表中的所有可显示字符。LCD1602字符显示器外形和引脚排列、名称如图2.2所示。1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图2.21602液晶模块内部的控制器共有11条控制指令,如表2所示 序号指令RSR/WD7D6D5D4D3D2D1D0 1清显示 0 0 0 0 0 0 0 0 0 1 2光标返回 0 0 0 0 0 0 0 0 1 * 3置输入模式 0 0 0 0 0 0 0 1I/D S 4显示开/关控制 0 0 0 0 0 0 1 D C B 5光标或字符移位 0 0 0 0 0 1S/CR/L * * 6置功能 0 0 0 0 1DL N F * * 7置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8置数据存贮器地址 0 0 1显示数据存贮器地址 9读忙标志或地址 0 1 BF计数器地址 10写数到CGRAM或DDRAM) 1 0要写的数据内容 11从CGRAM或DDRAM读数 1 1读出的数据内容 表2 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线) 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3是DM-162的内部显示地址. 显示字符123456789101112.第一行地址00H01H02H03H04H05H06H07H08H09H0AH0BH.第二行地址40H41H42H43H44H45H46H47H48H49H4AH4BH. 表3 单片机与LCD1602典型连接 本单片机显示模块采用LCD1602A-1型液晶显示器,用单片机的P0口作为1602的数据输入端,因为P0口作为输出端口时需要外接上拉电阻,故在P0口接阻值1k的排阻作为上拉电阻。同时让1602的E、RW、RS针脚分别与单片机的P2.7、P2.6、P2.5口相接。 2.2.2按键控制方案根据题目要求及另加的一些功能要求,总共只需要4个按键(如图2.3),故选用独立按键模式。 这4个键分别为,调时选择键k1、加值键k2、减值键k3、单片机复位键k4。下面具体介绍一下每个键的功能。K1:时、分、秒的调时选择键。K2:加值键,每按一次所选的时间值加1;K3:减值键,每按一次所选的时间值减1;K4:单片机手动复位键; 图2.32.3 时钟工作显示与蜂鸣器电路模块2.3.1 时钟工作显示电路模块 根据设计需要选取单片机P2口为输出口,如图2.4图2.42.3.2 蜂鸣器电路模块 蜂鸣器一脚与单片机的P1.3相连,一脚接地。如图2.5所示图2.52.4 复位与晶振电路模块2.4.1 复位电路模块 复位电路采用手动复位和上电自动复位组合。如图2.6所示图2.6当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间2.4.2晶振电路模块 本设计采用12Mhz的晶振,30pF的电容。如图2.7所示图2.7石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容, 接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。3 硬件电路设计3.1 STC89C52单片机的简介 VCC:电源。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为单片机的一些特殊功能口,如下所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3.2 单片机最小系统单片机最小系统如图3.1图3.13.3 电路设计仿真图电路设计仿真图如图3.2所示图3.24 软件设计4.1 主程序设计主程序按功能模块的话,主要包含4个部分:初始化程序:设置单片机的定时器0和1工作在模式1(16位定时器),其中定时器0产生24小时时钟模式的信号,定时器1产生60秒时钟模式的信号;对定时器0和1装初值,开启总中断和定时器中断,LCD1602的初始化及其他变量的声明和赋初值。该部分程序,LCD1602的初始化为重点。写该部分程序应该全面读懂它的使用说明。按键扫描程序:对K1到K4四个按键进行扫描,对按下不同的键让单片机做出不同的响应。因为每个按键都有不同的功能,所以程序中需要使用大量的if语句层层嵌套,这是本部分程序的两个难点之一。另外一个难点就是对按键去抖动延时的设定,如果延时值太大了,则按键不灵敏;如果延时值太小,则出现重复操作的现象,解决这个问题需要在仿真时不断的调试,以取个适中延时值。定时中断程序:完成对时钟的在LCD1602显示前的数据处理,产生秒、分、时。主要难点为秒分时之间的进位关系。LCD显示程序:LCD显示程序即包含在定时中断程序里边,也与前边的LCD初始化程序有关。主要难点在将时钟的变化显示在LCD1602的正确位置,不要出现乱码或者不符合时钟的显示格式。程序流程框图及主程序清单见附录5 试验及结果5.1 调试及结果分析5.1.1 最小系统的调试 首先在电路板上焊制单片机最小系统,通过向芯片中写入让每个引脚持续规律地在1和0电位转换的程序,将引脚接到发光二极管之后,发光二极管可以规律地亮或者灭,这说明实现了最小系统的测试。这样可以继续焊制后面的模块。5.1.2 液晶显示模块和蜂鸣器报警模块的调试液晶模块的显示是通过单片机开发板进行,将液晶显示器插入单片机开发板看是否有蓝色背光,若有,则说明可以正常显示。蜂鸣器报警模块的调试同样是通过最小系统的那个小程序,写入之后,报警模块的蜂鸣器规律的响,同时发光二极管随着规律的亮灭。5.1.3 整体调试将写好的程序写入单片机后,然后进行整体调试,在调试中液晶显示无法定格在一个画面,而是一直跳动。经过仔细检查焊点,并重新接线之后问题得到了解决。画面可以定格,时、分、秒信息正常显示。至此,系统调试成功。5.2 实物装置图总结本设计的硬件电路主要由单片机最小系统电路、按键模块、LCD1602液晶显示模块等模块组成,软件方面则是通过C语言对系统进行编程,这体现了本设计的实时性和灵活性。系统可以实现的功能:显示时、分、秒等时间相关信息,且可以通过按键设置时、分、秒。本设计还有一些地方可以改进:(1) 供电电源改成5V电池在生活中,不可能使用电源箱来作为硬件的供电电源,如果想要完成便携式携带的电子钟,则也不可能使用电源适配器来实现电源的提供,所以电源应该使用基于锂电池的设计使系统具备安全,简单,容易携带等优点。(2) 可以增加一个背光自动调节功能该功能主要是通过液晶显示屏LCD1602外接光敏三极管来实现,但考虑到器件价格及时间方面的限制,放弃了这个部分。但若能有这个功能,则夜晚的时候背光灯更亮,白天的时候背光灯较暗,这也间接起到了节能的作用。 设计过程中花费时间最多的是电路板的焊制,在焊接电路的过程中遇到了很多自己不能解决的问题,在老师和同学的指导和帮助下被一一克服了,通过此次课程设计使我受益不少。这次课程设计终于顺利完成了,在此对给过我帮助的所有同学和各位指导老师表示忠心的感谢!参考文献1蒋辉平、周国雄.基于Proteus的单片机系统设计与仿真实例.北京:机械工业出版社,2009年7月.2赵建领.51系列单片机开发宝典.北京:电子工业出版社,2007年4月.3彭伟. 单片机C语言程序设计实训100列基于8051+Proteus仿真. 北京:电子工业出版社,2010年1月.4朱华光.LCD1602编程中一些问题怎样解决J.电脑编程技巧与维护,2010,(15):90-91.附 录4.1.1程序流程框图开始初始化函数否有键按下?是否是K1键?是是K4?按的次数b否是时钟复位无效b=2b=3b=1b=4返回时钟工作选定时钟选定秒位选定分位有键按下否否K3?K2?是是选定位减1无效选定为加14.1.2 主程序清单#include#define uchar unsigned char#define uint unsigned intsbit rs=P30; /各引脚定义 /液晶sbit rw=P31;sbit en=P32;sbit s1=P10; /键盘sbit s2=P11;sbit s3=P12;sbit beep=P13; /蜂鸣器uint shi,fen,miao,s1num=0,num=0;void delay(uint x) /延时程序 uint i,j;for(i=0;i110;i+)for(j=0;jx;j+); void laba() /蜂鸣器程序 beep=1; delay(100); beep=0;void write_com(uchar command) /液晶写命令 rs=0; en=0; rw=0; P2=command; delay(2); en=1; delay(2); en=0; delay(2); void write_date(uchar date) /液晶写数据 rs=1; en=0; rw=0; P2=date; delay(2); en=1; delay(2); en=0; delay(2); void init() /液晶初始化 write_com(0x30); write_com(0x0c); write_com(0x01); delay(2); void write_sfm(uchar add,uchar date) /数据分离、显示uchar si,ge;si=date/10;ge=date%10;write_com(0x80+add);write_date(0x30+si);write_date(0x30+ge);void keyscan() /键盘扫描 if(s1=0) delay(5); if(s1=0) s1num+; while(!s1); laba(); if(s1num=1) TR0=0;write_com(0x80+0x06); write_com(0x0f);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论