欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc

    • 资源ID:3988984       资源大小:515KB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc

    江西渝州科技学院 电子技术专业专科毕业论文 题 目:基于单片机数字时钟设计 作者姓名: 学 号: 专 业: 电子信息工程技术 指导教师: 2011年 12月 摘 要本设计以数字集成电路技术为基础、单片机技术为核心。软件设计模块化结构、C语言编程。系统通过带字库的LCD12864显示数据,通过4*4矩阵键盘控制显示文字、公历日期(年、月、日、星期)、时间(时、分、秒) 文字反白、自定义字符、图片显示,可以通过键盘调整时间、日期,温度,同时按下键盘时,七段数码管显示相应键位的键位标识。在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细阐述了程序的各个模块和实现过程。关键词:单片机;数字温度日历表设计AbstractThe design is based on digital integrated circuit.microcontroller technology is the core of the system,The software design uses module structure,C programming language. System by taking the fonts LCD12864 display data, through 4 * 4 matrix keyboard control displays text, calendar dates (year, month, day, week), time (hour, minutes and seconds), word against white, customize characters, photos. Can via keyboard adjust time, date, and press the keyboard, 7 segment digital pipe display corresponding cryogenically keys logo. First the arrangement of the content of the system hardware principle are introduced, and the hardware interface technology and the function of each interface module, Secondly, this paper expounds the program modules and realization process.Key word:MCU; Keyboard display the simulation system;LCD12864;The clock 目 录引言- 4 -1 设计要求- 3 -1.1 基本要求- 3 -1.2 发挥部分- 4 -2 方案设计与论证- 4 -2.1 控制部分方案论证- 4 -2.2 显示部分方案论证- 4 -3 系统框图及工作原理- 5 -3.1 系统框图- 5 -3.2 工作原理- 5 -3.2.1硬件工作原理- 5 -3.2.2软件工作原理- 5 -4 硬件原理分析及设计- 6 -4.1 单片机时钟电路- 6 -4.2 单片机复位电路- 6 -4.2.1复位电路的可靠性设计- 6 -4.3 键盘电路- 7 -4.4 显示电路- 7 -4.4.1 LCD显示电路- 7 -4.4.2七段数码管显示电路- 7 -4.4 整体电路图- 8 -4.5 系统硬件设计所需的元件- 9 -5 软件设计- 9 -5.1 软件总体设计及框图- 9 -5.2 软件重要子程序设计及框图- 10 -5.2.1显示部分- 10 -5.2.2键盘扫描部分- 11 -5.2.3时钟部分- 11 -5.2.4延时部分- 12 -6 硬件安装制作- 13 -6.1 PCB板制作- 13 -6.2 元件焊接- 13 - 7 电路调试- 13 -7.1 硬件调试- 14 -7.2软件调试- 14 -8 测试结果- 14 -9 结论- 14 -致谢- 15 -参考文献- 15 - 引言仪器仪表的键盘显示系统,是实现通过键盘的控制,使LCD屏幕有相应的显示,广泛用于各个领域,如电脑、家电、数字仪器等,成为人们直观了解和控制仪器、设备的运行状态的重要依据,给人们的生活带了方便,成为现代人们生活、工作的必需品。数字化显示系统告别了以前老式的监控和计算仪器、设置状态方式,给人们带来了极大的方便。本设计是仪器仪表的控制显示模拟系统,所有的仪器仪表的控制显示系统都是以此为基础而扩展的。因此,研究仪器仪表的控制显示系统及扩大其应用有着非常现实的意义。本设计就是仪器仪表的控制显示系统简单的模拟和扩展应用。1 设计要求1.1 基本要求1)开机LCD液晶屏幕显示“08级电子信息工程XXXX毕业设计”信息。2)设计4X4矩阵键盘,分别对应键码“0-F”。3)按下任意一个按键,LCD液晶屏幕显示相应按键的信息(不同按键的显示内容可以自行设计)。1.2 发挥部分1)LCD液晶屏幕增加装饰图案。2)增加一个LED数码管同步显示相应键码。3)增加一个LED点阵同步显示相应键码。2 方案设计与论证2.1 控制部分方案论证方案一:可采用ALTERA公司的FLEX10K系列PLD器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势,而以我们目前的条件在硬件和软件也无法实现本设计的各种要求。方案二:凌阳16位单片机有丰富的中断源和时基。它的准确度相当高,并且C语言的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成这个 仪器仪表的键盘显示模拟系统不太复杂的设计可以不必用凌阳16位单片机来完成。方案三:AT89S52是8位单片机,提供的的四组8个I/O口能够实现既定功能,成本也不高。综合考虑最后选择用AT89S52单片机来作为中心控制器件。2.2 显示部分方案论证方案一:使用LCD1602成本低,程序控制简单,但它只能显示16X2个半宽字型符,不能显示汉字,比较单调。方案二:带字库的由ST7920控制的LCD12864硬件上提供8位,4位并行接口及串行接口供选择,64×16 位字符显示 RAM(DDRAM 最多 16 字符×4 行,LCD 显示范围 16×2 行),2M 位中文字型 ROM(CGROM),总共提供 8192 个中文字型(16×16 点阵),16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(16×8 点阵),64×16 位字符产生 RAM(CGRAM)。在软件上提供文字与图形混合显示、画面清除、光标归位、显示开/关 、光标显示/隐藏、显示字体闪烁、光标移位功能、显示移位、垂直画面旋转、反白显示、休眠模式的功能,相对于LCD1602来说功能丰富,而且已内建有GB码简体中文字型库,方便编程。综合以上方案,决定采用LCD12864(除非特殊说明,以下都简称LCD)作为显示器件。3 系统框图及工作原理3.1 系统框图图1 系统框图3.2 工作原理3.2.1硬件工作原理硬件控制电路主要用了4*4矩阵键盘、AT89S52芯片处理器、LCD和七段数码管。由AT89S52处理器处理从4*4键盘发出的指令,通过LCD和七段数码管显示出相应按键的内容。3.2.2软件工作原理软件控制程序主要有主控程序、时间程序、LCD控制程序、时间及日期显示程序、键盘扫描程序等组成。主控程序中对整个程序进行控制,进行了时间和LCD初始化、LCD和数码管显示等控制。LCD显示程序是整个显示部分中的重要部分,包括写入命令、初始化、写入数据、数据显示、自定义GDRAM显示、绘图显示、反白显示等。当LCD的RS=RW= 0,同时EN由1变0时,可以对LCD写入基本指令和扩充指令;当RS=1,RW=0,同时EN由1变0时,可以对LCD写入数据。对LCD端口写入不同的命令可以写入和显示不同的数据,具体命令请参考LCD12864和数据手册。LCD时间控制程序是时间程序重要的部分,时间控制程序体现了年、月、日、时、分、秒的计算方法。此设计采用AT89S52自带的T0计时器进行计时,中断程序每隔50ms中断一次当作一个计数,每中断一次则计数加1,当计数20次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第2月天数为29天,非闰年则有28天。在我们的这个设计中只设有100年的范围,判断是否闰年就只需要用该年份除以4来判断就行了。键盘扫描程序是整个设计的输入控制程序,4*4键盘占用单片机的8个I/O口。本设计的键盘扫描程序采用行列反转扫描法读取按键键值。单片机先让键盘行线输出全为0,然后读入列线值,再检测有无按键按下,去抖,再读入列线值,输出当前列线值,读入行线值,最后组合行、列线值,得到键盘的码值供调用。4 硬件原理分析及设计4.1 单片机时钟电路内部时钟电路如图所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用30PF。图2 时钟电路4.2 单片机复位电路 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: (1)外因射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。(2)内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。4.2.1复位电路的可靠性设计复位是单片机的初始化操作。单片机启动运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。如图3所示。图3 复位电路4.3 键盘电路4*4键盘电路由4*4=16个按键组成,其中4列经过4个10K电阻接入VCC上拉,接入单片机的P3口的高4位口,4行直接接入单片机低4位,当有按键按下时,由单片机控制8个I/O口读取出当前键值。图4 键盘电路4.4 显示电路4.4.1 LCD显示电路LCD12864一共有20个引脚,其中4-15、17脚接入单片机的P0全部I/O口和P2的三个I/O口,是LCD与单片机通讯的桥梁。16号脚是空脚,1和20脚接地,2和19脚接VCC,其中3、18、19三个脚接可调电位器和电阻,组成调节LCD对比度电路。图4.4.1 LCD显示电路如图5所示。4.4.2七段数码管显示电路采用的是共阳数码管,它的8个脚接入P1全部I/O口,PNP三极管的发射极接VCC,集电极经过一个电阻限流接入数码管的公共端,基极接单片机的P2.0口,由单片机给一个基极电流使三极管三极管导通,驱动数码管显示。如图6所示。图4.4.2 数码管显示电路图5 LCD显示电路 图6 数码管显示电路4.4 整体电路图根据以上各模块的功能互相连接成为此设计的整体电路,如下图:图7 整体电路图4.5 系统硬件设计所需的元件表1 元件列表元件名称数量(个)元件名称数量(个)LCD12864112M晶振1AT89S52芯片130pF瓷片电容2七段数码管110uF电解电容11K电阻5按键开关172K电阻1发光二极管251K电阻1排针1(排)10K电阻4插针1(排)10K电位器1自锁开关1103*8排阻15V电源15 软件设计此设计名为仪器仪表的键盘显示模拟系统,顾名思义软件占很大比例。整个设计硬件比较简单,主要就是程序的写法,而软件的调试也是此设计的重点和难点。整个软件结构分为主控程序、显示部分程序、键盘扫描部分程序、时钟部分程序和延时程序。5.1 软件总体设计及框图图8 软件设计总体框图开机后,主控程序先让单片机给P2.0一个低电平,开启数码管显示,然后初始化LCD包括设置基本指令集、设置光标、设置显示模式等,接下来是时钟的初始化,包括开启定时和中断、时间的走时(秒、分、时、日、月、年、星期),最后就显示开机画面并开始扫描键盘,若有按键按下则LCD和数码管显示相应的内容,8号键作为设置日期和时间的阀门,按下第一次时进入调整日期状态,第二次是调整时间,第三次调整温度,第四次返回。5.2 软件重要子程序设计及框图主控程序是建立在各子程序的基础上,各子程序写好后,由主程序调用。5.2.1显示部分显示部分的大体框图如下:图9 显示部分流程图为了区别调整时间和日期的按键与其他显示内容冲突,在这里给了8号键一个变量key_flag,未按下8号键时key_flag=0,程序执行图9框图所示的内容,当按下8号第一次时key_flag=1进入调整日期状态,当按下8号键第二次时key_flag=2,进入调整时间状态,当按下第三次时显示开机画面并让key_flag=0执行图9所示内容。显示部分程序涉及到LCD的初始化、写入命令和数据,写命令和数据的通讯方式已经在上文提到,这里不再阐述。此设计用到的LCD是带有字库的,要让LCD显示中文只需要往LCD写入DDRAM地址,再写入中文。DDRAM的0x800x87,0x900x97,0x880x8f,0x980x9f分别对应LCD的第一、二、三、四行,一行可以写入8个中文字符对应每行的8个地址。有的中文在字符没有,LCD显示就会是乱码,这时需要查询该字的16进制编码,再写入LCD。要让LCD显示图片,需要给LCD写入命令0x36,以开启绘图模式。此设计的图片取模方式是逐行自上而下显示,先写上半屏再写下半屏,屏幕X/Y轴的起点为0x80,写完上半屏后令X=0X88接着写下半屏,本设计用到的三张图片都是自己画的。6号按键用到的自定义字符是通过取模写入CGRAM,通过命令调取显示。本设计还用到反白显示、文字循环左移、文字向上滚动。反白显示是LCD的扩充指令集之一,只要写入0x04可以实现第一、三行显示,写入0x05实现第二、第四行反白显示,ST7920 控制器的 128×64 点阵液晶其实原理上等同 256×32 点阵,第三行对应的 DDRAM 地址紧接第一行;第四行对应的 DDRAM 地址紧接第二行。 因此在使用行反白功能时,第一行反白,第三行必然反白。第二行反白,第四行必然反白。文字循环左移只需要写入扩充指令0x18就可以实现。而文字向上滚动的实现,本设计定义了8个变量aa,bb,cc,dd,j,k,l,m,其中aa,bb,cc,dd对应LCD的四行DDRAM地址0x80,0x90,0x88,0x98,j,k,l,m四个变量用来实现DDRAM地址的变换,变换方法为:j=bb,bb=aa,k=cc,cc=j,l=dd,dd=k,m=aa,aa=l,运行第一次后,第一行变为第二行的内容,第二行变为第三行的内容,第三行变为第四行的内容,而第四行则变为第一行的内容,如此循环就实现文字向上滚动的效果。5.2.2键盘扫描部分本设计扫描键盘方式采用行列反转扫描法读取按键编码。单片机先让键盘行线输出全为0,然后读入列线值,再检测有无按键按下,去抖,再读入列线值,输出当前列线值,读入行线值,最后组合行、列线值,得到键盘的码值供调用,代码如图10所示。当有按键按下单片机读取出键值后,给主程序、调整时间和日期函数调用,同时送出编码给P1,让数码管显示当前按键对应的16进制代码0-f。图10 键盘扫描程序5.2.3时钟部分本设计时钟走时部分采用单片机内置的T0定时器,AT89S52单片机的定时器由两个16位定时器T0、T1、方式寄存器TMOD和定时器控制器TCON组成。其中T0、T1又可分成独立的8位计数器即TH0、TL0和TH1、TL1,用于存储定时器、计数器的初值;TMOD为方式寄存器,主要用来设置定时器/计数器和方式;TCON为控制寄存器,用来控制定时器/计数器的启动与停止。TMOD是一个专用寄存器,用来控制定时器T0和T1的工作方式用操作模式,其中TMOD的高4位用于对T1的控制,低4位用于对T0的控制,各位定义及格式如图11所示。图11工作模式控制寄存器TMOD示意图其中GATE为门控制,用来控制定时器启动方式。当GATE=0时,定时器由软件控制位TR0或TR1来控制启动。GATE=1时,定时器由外中断请求信号来控制启动。为定时或计数方式选择位,当为0时为定时工作方式,为1时计数工作方式。M1、M0为工作模式选择位,两个工作模式选择位可以形成4种编码,对应4种工作模式:M1=M0=0时为模式0;M1=0,M0=1时为模式1;M1=1,M0=0时为模式2;M1=M0=0时为模式3。此设计用定时器0,工作模式1,所以对应TMOD=0x01。同时定时50ms,对应的TH0=(65536-50000)/10,TL0=(65536-50000)%10。TCON既参与中断控制,又参与定时器/计数器控制,本设计只用到它的定时器/计数器功能。TCON各位定义如图12所示,其中D0-D3与外部中断有关,此设计未用到。图12 定时器控制寄存器TCON示意图TR0为定时器/计数器T0的运行控制位,为0时停止定时器/T0计数器T0;为1时启动定时器/计数器T0。TR1为定时器/计数器T1的运行控制位,功能与T0相同。TF0、TF1本设计用不到,不做说明。本设计只用到T0,当设置好TMOD后令TR0=1就启动T0定时器/计数器开始工作。设置好TMOD和TCON后,每过50ms定时器就会溢出产生中断,同时令变量deda另,当deda加到20后一秒钟就到了,这里令秒变量sec加1,同时令deda0重新计数;当sec加到60,令sec0,同时分变量min加1;当min60,令min0并让小时变量hour加1, 如此就可以得到日、月、年的精确时间。当一天到了,天加1时,星期也随着加1,当加到星期天时令其回到星期一。每个月的天数不一样,本设计采用switch-case语句让大月为31天,小月为30天,但闰年的二月是不一样的,这里对年进行取余,当判断余为0时,即为闰年,二月就有29天,其它年份为28天。时间调整部分比较简单,当按下8号键第一次后,进入调整日期状态,按下9号键控制年减,13号键年加;10号键月减,14号键月加111号键日减115号键日加;12号键星期减,16号键星期加。当按下8号键第二次后,进入时间调整状态,9号键时减,13号键时加;10号键分减,14号键分加;15号键秒清零。当第三次按下8号键时,回到显示基本内容状态,同时LCD显示开机画面。实现方式为单片机扫描到相应按键时,相应的变量就是做出相应的变化。5.2.4延时部分本设计的单片机采用12Mhz晶振,那么单片机的周期T1us,单片机每运行一次循环大概要10us,采用三层do-while语句来实现精确1ms延时,如图13所示。图13 延时程序1计算公式为t总=3j+(n+2)ij+3t+5T,T为晶振周期。此延时是供其他函数调用,而LCD写入命令、数据时若用上面的延时会出现“反应慢”的问题,因为每次写入一个命令和数据都要经过延时,累加起来就多了,即使是只延时1ms也是一样,所以本设计提供第二个延时函数delay1(),通过参考LCD的时序,证明使用这个延时函数没有问题。图14 延时程序26 硬件安装制作用PROTEL99SE画好原理图,导入PCB图,并布好局画好线后就开始做板,以便程序的调试。元件布局时要遵循就近原则,即两个元件之间的电气连接的最好放近一点,方便布线,还有单片机的晶振要尽量靠近单片机的18、19号脚。布线时电源线和地线要比其他信号线宽,而地线要比电源线宽,规则是地线>电源线>信号线。本设计的线宽为:地线2mm,电源线1.5mm,其他信号线0.8mm。6.1 PCB板制作画好PCB图后用转印纸打印,再用转印机将图纸转入覆铜板,接下来用油性笔对不清晰或断的走线进行弥补,防止腐蚀的时候把电气线路给腐蚀掉。之后就可以开始腐蚀了,腐蚀液用盐酸:双氧水:水3:1:2的比例兑。等铜板腐蚀好后用直径0.8mm的钻针钻孔,钻出插件元件引脚的插孔,然后用细砂纸擦掉炭粉后立即涂上松香液,防止铜层氧化。松香液是用松香和99%浓度的工业酒精按1:5的比例配制的。这样PCB板就出来了。6.2 元件焊接焊接前准备好电烙铁、焊锡、吸锡器、剪线钳、剥线钳、镊子等焊接工具,同时准备好要焊接的元件和导线。在清理元器件时,重点辩别认清电阻器阻值及相应代号,对电阻、电容、发光二极管、三极管等要用万用表一一检测是否是良品。焊接时,先焊好跳线,再按从小到大、从卧到立的原则把元件焊好。电阻、昌振、插槽采用卧式插装,并近贴电路板;瓷片电容、电解电容、三极管、排针、排阻等采用立式插装,也要近贴电路板。发光二极管、电解电容、三极管、集成电路等必须按正确的极性插装,否则电路不会正常工作,甚至通电后还会被烧坏。焊完元器件后,用剪线钳剪掉多余元器件的引线。焊接完后,还要认真对照电路原理图,检查电路板上有无漏焊、错焊、短路、断路等错误现象,确认无误后才能通电调试。7 电路调试本设计的调试涉及到硬件和软件的调试,硬件调试是建立在软件调试的基础上,只有保证硬件正常工作后才能对软件进行调试。7.1 硬件调试一块电路板做好后,并不能保证不会出错,在调试与检测过程中,利用万能表检测供电是否正常;线路是否有短路、断路等现象。我们在硬件调试的时候发现单片机不能烧入程序,首先我们判定可能是单片机坏了,就拿来另一块能烧程序的单片机最小系统,把单片机放到最小系统上发现能烧录程序,排除了单片机的可能,然后就一一检查或替换单片机周边晶振、电容、复位按键开关,最后发现是复位电路的电解电容有问题,而换了几个好的电解电容后还是没能解决问题,最后把电容换成106的独石电容,而这并不影响单片机的复位功能,因为电容的作用是要让RC充放电时间TRC>单片机复位所需的时间TRST即可。7.2软件调试我们做这个设计的时候碰到的最大的问题就是软件的调试,编写程序需要非常细心,逻辑思维要强,头脑要灵活,虽然之前有做过LCD1602电路,但LCD12864比LCD1602多复杂一点,还是第一次接触它,而且接触单片机编程时日还不长,在一开始没有一点眉目,在反复仔细翻阅了它的数据手册,并参考网上别人的思路后终于一点一点的把它弄清楚了,能实现了它的大部分功能。当程序写好后用ASP下载线和AVR_fighter软件把写好的程序烧录进单片机里,测试其工作情况和查找漏洞,并逐步完善整个设计功能。8 测试结果付出总有收获,经过我们的努力,本设计能完成以下基本要求的功能:(1)开机LCD液晶屏幕显示“08电子信息X班XXX毕业设计”信息。(2)设计4X4矩阵键盘,分别对应键码“0-F”。(3)按下任意一个按键,LCD液晶屏幕显示相应按键的信息。发挥部分能完成以下功能:(1)LCD液晶屏幕增加装饰图案。(2)增加一个LED数码管同步显示相应键码。 结论从设计题目下来到现在历时两个多星期,克服了硬件和软件上各种问题,实现大部分的功能。因为本设计硬件比较简单,在硬件上碰到的就是一个电解电容引起的不能烧录程序的问题,其他功能都正常。而主要的难题是在软件设计上,在软件上碰到以下几点问题:(1) 对LCD写入命令和数据的格式、时序弄乱。(2) 对LCD基本指令集、扩充指令集比较模糊,在显示图片部分时滞留了很久。(3) 对图片的取模抓不住头绪。(4) 在设计时钟部分时,单片机的定时器/计数器、中断部分出错。而这些问题都是跟自己对单片机的掌握不够深有关,这也提醒了我们要抓好基础功,基础好了,对付起这些问题才会得心应手。本设计到目前为止还不算“智能化”,功能还比较单一,发挥部分的功能还有点阵显示功能没有完成。设计之初还要实现按键语音播报、用DS1302作时钟芯片、用18b20同时显示当前温度、按键有更多选择等功能,但因为基础功不扎实造成的时间不够充裕而没有实现,若有机会将会继续完善。致 谢大专三年的学习生活就要画上一个圆满的句号,回忆整个设计和论文完成的过程,很多人给了我莫大的关心与帮助。这篇论文作为我们在校期间学习的最后一份答卷,向各位老师表示崇高的敬意。在大专这三年的学习和生活,我们不仅学到了丰富的专业知识,更学到了各位老师认真工作、爱岗敬业、为人师表的优良品质。在此,谨向各位老师表示深深的敬意和谢意!感谢黄方方指导老师在毕业设计过程中给予我们极大的关心和帮助。感谢各位科任教师平时的教导。尤其感谢班主任老师和单片机老师在上课和课余时间的教诲和辅导,他们让我们对专业课程更扎实,还让我们对其他的知识有更深的了解。老师对待学生尽心尽责,令人敬佩。同时也感谢在毕业设计过程中给予我精神上的鼓励和支持的同学,在我遇到困难时尽其所能地为我排忧解难。感谢学校提供的实验环境,使我能全身心的投入到我的设计中。学校提供的各种电路制作工具,使本设计系统在最短的时间里调试成功,使本系统能顺利实现。参考文献1谭立新,杨可以单片机应用技术M.中南大学出版社,2009年9月2张志良,单片机原理及控制技术(第2版)北京:机械工业出版社,2005年3余永权, MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版,19934求是科技,单片机典型模块设计实例导航M.北京:人民邮电出版社,2004年5月5张振荣, 晋明武,MSC-51系列单片机原理及实用技术. 人民邮电出版社,2000年6吉雷,Protel99从入门到精通.西安电子科技大学出版社,2004年7王守中,51单片机开发入门与典型实例,北京,人民邮电出版社,2007年8月8薛小铃,刘志群,贾俊荣,单片机接口模块应用与开发实例详解,北京航空航天大学出版社,2010年1月9 G.Y. Xu,Electronic design,2000年 10 Microcontroller handbook. Inter Corp.198611 MCS-51 Family of Single Chip Microcomputers Users Manual. Inter Corp. 1981附录硬件电路:软件总体设计及框图:程序:#include "main.h"#include "LED.H"#include "keyboard.h"#include "timer.h"void system_initial(void)   /系统初始化TMOD=0x11;                 /定时器工作在模式1ET0=1;                     /开定时器0中断TR0=1;                     /启动定时器0EA=1;                      /开总中断year=05;month=06;day=01;                    void main(void)            /主函数system_initial();         /系统开机初始化while(1)   scan_keyboard();        /键盘扫描   timer();                /时钟功能主程序#include <REG51.H>#include <intrins.h>/#include "LCD1602.h"/#include "DS1302.h"#define uint unsigned int#define uchar unsigned charsbit DS1302_CLK = P17;              /实时时钟时钟线引脚 sbit DS1302_IO = P16;              /实时时钟数据线引脚 sbit DS1302_RST = P15;              /实时时钟复位线引脚sbit wireless_1 = P30;sbit wireless_2 = P31;sbit wireless_3 = P32;sbit wireless_4 = P33;sbit ACC0 = ACC0;sbit ACC7 = ACC7;char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; /秒,分,时到日,月,年位闪的计数sbit Set = P20;       /模式切换键sbit Up = P21;        /加法按钮sbit Down = P22;      /减法按钮sbit out = P23;       /立刻跳出调整模式按钮void show_time();   /液晶显示程序/*1602液晶显示部分子程序*/Port Definitions*sbit LcdRs   = P25;sbit LcdRw   = P26;sbit LcdEn = P27;sfr DBPort = 0x80;   /P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口/内部等待函数*unsigned char LCD_Wait(void)LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();       LcdEn=0;return DBPort;  /向LCD写入命令或数据*#define LCD_COMMAND    0      / Command#define LCD_DATA    1      / Data#define LCD_CLEAR_SCREEN 0x01      / 清屏#define LCD_HOMING    0x02      / 光标返回原点void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0;   _nop_();DBPort=input; _nop_();LcdEn=1;   _nop_();LcdEn=0;   _nop_();LCD_Wait(); /设置显示模式*#define LCD_SHOW    0x04    /显示开#define LCD_HIDE    0x00    /显示关  #define LCD_CURSOR    0x02 /显示光标#define LCD_NO_CURSOR   0x00  /无光标      #define LCD_FLASH    0x01    /光标闪动#define LCD_NO_FLASH   0x00   /光标不闪动void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode); /设置输入模式*#define LCD_AC_UP    0x02#define LCD_AC_DOWN 

    注意事项

    本文(电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开