当前位置:文档之家› 电子时钟的设计论文

电子时钟的设计论文

电子钟的设计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。

相关主题