电子时钟的设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子钟的设计
1.序言
1.1系统开发背景
随着电子科技的不断发展,传统的时钟已被一些高档的电子时钟所取代,与传统的时钟相比,电子时钟融合了挂历和时钟的优点,能昼夜清晰显示,集年、月、日、时、分、秒、日期、农历、气温于一体,外观新颖,造型别具一格。
除此之外由于挂历以及一些传统电子表的制作成本相对较高,其销售价格也大多在15——30元之间,而一个电子时钟的价格也在这之间,但是挂历只能用一年,传统电子表又不能显示年、月、日,而电子时钟则不一样,由于它可以自动识别闰年、公历、农历、大小月份、农历,星期能自动对应公历无须调整。
对若干年前后的日期都可以查询,但考虑到其寿命原因,至少也可用5—8年。
在价格相差不大的情况下,电子时钟的性价比显然要高的多,就其阅读功能而言,电子时钟阅读起来更加方便,同时他还有闹铃和显示温度的功能,这比传统的挂历以及电子表要强大的多。
其实现的方法也很简单,用一个单片机和数个数码管就可以实现,由此可见,电子时钟的市场经济开发价值要比挂历以及电子表要高的多,电子时钟取代传统的挂历以及传统电子表已成为不可抵挡的趋势。
因此开发一个电子时钟就必须要了解单片机和数码管的原理和功能等,下面一节我们将简单介绍一下单片机和数码管。
1.2 系统开发工具介绍与安装
1.2.1 PIC系列单片机开发工具MPLAB的组成
MPLAB是一个集成了多种单片机应用开发工具软件于一体的、功能完备的软件包,
是PIC单片机编程开发的重要工具。
在此仅对其中的5种工具软件简要介绍如下:
⑴ Project Manager(工程项目管理器)
工程项目管理器是MPLAB的核心部分,用于创建和管理工程项目,为开发人员提供自动化程度高、操作简便的符号化(屏幕上的指令、指令地址、常数、变量、寄存器等均用表义性和可读性很强的符号代表和标识)调试工作平台。
⑵ MPLAB Editor(源程序编辑器)
源程序编辑器是一个全屏幕文本编辑器,用于创建和修改汇编语言源程序文件。
源程序文件以纯文本格式保存,其文件扩展名为“.asm”。
⑶ MPASM Assembler(汇编器)
用于将汇编语言源程序文件(.asm)汇编成机器语言目标程序文件(.hex),并负责查找语法错误和格式错误等一些浅层次简单错误。
⑷ MPLAB-SIM Software Simulator(软件模拟器)
软件模拟器是一种代替价格较贵的Hardware Emulstor(硬件仿真器)的调试工具,也是一种非实时、非在线的纯软件的调试工具。
借助这个在微机系统上运行的工具软件,我们可以不需要任何额外的附加硬件,仅用软件的手段,来模仿PIC系列单片机的指令的执行和信号的输入/输出,从而实现对用户自编单片机源程序的模拟运行、功能调试和深层次逻辑错误查找。
因此可以说,这为学习和应用PIC系列单片机的人们提供一种虚拟的实战环境。
对于单片机初学者来说,不用花钱也可以实现边学边练的梦想;对单片机开发者来说,可以缩短开发周期和降低成本。
总之,它是一种许多其他型号系列单片机很少配备的、性能价格比较高的程序调试工具。
不过,它也存在一定的局限性:一是它还不能模拟PIC16F87X片少数功能特殊的外围模块;二是它不能帮我们查找目标板上
的电路错误;三是它执行速度慢而只能适合调试那些实时性要求不高的程序。
⑸ MPLAB-ICD Debugger(在线调试工具ICD的支持程序)
这是一种专门与ICD配合使用的支持程序。
ICD是Microchip公司专为PIC16F87X 设计的一种廉价的在线调试工具套件。
另外,还包含一些其他工具软件。
例如:程序模块连接器、库程序管理器、C语言编译器、硬件在线仿真器的支持程序、目标程序烧录器的支持程序、在DOS操作系统下运行的汇编器等等。
1.2.2 MPLAB的安装
为了使MPLAB能够顺利安装和可靠地运行,对于所用的微机系统有一个起码地要求。
既安装和运行MPLAB所需的最小计算机配置为:
﹡ CPU为Intel486或型号更先进的处理器;
﹡操作系统为Microsoft Windows98/2000或WindowsXP;显示器为VGA(建议使用SVGA);存容量应不小于8MB(建议32MB);可利用的硬盘空间不小于20MB;
﹡配有鼠标。
下面我们介绍在WindowsXP操作系统之下,安装MPLAB的过程。
首先将Microchip公司提供的光盘放入光驱,点击“我的电脑”会出现光盘的标志
符,右击此标志符一次,再点击“打开”,找到了文件夹“tools”,右击此文件夹,点击打开,找到“download”的文件夹,右击打开此文件夹,找到mplab-ide的文件夹,同样右击打开此文件夹,会出现MPLV5XX的文件夹,再打开这个MPLV5XX的文件夹,就出现了Mp57full的安装文件,打开文件就进入了如图1.2.1的安装对话框。
图1.1 进入MPLAB安装的对话框
点击Next两次,进入了如图1.2.2所示的对话框,用鼠标点击去掉一些暂时用不到的程序左边的钩号。
点击两次“Next”,就出现了图1.2.3的对话框,在这里点击“Browse”键即可选择你想安装MPLAB的地方,选择好后就点击“Next”,直到出现图1.2.4的准备好安装MPLAB的对话框,点击“Next”就开始安装了。
图1.2 MPLAB组件选择对话框
图1.3 选择安装MPLAB的路径
图1.4 准备好安装MPLAB的对话框
安装完成后,MPLAB会自动在WindowsXP“开始”按钮的“程序”组中,建立一个“Microchip MPLAB”程序组。
至此MPLAB的系统文件已经安装完毕。
用户可在硬盘驱动器C:﹨Program Files﹨Mplab目录下,建立一个新的子目录Work作为我们的工作目录,存放我们在学习和操作过程中产生的各种文件。
如果日后不打算使用MPLAB,想清除其占用的硬盘空间,MPLAB自带了卸载程序C:
﹨Program Files﹨Mplab﹨unwise32.exe,运行它即可将MPLAB全部彻底地自动删除干净。
1.2.3 MPLAB-ICD在线调试工具套件及其应用
MPLAB-ICD是Microchip公司针对其PIC系列单片机中,近期推出的具有片FLASH程序存储器的PIC16F87X系列单片机,所研制的一套廉价的学习和开发工具套件。
MPLAB-ICD 可以用于实验阶段的评估和辅助调试。
它既是一个编程器(即程序烧写器),又是一个实时在线调试器。
用它可以代替在单片机应用项目的开发过程中常用的两种工具——硬件在线实时仿真器和程序烧写器。
它利用了PIC16F87X片集成的在线调试器(in-circuit debugger)能力和Microchip公司的在线串行编程技术(in-circuit serial programming)。
MPLAB-ICD工作于MPLAB集成开发环境软件包之下,其仿真头直接连接到目标电路板上,如同将一片PIC16F87X插入到目标板一样去运行用户编制的程序。
MPLAB-ICD套件中包括的部件有:MPLAB-ICD仿真头;MPLAB-ICD模块;及MPLAB-ICD 演示板;RS-232串行通信电缆;连接插针:2条14脚插针和2条20脚插针;20cm长的6芯电缆;包含所有MPLAB软件包和文档资料的光盘;《MPLAB-ICD用户指南》的中文翻译版本;还有直流电源适配器。
那么它的功能特点则有:
●能以实时或单步方式运行用户程序;
●断点设置功能;
●在线调试功能;
●在线编程功能;
●工作电压围为3.0~5.5 V;
●可从目标板上获取工作电源;
●工作频率围为32kHz~20kHz;
●可对源程序直接进行代码级的调试;
●可以工作于MPLAB集成开发环境下;
●以RS-232串行接口方式与微机系统相连。
借助于MPLAB-ICD工具套件,用户可以实现:
①在自己设计的PIC16F87X的应用电路中实时运行和调试自己的源程序——软件调试。
②用自己编制的程序来调试和检验自制目标板上的电路——硬件调试;
③利用在线串行编程技术将自己设计的目标程序烧写到插在目标板上的PIC16F87X 单片机(又称目标单片机)中——程序固化。
对于这套小巧廉价的、电路简洁的MPLAB-ICD的开发工具套件,由于在实现在线调试和在线编程的过程中,采用了PIC16F87X集成在片的在线调试功能和Microchip公司的在线串行编程协议,因此在用MPLAB-ICD仿真目标单片机时一定会存在一定的局限性。
具体地说,MPLAB-ICD工作过程中将会占用目标单片机的片和引脚中的部分资源。
这部分资源用户就不能再使用了。
不过,对于一般的项目开发没有太大的影响,并且与价格昂贵的专业级全功能在线实时仿真器相比,用它来调试和烧写PIC16F87X系列单片机,仍然是一套具有极高性能价格比的开发工具套件,所以它非常适合初级开发者的学习和实践。
我们通过使用此套工具就可以很好的进行单片机的应用。
1.2.4 其他所用外围模块、电路及器件的简要介绍:
这个系统中使用了在32768Hz的自备晶振支持下的PIC单片机部TMR1定时计数器。
由于本系统意在实现外部的电池提供电源,为了节省能源,需要单片机进入睡眠模式,但同时又不能影响计数器的计时工作,由于TMR1能够在睡眠模式下工作,所以我们用TMR1作为计时器,32768 晶振则是给TMR1提供振荡信号的,由于TMR1是一个双字节
计数器,总的计数次数是2的16次方计即32768×2次。
所以它可以方便地由TMR1产生精确的秒信号,在此基础上,再进一步由软件计数器形成分、小时、日以至月、年的数值。
在此次设计中,我们也加上了+9V的电压,当然还需要一个稳压模块,我们采用7805来实现稳压的功能。
除此之外还有各种值的电阻和电容。
2.系统总体分析与设计
2.1 系统的开发目标
本系统的基本任务和目标就是利用PIC16F877单片机中的计时器TMR1所自带的低频时基振荡器(32768晶振),用来实现记录和计算真实的年、月、日、时、分、秒、的时钟功能。
然后将所记录的数据转换成数码管显示,同时通过单片机的相应引脚输出的控制信号来控制时间信号所显示的位置及光标的形态等。
从而达到将所计时间显示在数码管上面。
(注:由于实验设备和环境的原因,不能实现显示节假日、农历、节气以及闹铃等功能)
实现以上的任务需要几大模块:
①实现自动识别闰年,大小月份天数的算法。
②如何实现将所计的数字转换成数码管显示。
③怎样实现对电子时钟的时间调节。
2.2 关于此系统的背景知识
2.2.1 相关的单片机知识简介
TMR1和TMR0一样,既可作为时间定时器又可当作事件计数器。
但它是一个16位宽的上升沿触发的累加计数“寄存器对”即TMR1HH和TMR1L。
与它相关的寄存器有6个如表2.1所示
表2.1:与TMR1模块相关的寄存器(阴影部分表示没有用到的寄存器)
表2.2:TRMR1控制寄存器T1CON
其中TMR1控制寄存器T1CON 是一个只用到低6
位的可读/写寄存器。
最高2外位未用,读出是返回0,其余各位的含义如下:
● TICKPS1~T1CKPS0:分频器分频比选择位,如表2.3
表2. 3:分频器分频比
● T1OSCEN :TMR1自带振荡器使能位
◆ 1允许TMR1振荡器起振;
◆ 0禁止TMR1振荡器起振,令非门的输出端成高阻态。
● T1SYNC :TMR1外部输入时钟与系统时钟同步控制位。
□ TMR1工作于计数器方式(TMR1CS=1时):
◆ 1=TMR1外部输入时钟于系统时钟不保持同步;
◆0= TMR1外部输入时钟于系统时钟保持同步;
□ TMR1工作于定时器方式(TMR1CS=0时):
◆该位不起作用。
●TMR1CS:时钟源选择位。
◆1=选择外部时钟源,即时钟信号来源于外部引脚或自带振荡器;
◆0=选择部时钟源(fosc/4=TCYC指令周期).
●TMR1ON: TMR1使能控制位
◆1=开启TMR1,使TMR1进入活动状态;
◆0=关闭TMR1,使TMR1退出活动状态,以节省能耗.
2.2.2相关的数码管知识
(A)数码管的外部结构
数码管是一种半导体发光器件,其基本单元是发光二极管。
(实物参照图片)。
图2.1:数码管的实物图
(B)数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
(C)数码管的驱动
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显
示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
(D)数码管参数
8字高度:8字上沿与下沿的距离。
比外型高度小。
通常用英寸来表示。
围一般为0.25-20英寸。
长*宽*高:长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。
时钟点:四位数码管中,第二位8与第三位8字中间的二个点。
一般用于显示时钟中的秒。
(E)数码管应用
数码管使用的电流与电压
电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。
电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。
恒流驱动与非恒流驱动对数码管的影响
①显示效果
关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。
另外,当温度变化时驱动芯片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。
②安全性:
即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。
另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。
超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室看到故障显示。
3.系统结构及功能的实现
3.1系统的基本结构
电子时钟是用于计算时间并显示时间的一种计时器,时间的值是不断变化的。
所以它最起码的结构应有时间计数器、显示器、以及一些外部电路所需元件。
这里的时间计数器我们用PIC16F877单片机代替,同时兼作信号输入输出控制器,显示器用数码管显示。
其电路图如下:
图3.1:系统结构电路图
3.2系统功能的实现
电子时钟是一种自动计时器,但它必须的按照相应的历法规则来计时。
规则如下:i.一年12个月闰年366天,平年365天;
ii.一月31天,平年二月28天(闰年二月29天),三月31天,四月30天,五月31天,六月30天,七月31天,八月31天,九月30天,十月31天,十一月30天,十二月31天;
iii.当年数为四的倍数,且不是一百的倍数时,当年为闰年,全年366天,二月为29天,其余各月不变。
否则为平年。
iv.当年数为一百的倍数,且不是四百的倍数时,当年为平年,否则为闰年。
v.一天24个小时,每小时60分钟,每分60秒。
以上是最基本的历法,由于条件和时间有限,至于节气、礼拜天等我们不考虑在,系统完全是自动计算时、分、秒、日期、月份及年份。
中间不需要人工去完成,因此,我们就必须做出相应的算法来控制数码管显示对应的码段。
设计步骤如下:
步骤一:选择芯片
根据实际情况和设计要求选取合适的单片机,这里选用Microchip公司的P16F877芯片(PIC单片机可以在MPLAB-ICD演示板上实现),因为它的定时器1可以用作实时时钟RTC。
步骤二:确定时间的调整方法
按键分别用RB0和RB7口,采用中断方式
RB0:用来选择调整对象,并用指示灯作出相应指示
RB7:对选择的对象进行调整
使用方法:在初始状态,RD7指示灯点亮,此时没有选择调整对象。
当按一次RB0后,RD6指示灯点亮,此时可以用RB7对年份进行调整;同理,可以用RB0依次选中月,日,星期,时,分和秒,指示灯也会依次指示
步骤三:定义寄存器
秒寄存器: SECOND 六十进制有0状态
分寄存器: MINUTE 六十进制有0状态
时寄存器: HOUR 二十四进制有0状态
星期寄存器:WEEK 八进制无0状态
日寄存器: DAY 根据年月确定进制(进制寄存器COUNT_D)无0状态
月寄存器: MONTH 十三进制无0状态
初始默认时间为2004/01/02 FRI 00:00:00
及SECOND=0,MINUTE=0,HOUR=0,WEEK=5,
DAY=2,MONTH=1,YEAR=4,COUNT_D=32
进位寄存器:CARRY
Bit4:月进位标志位 Bit3:日进位标志位
Bit2:时进位标志位 Bit1:分进位标志位
Bit0:秒进位标志位
当有进位时在相应位上置1
确定一个月的天数的寄存器:CARRY_DAY
Bit3:当月份(MONTH)为1,3,5,7,8,10或12时该位置‘1’,1,2位置‘0’
Bit2:当月份(MONTH)为4,6,9或11时该位置‘1’,1,3位置‘0’
Bit1:当月份(MONTH)为2时该位置‘1’,2,3位置‘0’
Bit0:当为闰年(能被四整除)时该位置‘1’,(只要YEAR的0,1位为0,便能整除)
1,3,5,7,8,10,12月为31天; 4,6,9,11月为30天
对象标志寄存器:CON_OBJ 它是用来标记所要调整的对象的
Bit7:表示没有选择任何对象 Bit3:把星期作为当前调整对象
Bit6:把年作为当前调整对象 Bit2:把时作为当前调整对象
Bit5:把月作为当前调整对象 Bit1:把分作为当前调整对象 Bit4:把日作为当前调整对象 Bit0:把秒作为当前调整对象
步骤四:设置TMR1,产生1s 脉冲
利用定时器1自带的振荡器,在外加上32768Hz 的晶振,设预分频比为1:1,TMR1H 初始值设为80H ,TMR1L 初始值设为0H ,此时便能产生1s 钟的实时时钟脉冲
步骤五:画框图
.
秒 N Y
.
N Y
分
N Y
时
word版本.
Y
星
期
日
N 月
Y
年
word版本.
word
word版本.
word版本
入口:YEAR 出口:YEAR_H,YEAR_L
word 版本.
入口:MONTH 出口:MONTH_H,MONTH_L
入口:DAY 出口:DAY_H,DAY_L 入口:HOUR 出口:HOUR_H,HOUR_L
入口:MINUTE 出口:MINUTE_H,MINUTE_L 入口:SECOND 出口:SECOND_H,SECOND_L
word
入口:
BCD_H , BCD_L 出口:ASCII_H , ASCII_L
入口:WEEK 出口:WEEK1,WEEK2,WEEK3
入口:W 出口:W 入口:W 出口:W
入口:W 出口:W 入口:W 出口:W
word版本.
b
a
word 版本.
C d
显示:
e
f
步骤六:编程
-----------PIC----------
LIST P=16F877
#INCLUDE<P16F877.INC>
SECOND EQU 20H
MINUTE EQU 21H
HOUR EQU 22H
WEEK EQU 23H
DAY EQU 24H
MONTH EQU 25H
YEAR EQU 26H
COUNT_D EQU 2BH
CARRY EQU 2EH
CARRY_DAY EQU 2FH
ACCBLO EQU 30H ;存放被转换的数ACCDHI EQU 31H ;转换后的数TEMP EQU 32H ;临时寄存器COUNT EQU 33H
NO_BCD EQU 34H
BCD_L EQU 35H
BCD_H EQU 36H
BCD EQU 37H
ASCII_H EQU 38H
ASCII_L EQU 39H
YEAR_H EQU 3AH
YEAR_L EQU 3BH
MONTH_H EQU 3CH
MONTH_L EQU 3DH
DAY_H EQU 3EH
DAY_L EQU 3FH
HOUR_H EQU 40H
步骤七:调试
在软件仿真时,将不必要的子程序和延时程序注释掉,运用异步信号激励和引脚连续激励分别模拟RB0,RB7和RC0输入,(在Debug →Simulator Stimulus →Asynchronous 和Debug →Simulator Stimulus →ClockSrimulus,详见由北航出版的《PIC 单片机使用教程—基础篇》附录M ),这时单步运行,观察与时间相关寄存器的变化。
在硬件测试时,第一是让它正常显示,第二是检测按键是否能完成设计功能,第三监测各位的进位是否正常,特别是每个月的天数。
在测试中一定要讲究方法,比如:当检测小时的进位时,我们可以先把时间调成23:59:xx ,这样就省时多了。
当硬件测试无误后,我们将考虑怎样来减小误差。
产生误差的原因主要是由硬件和软件引起的。
减小误差的方法有两种:一种是通过调整TMR1H 和TMR1L 的初始值,另一种侧是采取修正来解决。
ORG 000H
GOTO MAIN ORG 004H → BTFSC PIR1,TMR1IF → GOTO COUNT_TIME BTFSC INTCON,INTF GOTO KEY_CON BTFSC INTCON,RBIF GOTO KEY_MODIFY 。
;**********************************
; 时钟中断
;*** ****************************** COUNT_TIME:
→ BCF
PIR1,TMR1IF → BCF
T1CON,TMR1ON
→ MOVLW 0X80
→ MOVWF TMR1H → CLRF TMR1L → BSF
T1CON,TMR1ON。
当定时器发生中断后,首先将运行“→”标记的语句,然后才能重新开始计数,这样便产生了误差,可以计算出误差为每秒-10us 。
在这我们一定要注意一点,如果时钟中断运行时间超过1s 时,误差就难以计算了。
由于我们使用的32.768KH 晶振,其周期为30.5176us,所以每一个单位初装值便为30.5176us ,大于了10us ,所以不能用调整TMR1H:TMR1L 的方法,因此只能进行修正。
经过计算,每周误差为-10*60*60*24*7=-6.048s,所以每周补偿6s 几乎就能修正。
这个设计的程序很繁琐,所以在调试时一定要非常的耐心。
总 结
通过开发本系统,我对单片机编程有了更深刻的理解。
如果在开发前对整个开发工作做出全面的规划及系统分析,开发过程就会很容易;否则会遇到许许多多的问题,影响系统开发进程。
在一开始我没有进行系统规划,没有确定系统的具体功能;便在开发过程中浪费了很多时间。
后来经过辅导教师的指点及其规划分析,明确了系统的基本功能。
有了明确的思路就不会在开发过程中东想西想而浪费精力,使得后来的开发进行得很顺利。
但毕竟还是初次接触到应用程序的开发,而在以前学过的东西也没有能很好的掌
握,所以这个系统也不是非常的理想,还存在着很多的不足,版本还很低,没有更好的实现系统功能。
希望以后能有更多的人来完善它,让它更好的为同学服务。
经过这次程序开发我对单片机设计有了一个更新的认识,同时又比以前更熟练地掌握了这门技术,这对毕业以后的竞争有了更好的帮助。
致
时光荏苒,三年的大学生活在忙忙碌碌中结束,期间无论是在学习中还是在生活中都得到了老师和同学的大力帮助。
尤其是在毕业设计的制作过程中,导师王桂花老师对我自始自终悉心教导、不断鼓励、一直督促我学习和制作,使我能够顺利完成毕业设计,也教给了我很多新的知识,令我获益匪浅。
她严谨的治学态度深深的影响着我,让我受益一生,不论是工作还是生活中。
同时我还要感协助我做毕业设计其他老师,正是我和他共同努力的结果才使得这个开发项目得以顺利完成。
另外,在作设计的过程中,经常
要到图书室查阅资料,感图书室老师为此提供的方便。
在此对汪光宅老师、以及给我提供帮助的其他老师和同学致以诚挚的意。
祝你们工作顺利,身体健康!
!
参考文献
[1] 学海编.PIC单片机实用教程——基础篇.:航空航天大学,2002年2月第一版.
[2] 学海编.PIC单片机实用教程——提高篇.:航空航天大学,2002年2月第一版.
[3]朗腾电子和太阳人电子的数码管的知识。