单片机论文内容_第1页
单片机论文内容_第2页
单片机论文内容_第3页
单片机论文内容_第4页
单片机论文内容_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的电子时钟设计1 引言1.1 设计目的,要求和实现功能1.1.1 设计目的基于单片机电子时钟的课程设计,是利用单片机设计一个电子时钟,使不断具有电子时钟的功能,而且还具有秒表的功能。通过液晶1602显示出来,做时钟时在1602上显示小时,分,秒,可以通过按钮对时,分,秒分别做调整。做跑表时显示范围000.0999.9秒。当启动按钮时秒表开始计时,按下停止则停止计时,当按下复位按钮时秒表回零。1.1.2设计要求 (1) 要求设计电气原理图; (2) 要求设计出程序流程图; (3) 要求给出软件流程图并编写程序源代码; (4) 完成系统的调试,给出调试结果并分析。1.1.3 实现功能 (

2、1)可以实现时钟的功能; (2)可以实现跑表的功能; (3)可以通过按键来调整时间; (4)可以通过按键来控制跑表的走和停。1.2系统总体方案设计1.2.1单片机芯片的选择AT89C52是一个低压,高性能CMOS的8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATML公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置同用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用1。1.2.2 总体设计方案及论证电子时钟的整体设计较简单,包括单片机、自动复位电路、时

3、钟电路、键盘电路、显示电路。利用AT89C52单片机内部的定时0进行中断定时,配合软件延时和按键程序实现时,分,秒的计时,达到可以对时间的调整等功能。利用AT89C52内部的定时器1进行中断定时,实现秒表的计时和控制。在复位电路中,C选用10uF而R选用10K在0.1S内,RST引脚所接收到的电压是51.5V。在5V正常工作的52单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号所以在开机0.1S内,单片机系统自动复位9。在时钟电路中,在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,本次课程设计电容使用的是30pF的瓷片电容,可对振荡器进行频率微

4、调使振荡信号频率与晶振频率一致。晶振使用的是12MHZ,接上瓷片电容,可以与单片机内的电路构成一个稳定的自激振荡器2。在本次课程设计中,不采用LED数码管而是采用LCD1602,主要是由于在某些方面液晶显示比数码管优点更加突出。显示电路采用液晶1602显示,共显示两行,第一行显示秒表,第二行显示时钟。1602液晶显示器具有微功耗,体积小,显示内容丰富,超薄轻巧,控制简单,显示明确易懂等优点。单片机芯片时钟电路复位电路按键电路液晶1602显示数据图1.1单片机控制系统原理框图2 单片机和电子时钟简介2.1 单片机简介本次采用的AT89C52单片机与早期Intel的8051/8751/8031芯片

5、的外部引脚和指令系统完全兼容,只不过用Flash ROM代替了ROM/EPROM而已。与8051相比,具有节电工作模式,即休闲方式及掉电方式。在一小块芯片上,集成了一个微型计算机的各个组成部分3,即包括:(1) 一个8位的80C51微处理器(CPU)。(2) 片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结构、最终结果以及欲显示的数据等。(3) 片内4KB程序存储器Flash ROM,用以存放程序,一些原始数据和表格。(4) 4个8位并行I/O端口P0P3,每个端口既可以用作输入,也可以用作输出。(5) 两个16位的定时器/计数器,每个定时器/计数器都可以设置成

6、计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(6) 具有5个中断源,两个中断优先级的中断控制系统。(7) 一个全工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。(8) 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHZ。另外89C51是用静电逻辑来设计的,其工作频率可下降到0HZ,并提供两种可用软件来选择的省电方式空闲方式(IDLE MODE)和掉电方式(POWER DOWN MODE)。在空闲方式中,CPU停止工作,而RAM,定时器/计数器,串行口和中断系

7、统都允许继续工作。此时的电流可降到大约为正常工作方式的15%。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。这种方式下的电流可降到15uA以下,最小可降到0.6uA。图2-1为单片芯片内部结构图4。图2-2为89C52单片机结构图4。图2.1单片机内部结构图图2.2 89C52单片机结构框图2.2电子时钟简介2.2.1 简介电子钟亦称数显钟(数字显示钟),是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,直观性为其主要显著特点,且因非机械驱动,具有更长的使用寿命,相较石英钟的石英机芯驱动,更具准确性。电子

8、钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。相对于其他时钟类型,它的特点可归结为“两强一弱 ”:比机械钟强在观时显著,比石英钟强在走时准确,但是它的弱点为显时较为单调。2.2.2 功能描述电子钟的时钟功能:具有可选的24h(小时)或12h(小时)的计时方式,显示时、分、秒;具有快速校准时、分、秒的功能;能设置起闹时刻、响闹时间为1min(分钟),超过1min(分钟)自动停止;具有人工止闹功能,止闹后不再重新操作,将不再发生起闹;具有整点报时功能。但是在本次课程设计中,并没有使用一般的定时功能,而是

9、在时钟的基础上增加了秒表的功能,使液晶在显示时钟的功能同时具有秒表的功能,在按下秒表后,时钟停止显示,但并不会停止计时,秒表结束后,时钟显示出正常的时间值。随着科技的进步与发达,部分电子钟还带投影功能,同时衍生为许多其他产品的辅助功能。2.2.3 工作原理电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,秒表显示为000.0秒999.9秒。做时钟时,显示方式为“00:00:00”,由定时器T0进行计时,当计时到1秒时,秒显示加1,当秒加到60时,秒显示清零,同时分显示加1,当分加到60时,分显示清零,同时时显示加1,当时

10、显示加到24时,时显示清零。在调整时间的按键电路中,分别有三个按键,第一个为功能键,即选择调整位置,当按下一次时,光标显示调整秒,当按下两次时,光标显示调整分,当按下三次时,光标显示调整时,当功能键按下四次是,时钟恢复正常走动。第二个为加1键,当功能键按下次数为一到三次时,按下加1键,则光标闪烁位置数值加1。第三个为减1键,当功能键按下次数为一到三次时,按下减1键时,光标闪烁位置数值减1。做秒表时,显示方式为“000.0”由定时器T1进行计时,当计时到1秒时,秒显示加1,当秒加到999时,数据清零。在控制秒表的按键电路中,只有一个按键,当按键被按下一次时,秒表开始计时,当按键被按下二次时,秒表

11、停止计时,同时把秒表所计数值送给时钟显示。当按下复位按键时,秒表清零。3 硬件电路设计本系统硬件电路设计由单片机最小系统设计、控制电路设计、按键电路设计、液晶显示电路设计三部分组成。最小系统只要是为了使单片机正常工作。包括电源部分和时钟部分等。控制电路主要由开关和按键组成,由操作者根据相应的工作需要进行操作。显示电路主要是为了显示时间值和秒表值。电路主要硬件包括单片机芯片AT89C52、按键、显示模块1602,以及一些其它的电容电阻和晶振,杜邦线。3.1 系统整体电路图系统整体电路图如图3-1,其中四个按键分别接P3.0,P3.1,P3.2,P3.3和P3.4口,液晶1602的RS,RW,EP

12、分别接P1.0,P1.1,P1.2。P3口则作为液晶的数据传送端口。开始接通电源时,液晶1602第一行显示“000:0”,第二行显示“00:00:00”,同时第二行显示秒的部分开始走动,当控制秒标的按键按下时,第一行数据开始走动。再按下一次时,秒表停止走动,并把所计的时间加到电子时钟上,保证时钟能正常工作。分别按下时钟的功能键,加1键和减1键可对时间进行调整。图3.1系统整体电路图3.2 局部电路设计3.2.1 复位电路复位电路说明:由电容,电阻和按键组成,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。一般教科书推荐C取10uF,R取10K。在本次课程设

13、计中C取值为10uF,R取值为10K。当然也有其它取法,原则是让RC组合可以在RST脚上产生不少于2个机器周期的高电平2。至于如何具体计算,可以参考电路分析相关书籍。.复位电路用途:单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞时,按下复位按钮内部的程序自动从头开始执行。复位电路的工作原理:在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以通过按键的断开和闭合在运行的系统中控制其复位。在电路图中电容的大小是10uF,电阻的

14、大小是10K。可以算出电容充电到电源电压的0.7倍,需要的时间是0.1S。在5V正常工作的52单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号所以在开机0.1S内,单片机系统自动复位5。复位电路如下图所示:图3.2复位电路图3.2.2 时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为024M

15、Hz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用2030pF的瓷片电容。外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。AT89C52单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期5。 振荡周期:是片内振荡电路或片外为单片

16、机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。 时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。 机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1S6组成。 指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。AT89C52单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。 了解了以

17、上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us5。知道了单片机的时序,为后面编写定时器的程序提供了很大的帮助,可以通过计算设定不同的初值,来控制中断的进行。这样使得电子时钟和秒表的走动更加精确,达到我们想要的目的。电路如图3-3。 图3.3单片机最小系统时钟电路图3.2.3 键盘控制电路本次课程设计是以单片机的P3口作为信号输入口,使用的按键是弹性小按键,当被按下时闭合,松手后自动断开。

18、单片机检测按键的原理是:单片机的I/O口既可作为输出也可作为输入使用,当检测按键时用的是它的输入功能,我们把按键的一端接地,另一端与单片机的I/O口相连,开始时先给该I/O口赋一高电平,然后让单片机不断检测该I/O口是否变为低电平,当按键闭合时,即相当于该I/O口通过按键与地相连,变成低电平,程序一旦检测到I/O口变为低电平则说明按键被按下,然后去执行相应的指令6。按键的连接方法非常简单,如图3-4。当按键被按下时,理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短与按键的机械特性有关,一般为510ms。通常我们手动按下键然后立即释放,这个动作中稳定闭合

19、的时间超过20ms,因此单片机在检测键盘是否按下时都要加上去抖动的操作,有专用的去抖电路,也有专用的去抖芯片,但我们通常用软件延时的方法就能容易解决抖动问题,而没有必要再添加多余的硬件电路7。在本次课程设计中都是用软件延时的方法去除按键抖动。通过按键可以对时钟和秒表进行调整,使用起来比较方便,但在使用按键的过程中应当注意,按键是否接对,软件去抖是否起作用,还应注意按键的接口是否正确。不然,在后面的使用中,不但达不到预期的效果,还会使得设计出错。在设计好电路图,编写好按键电路的程序后,应当清楚每个按键的功能。按键电路是电子时钟以及秒表中不可或缺的一部分,正确应用好按键电路,才能正确的对电子时钟和

20、秒表进行调试。图3.4单片按键控制电路3.2.4液晶显示电路LCD1602字符显示器模块是2行X16个字符的LCD显示器。该器件由32个字符点阵块组成,可以显示ASCII码表中的所有可显示字符。下面为1602各个引脚接法:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写

21、入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令第714脚:D0D7为8位双向数据线。 第1516脚:空脚。图3-5为液晶各管脚接线图。仿真图中,液晶的管脚与实物有点区别,仿真图中没有15脚和16脚6。图3.5液晶显示电路图 4 软件设计整个系统的功能是由硬件电路配合软件来实现的,开始设计好程序,设计好电路图,根据电路图定型硬件后,软件的功能也就基本定下来了。其中液晶显示数据传输主要由最小系统统一工作,定时器准确定时,通过按键调整程序,然后通过I/O口传送给显示器进行显示

22、。所以,在整个系统的软件设计中,应正确设计个部分程序。这里使用C语言编写单片机控制程序。控制系统CPU采用AT89C52单片机,当系统上电时,系统硬件在软件程序的支持下开始正常工作。4.1 程序流程图开始液晶显示是否定义各端口是被按下次数aK2被按下?是否有键按下?无效按键次数显示清0否否是秒表开始计时秒表停止计时b=2是b=1复位键被按下?K1被按下?秒表停止计时(续:流程图接下页)分闪烁时闪烁秒闪烁显示正常K3被按下?a=2a=4a=3a=1有键按下?否K4被按下?否 是是无效数值减1数值加1结束图4.1系统流程图4.2 主程序清单本次程序设计使用的是C语言编程,C语言与汇编语言相比具有程

23、序模块化结构较强,浅显易懂,层次清楚等优点8。系统具体程序如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint num,count,num1,flag,num2;char shi,fen,miao; sbit ep=P12; sbit rs=P10; sbit rw=P11; sbit s1=P31; sbit s2=P32; sbit s3=P33; sbit temp=P30; uchar code table="000:0" uchar code table

24、1="00:00:00" void delay(uint z) uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-); void write_com(uchar com) rs=0; ep=0; rw=0; delay(5); P2=com; ep=1; delay(5); ep=0; void write_date(uchar date) rs=1;rw=0;ep=0;P2=date;delay(5);ep=1;ep=0; void init() write_com(0x38);delay(5);write_com(0x0c);

25、delay(5);write_com(0x06);delay(5);write_com(0x01);delay(5);write_com(0x80+0x05);for(num=0;num<5;num+)write_date(tablenum);delay(5);write_com(0x80+0x44);for(num=0;num<8;num+)write_date(table1num);delay(5);TMOD=0X11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-65436)/256;TL1=(65536-654

26、36)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=0; void write_aaa(uchar add,uchar date) uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge); void display(uint add,uint date,uint date1) uint ge,shi,bai; bai=date/100; shi=date/10%10; ge=date%10; write_com(0x80+add)

27、; write_date(0x30+bai); write_date(0x30+shi); write_date(0x30+ge); write_date(':'); write_date(0x30+date1); void keyscan() if(s1=0)delay(5);if(s1=0)num1+;while(!s1);if(num1=1)TR0=0;write_com(0x80+0x40+10);write_com(0x0f);if(num1=2)write_com(0x80+0x40+7);if(num1=3)write_com(0x80+0x40+4);if(nu

28、m1=4)num1=0;write_com(0x0c);TR0=1;if(num1!=0)if(s2=0)delay(5);if(s2=0);while(!s2);if(num1=1)miao+;if(miao=60)miao=0;write_aaa(10,miao);write_com(0x80+0x40+10);if(num1=2)fen+;if(fen=60)fen=0;write_aaa(7,fen);write_com(0x80+0x40+7);if(num1=3)shi+;if(shi=24)shi=0;write_aaa(4,shi);write_com(0x80+0x40+4)

29、;if(s3=0)delay(5);if(s3=0)while(!s3);if(num1=1)miao-;if(miao=-1)miao=59;write_aaa(10,miao);write_com(0x80+0x40+10);if(num1=2)fen-;if(fen=-1)fen=59;write_aaa(7,fen);write_com(0x80+0x40+7);if(num1=3)shi-;if(shi=-1)shi=23;write_aaa(4,shi);write_com(0x80+0x40+4); void main() uint flag2,miao1=0,fen1=0; i

30、nit();while(1)keyscan(); if(temp=0) delay(5); while(temp=0); flag2=0; flag=0; num2=0;while(flag2=0) TR0=0; TR1=1; display(5,num2,flag); if(temp=0) while(temp=0); miao1=num2%60; fen1=num2/60; miao=miao+miao1; fen=fen1+fen; if(miao>60)|(miao=60) miao=0; fen+; if(fen>60)|(fen=60) fen=0; shi+; if(

31、shi>24)|(shi=24)shi=0; TR1=0; TR0=1; flag2+; while(1); void timer0()interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=20)count=0;miao+; if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;write_aaa(4,shi);write_aaa(7,fen); write_aaa(10,miao); void timer1() interrupt

32、 3 TH1=(65536-65436)/256;TL1=(65536-65436)%256;flag+;if(flag=10) flag=0; num2+; if(num2=1000) num2=0; 5 系统仿真与实践5.1 Proteus软件介绍Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。 全部满足我们提出的单片机软件仿真系统的标准,在同类产品中具有明显的优势。 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器

33、、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内

34、容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象10。5.2 仿真模型的建立过程通过上面的简单介绍,对Proteus软件有了初步的了解,下面通过对Proteus软件进行操作,绘出系统电路图,进行实时仿真。首先,打开Proteus软件在元件库中选取AT89C52单片机芯片,在图纸上选择合适位置放置芯片,然后选择合适的大小,这样初步的选芯片过程便完成了。其次,绘画复位电路,继续从元件库中选取按键,电阻,电容,电源和地。选好后,摆放在适当的位置,摆放位置时应注意布局大小和美观程度。摆好后,进行连线。接下来要绘

35、画时钟电路,步骤和画复位电路相同。先在元件库中选取12MHZ的晶振,30pF的瓷片电容和地。摆好位置后进行连线。画好上面的电路后,接着画液晶显示电路和按键电路。在元件库中分别选取一个1602液晶显示,几个按键,电源和地。然后进行连线,按键地连在一起,然后,另一端分别接到P3.0P3.3口。液晶数据端接至P2口,使能端等连接到P1口。在接线时应当注意接线正确,不然,达不到想要的结果。在绘好所有的电路图后,进行最后一个步骤,当然,也是最重要的一步,既把编好的程序进行调试,编译后生成的.hex文件下载到单片机芯片内。然后点击开始工作按键,进行实时仿真。下面是建立的系统仿真图。图5.1 系统仿真图5.

36、3 程序调试及结果5.3.1 调试方法编好程序,进行编译之后,先在仿真软件上进行调试,使能得到预期的结果。然后将程序下载到单片机芯片内,在焊好的实物正极加上5V电压之后,分别调整时间功能键,加1键和减1键,看各个按键功能是否和预想的一致。如果一致则说明程序编写正确,如果不一致,应该检查按键程序是否编写正确,按键是否去抖,中断程序是否正确,定时器是否能正常计时,仔细调整直至能达到预想的效果。检查完时钟程序之后,再检查秒表的程序,看实物上秒表是否能正常工作,如果不能正常工作,则应该检查按键程序和中断以及定时器的程序,进行仔细调整11。5.3.2 调试结果分析根据仿真得到的结果,可进行分析,如下图:

37、图5.2 系统仿真结果图中液晶显示第一行显示秒表,前面三位代表秒钟数,图中的“014”代表秒表计时到14秒,后面的“5”代表逢十进一秒。第二行显示为电子时钟,最前面两位为时显示位,图中的“23”代表时间为23时,中间两位为分钟显示位,图中的“32”代表为32分,还有28分钟时将会到24时。最后两位为秒钟的显示位,图中的“47”表示秒已到达47秒,还有13秒分钟将会变为33分。整个第二行表示时间23时32分47秒。芯片左边的按键为复位按键,若被按下,则显示器上显示清零。芯片右边第一个按键控制秒表,按下一次秒表开始走动,按下两次秒表停止走动。第二个按键为时钟的功能键,按下一次,秒显示位置光标闪烁,

38、按下二次分显示闪烁,按下三次时显示闪烁,按下四次时钟正常走动。第三个按键为加1键,按下一次,则光标闪烁位置数值加1,第四个按键为减1键,按下一次,光标闪烁位置数值减1。调试程序的过程并不是一帆风顺,在这期间遇到过许许多多的问题。如在最开始写液晶显示的程序时,要求是通过功能按键,使得光标分别在时,分,秒的位置闪烁,然而写好程序之后,结果却不尽人意,光标闪烁位置始终在同一个位置,达不到想要的结果。在仔细检查程序时才发现是液晶显示程序出了点小错误。还有就是,在写好按键程序后,进行调试,总是出现按键后,得不到加一和减一的结果,而是一下子变化非常大,这种问题则是由于按键去抖有问题。在大整体工作基本完成时,最后就是让秒表和时钟,一起在液晶显示上工作,这是最关键,同时也是最难的问题,为了解决这个问题,我们组成员一起研究书本,向老师,同学请教,最后终于在我们的不屑努力下,发现原来是我们在定义单片机接口的时候出了错。5.4 系统实物实现实物实现是本次课程设计的最终目标,在克服了一个个困难之后,终于在我们这一组所有成员的共同努力下,做出了最后的实物,看似简单的一件小作品,背后却是我们四个人历时两周共同努力的结果。如上图,中间位置为

温馨提示

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

评论

0/150

提交评论