![毕业设计基于单片机的时钟设计_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/78b7a8b8-e5c4-4b9b-867c-2db64f335c02/78b7a8b8-e5c4-4b9b-867c-2db64f335c021.gif)
![毕业设计基于单片机的时钟设计_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/78b7a8b8-e5c4-4b9b-867c-2db64f335c02/78b7a8b8-e5c4-4b9b-867c-2db64f335c022.gif)
![毕业设计基于单片机的时钟设计_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/78b7a8b8-e5c4-4b9b-867c-2db64f335c02/78b7a8b8-e5c4-4b9b-867c-2db64f335c023.gif)
![毕业设计基于单片机的时钟设计_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/78b7a8b8-e5c4-4b9b-867c-2db64f335c02/78b7a8b8-e5c4-4b9b-867c-2db64f335c024.gif)
![毕业设计基于单片机的时钟设计_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/78b7a8b8-e5c4-4b9b-867c-2db64f335c02/78b7a8b8-e5c4-4b9b-867c-2db64f335c025.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安交通大学本科毕业设计(论文)基于单片机的时钟设计摘要:近年来,单片机在各个领域得到广泛的应用。从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。在第一台微处理器成功研制不久,第一个单片机就问世了。因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。由于依靠PIC单片机可调数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。所以本毕业设计基于PIC16F877单片机内部的定时计数器、中断系统、以及行列键盘和LED显示器等部件,设计出一个具
2、有计时电路、复位电路、按键电路、LED显示电路、定时闹铃电路等外围电路简单的单片机电子时钟系统。最终通过PIC16F877单片机控制外围时钟电路,在proteus环境下画出电路图,在Mplab环境下通过按键启动等控制,实现计时,日期,闹铃,秒表等功能。关键字:PIC16F877单片机;时钟;中断系统;MplabAbstract:Single Chip Microcomputer has achieved a immemse popularity in all fileds in recent years.From industry to peoples common lives,most of
3、 technical applications are controlled by SCM. Before it appeared,the automatic devices couldt be widely used because of their huge size ,large quantity of power cost and high price.The first SCM appeared as soon as the first MCU(MicroController Unit) was successfully developed.Due to its small size
4、,low power cost and high performance,ithas been welcomed by people.By relying on PIC microcontroller adjustable a digital clock with the peripheral, constitute a programmable timer timing system, the advantages of small size, high reliability, the function is strong, etc the graduation design based
5、on the single chip microcomputer PIC16F877 internal timing/counters, interrupt system, and ranks keyboard and LED display unit etc, design a has the timing circuits and reset circuit, key circuit, LED display circuit, regular alarm circuit and other peripheral circuit is simple single-chip electroni
6、c clock system.Finally through the PIC16F877single-chip microcomputer to control the peripheral clock circuit, in the Proteus environment to draw circuit diagram, in the MPLAB environment through the start button control, realize the time, date, alarm clock, stopwatch functions.Keywords:PIC16F877;Cl
7、ock;interrupt system;Mplab目 录1 绪论51.1国内外现状51.2课题的研究意义51.3论文主要内容62 时钟实现的功能及设计方案82.1时钟的基本特点及原理82.2实现功能82.3时钟设计方案82.3.1显示电路模块92 .3.2 计时电路模块92.3.3按键电路模块92.3.4复位电路模块92.3.5定时电路模块92.3.6 输入模块92.4设计的计划及内容103 硬件设计113.1 PIC16F877原理简介11.1.1 PIC16F877特性113.1.2 特殊内嵌功能133.1.3 PIC16F877基本电路143.1.3 PIC16F877指令简介1732
8、原理图设计173.3功能电路分析183.3.1电源电路部分183.3.2复位电路183.3.3 时钟电路193.3.4 键盘电路203.3.5 LED显示电路213.3.6蜂鸣器电路224 软件设计234.1流程图234.1.1主程序流程图234.1.2时钟计时子程序流程图234.1.3键盘扫描子程序流程图244.2源程序255 仿真275.1 Protues软件简介275.2 Mplab IDE软件简介275.3软件调试285.4 电路功能仿真285.4.1具体的仿真步骤:295.4.2 仿真结果及分析296 结 论30致 谢31参 考 文 献32附录331 绪论1.1 国内外研究现状单片机
9、自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为冯.诺伊曼结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,即哈佛结构,一般需要较大的程序存储器,目前的单片机
10、以采用程序存储器和数据存储器截然分开的结构为多。根据程序存储方式的不同,单片机可分为EPROM、OTP(一次可编程)、QTP(掩膜)三种。我国一开始都采用ROMless型单片机(片内无ROM,需片外配EPROM),对单片机的普及起了很大作用,但这种强调接口的单片机无法广泛应用,甚至走入了误区。如单片机的应用一味强调接口,外接I/O及存储器,便失去了单片机的特色。目前单片机大都将程序存储体置于其内,给应用带来了极大的方便。本文讨论的单片机PIC16F877可调数字钟系统设计的核心是目前应用极为广泛的PIC系列单片机,可调数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,
11、功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。1.2 课题的研究意义电子时钟有着很长的历史,在1957年,Venbtura发明了世界上的第一块电子表后,他就奠定了电子时钟的基础,电子时钟开始迅速地发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活不可缺少的工具。数字式电子钟用单片机控制,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行
12、时和分的校对,片选的灵活性好。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。这几年,国内的市场正在急剧地膨胀。根据国外的统计数据显示出,发达国家的每个人一生中平均拥有手表23块,在发展国家中,每人一生平均拥有手表是12块,而目前在中国的城镇每人一生拥有的手表还没有超过6块,因此在中国的发展的空间是很大的。现在社会中,大量地投入生产的时钟大多为智能时钟,其功能更加全面并不断得到发展,但是其价格相对比较昂贵。所以,采用一种控制方便,价格便宜的电子时钟是很有必要的。基于PIC单片的电子时钟,外围电路简单易于实现,性
13、价比高,是实现电子时钟的不错选择。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。该电子时钟由PIC16F877,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中四个控制键和一个复位键却拥有多种
14、不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。1.3 论文主要内容本文共分为5章,第1章先简略单片机的发展以及它广泛的应用,介绍了时钟的发展,相比于机械时钟,电子时钟的优点以及采用PIC16F877单片机实现电子时钟功能的意义。第2章介绍了时钟的基本特点与原理,基于PIC单片机所要实现的电子时钟功能以及设计方案和所采用的方法。第3章介绍了PIC16F877单片机,对单片机的基本结构及功能部件进行了整体的描述。介绍了基于PIC单片机实现电子时
15、钟功能硬件部分的设计,包括时钟电路,复位电路,按键电路,LED显示电路,蜂鸣器电路等。第4章介绍了PIC单片机电子时钟软部分的设计,其中包括用C语言编写的控制时钟功能的主程序和各子程序,以及主程序流图和各子程序流图。第5章介绍了proteus和mplab仿真软件并对PIC单片机控制的电子时钟进行必要的仿真、测试,记录结果并进行分析,改进。第6章对本文从整体上进行阐述,并对论文在完成过程中所遇到的各种问题进行总结。12 时钟实现的功能及设计方案2.1 时钟的基本特点及原理现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方
16、便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。该电子时钟不但具有显示时、分、秒的作用,而且用按键还可以实现时间的调整和闹铃的设定以及日期的显示与调整。本次综合实践完成了在单片机数据采集与定时系统的硬件电路设计后的基础上,在mplab环境下编译程序,在proteus软件实现电路图的制作,并最终实现PIC单片机控制下电子时钟的功能仿真。2.2 实现功能现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过
17、计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。此课程设计要求用PIC16F877单片机控制外围模块,包括按键电路,复位电路,时钟电路,蜂鸣器电路以及LED数码管显示电路,设计一个能显示时、分、秒,日期,定时等功能的数字时钟。数字时钟通过数码管显示,使用按键开关来实现调时功能。2.3 时钟设计方案该数字时钟由PIC16F877单片机控制,由LED数码管、按键、三极管、发光二极管等部件组成,构成了包括显示电路模块,计时电路模块,按键电路控制模块,复位电路模块,定时闹铃电路模块。能实现时间的调整、定时时间的设定,输出等功能。其
18、中包括4个控制按键SW1,SW2,SW3,SW4,一个复位键SW0,SW1为功能切换键,SB2为不管进入何种状态皆可以使被调整位进行不进位增量加1变化按键。SB3进入各路定时调整状态按键,SB4为年月日显示转换键,可使原来显示时分秒转换显示年月日。定时器调整功能键根据所需要显示的系统的功能选择由SW0、SW1、SW2、SW3、SW4完成。2.3.1 显示电路模块显示部分是整个电子时钟最为重要的部分,设计选择6段 LED数码显示管,采用动态显示方式,所谓动态显示方式是时间数字在LED上一个一个逐个显示,它是通过位选端控制在哪个LED上显示数字,由于这些LED数字显示之间的时间非常的短,使的人眼看
19、来它们是一起显示时间数字的,并且动态显示方式所用的接口少,节省了CPU的管脚。由于端口的问题以及动态显示方式的优越性,在此设计的连接方式上采用共阴极接法。显示器LED有段选和位选两个端口,首先说段选端,它由LED八个端口构成,通过对这八个端口输入的不同的二进制数据使得它的时间显示也不同,从而可以实现我们所要显示时间,日期的功能。2 .3.2 计时电路模块时间的运行是依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位,24小时满后,天单元进位。2.3.3 按键电
20、路模块包括4个控制按键SW1,SW2,SW3,SW4,一个复位键SW0,根据所需要显示的系统的功能选择由SW0、SW1、SW2、SW3、SW4 完成。2.3.4 复位电路模块由复位键SW0和电容C3组成,由PIC单片机MCLR端口控制。端口电平低电平有效,实现复位。2.3.5 定时电路模块第一轮按动 SW1 依次进入一路、二路、三路定时时间设置提示程序,按SW3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。设置定时时间,运用单片机定时器,采用定时中断功能,实现定时。2.3.6 输入模块按SW0 进入调整状态。SW1 为功能切换键。第一轮按动 SW1 依次进入一路、二路、三
21、路定时时间设置提示程序,按SW3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入,继续按SB1 键,依次进入时间年位校对、月位校对、日位校对、时位校对、分位校对、秒位校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。系统外部中断后,电子时钟停止工作。手动调整时间,输入完毕,取消中断,时钟继续工作。2.4 设计的计划及内容(1)掌握PIC16877单片机工作原理及应用,并熟悉单片机的定时/计时、中断系统。(2)实现基于单片机内部计数器的数字时钟的设计,并完成数字电路图的绘制。(3)完成时、分、秒,日期显示及定时闹铃等的功能扩展,根据
22、自己能力再进行必要的扩充。(4)在proteus软件环境下,设计出硬件原理图。(5)完成单片机程序的编写并在mplab软件环境下进行汇编及必要的仿真。3 硬件设计3.1 PIC16F877原理简介.1.1 PIC16F877特性PIC16F877是由Microchip公司所生产开发的新产品,属于PICmicro系列单片微机,具有Flash program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD(In Circuit Debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。如图-1为P
23、IC16F877的40根接脚图,PDIP是指一般最常见的DIP(Dual In Line Package)包装,而PIC单片机也有PLCC(Plastic Leaded ChipCarrier)与QFP(Quad Flat Package)两种形式的包装,依照不同的需求,寻找不同的包装形式。如图所示,每根接脚都有其特定功能,例如Pin11与Pin32(VDD)为正电源接脚,Pin12与Pin31(VSS)为地线接脚;而有些接脚有两种甚至三种以上功能,例如Pin2(RA0/AN0)代表PORTA的第一支接脚,在系统重置(Reset)后,可自动成为模拟输入接脚,接收模拟讯号,也可经由程序规划为数字
24、输出输入接脚。图3-1 40引脚PIC16F877接脚说明PIC16F877属于闪控式(Flash)单片机,可以重复烧录,其ROM的容量总共是8K words,以2K为一个page,区分为4个pages;内部RAM总共有512个字节(00f1FFh),以128个字节为一个Bank,共区分为4个Bank,如图5所示,每个Bank的前半段都有其特殊用途,分别连接到其特殊功能模块,例如I/O、CCP、Timer、USART、MSSP等,如表3-2所示。图3-2 PIC16F877的RAM配置图3.1.2 特殊内嵌功能 PIC16F877属于内嵌功能较多的单片机,除了CPU、POM、RAM、I/O等基
25、本构造外,还包括以下各种功能,简介如下:A/D converter:模拟数字转换器,最多可以读取8组模拟输入讯号。CCP:Capture、Compare、PWM,用于控制直流马达。Timer,内部定时器,有Timer0、Timer1、Timer2等。USART:Universal Synchronous Asynchronous Receiver Transmitter,同步/异步串行传输,如RS232、RS485等。MSSP;Master Synchronous Serial Port,两线式(I2C)与三线式(SPI)标准同步串行传输协定,常用于EEPROM内存资料的烧录与读取,或是与其它
26、集成电路沟通与联系,形成多芯片网络。3.1.3 PIC16F877基本电路PIC16F877基本电路包括:PIC振荡频率电路;外加电源与重置电路;输入输出接口。(1)PIC振荡频率电路单片机振荡电路与整体系统工作速度有直接的关系,例如同步异步串行传输、定时器等,都与振荡频率有关,不同系列单片机有不同振荡频率,根据产品资料手册,PIC16F877振荡频率最高可到20MHz;在图.中,振荡电路接于Pin13(OSC1/CLKIN)与Pin14(OSC2/CLKOUT),而振荡电路有以下四种形式:LP:使用低功率振荡晶体(Low Power Crystal)XT:使用振荡器谐振器(Crystal/R
27、esonator)HS:使用高速振荡器(High Speed Crystal/Resonator)RC:使用电阻电容(Resister/Capacitor)一般常用振荡晶体或是谐振器作为单片机振荡源,外接电路及PIC内部电路说明如图-3所示。图中电容C1与C2规格大小是根据Crystal或Resonator而有所不同,表-4列出电容建议值,使用其它振荡源的电路说明请参考产品资料手册。图-3振荡源电路图(图片来源:Microchip PIC16F87X Data Sheet)表3-4建议电容值(2)外加电源与重置电路PIC16F877单片机的工作电压为5V,连接Pin11与Pin32,Pin12
28、与Pin31为地线接脚;重置电路连接Pin1,按下Reset后,内部指令重头开始执行,系统重新运作,如图3-5所示。图3-5电源与重置电路(3)输入输出接口PIC16F877除了上述基本电路所占用的7支接脚外,其余的33支接脚都可当成输出、输入接脚,输入输出端口是单片机基本界面,可以与周边电路进行电路控制和信号传输与检测。PIC是8位的单片机,以接脚特性分组,每组尽量凑满8支接脚,并将I/O命名为PORTA(RA0RA5)、PORTB(RB0RB7)PORTC(RC0RC7)、PORTD(RD0RD7)和PORTE(RE0RE2)等,各分组接口特性说明如下:PORTAPIC16F877的POR
29、TA总共有6个位(RA0RA5),PORTA的接脚可作为数字输出输入端口,而系统重置后,PORTA自动成为模拟输入状态,可读取模拟输入讯号。PORTBPORTB总共有8个位(RB0RB7),可以撰写程序规划输入输出方向、状态,其中,要进行烧录时,使用到三支接脚,分别是Pin36(RB3/PGM)、Pin39(RB6/PGC)与Pin40(RB7/PGD)。PORTCPORTC总共有8个位(RC0RC7),除了可作为数位I/O外,还和一些特殊功能的周边电路共享接脚,例如CCP(直流马达控制)、I2C、SPI(同步串行通讯电路)、UART(异步串行传输电路)等等。PORTDPORTD总共有8个位(
30、RD0RD7),可作一般数字I/O,并与PSP(Parallel Slave Port)并列传输接口共享。当整体系统需要多单片机时,彼此可以经由并列传输接口来快速传输资料。PORTEPORTE总共有3个位(RE0RE2),PORTE的Pin8、9、10有三种功能,除了基本I/O功能,也有模拟输入功能,而上述PORTD的并列传输接口设定所需的控制接脚,如/RD、/WR、/CS等,也是属于PORTE接脚。3.1.3 PIC16F877指令简介PIC16F877常用的语言有汇编语言与C语言两种,汇编语言是将每一个机器码使用一个文字代号代表,比较接近处理器真正动作模式;而C语言是比较符合人们的使用习惯
31、,事先将汇编语言组合成C语言形式,使用较为方便,但是C语言所组译的机器码程序通常比较大,且组译软件通常需要额外购买。以下简介汇编语言相关指令与一套C语言组译软件。PIC是采用RISC(Reduced Instruction Set Computing,精简指令集),与8051系列采用的CISC(Complicated Instruction Set Computing,复杂指令集)不同,PIC16F877所有指令指有35个,8051高达111个指令。32 原理图设计本次毕业设计:j基于单片机的时钟电路的电路图,在proteus环境下设计。所需要的元器件为:PIC16F877芯片 1个6位7段显
32、示数码管 1个电容 3个电阻 20个晶振 1个按钮开关 5个三极管 6个LED二极管 1个蜂鸣器 1个图3-1原理图设计3.3 功能电路分析3.3.1 电源电路部分在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子设备唯一能量来源,它的设计思路是根据我们以前学过的模电电子技术,要想得到我们所要的+5V输出电压,就需将交流220V的电压经过变压器、整流电路、滤波电路和稳压电路四个部分。 3.3.2 复位电路计算机在启动运行时都需要复位,复位时使中央处理器CPU和内部其他部件处于一个确定的初始状态,从这个状态开始工作。PIC16F877单片机有一个复位引脚MCLR,低电平有效。在时钟电路
33、工作以后,当外部电路使得MCLR端出现两个机器周期(24个时钟周期)以上的低电平,系统内部复位。复位有两种方式:上电复位和按钮复位1。在此次的设计中,我采用按键复位。只要保持低电平MCLR,PIC16F877单片机将循环复位。当单片机执行程序出错或进入死循环时,可按复位按钮重新启动。电路图如图3-2所示。图3-2 复位电路图3.3.3 时钟电路本次设计的时钟电路由PIC单片机的振荡器及其外部设备组成,依靠单片机内部产生的振荡时钟信号,来实现时钟功能。PIC16F877单片机中有一根振荡器输入引脚OSC1/CLKIN和一根振荡器输出引脚OSC1/CLKOUT,由于PIC单片机可以采用不同的振荡器
34、,这样使这两根引脚可以有不同的功能。采用晶体振荡器或陶瓷谐振器,将晶体振荡器的两引脚直接接入OSC1/CLKIN和OSC1/CLKOUT;当采用外部振荡器时,将 OSC1/CLKIN作为输入,OSC1/CLKOUT开路;当采用RC振荡器时,OSC1/CLKIN作为输入,OSC1/CLKOUT作为4分频信号输出1。在本次设计中,时钟电路设计采用标准晶体振荡XT方式, PIC16F877单片机内部有一个用于构成振荡器的高增益反相放大器。引脚OSC1和OSC2是高增益反相放大器的输入端和输出端。这个高增益反相放大器将与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体振荡器以及电容C1和C
35、2构成并联谐振电路,接在放大器的反馈回路中,对外接电容的值虽然没有严格的要求,但是电容的大小会影响起振的快速和温度的稳定性、振荡器的稳定性、振荡器频率的高低。因此,此系统电路的晶体振荡器的值为4MHz,电容应尽可能的选择陶瓷电容,电容值约为30pF1。其电路图如图3-3所示。图3-3 时钟电路3.3.4 键盘电路本次设计的键盘电路是4个键盘按钮控制PIC单片机的B端口RB5,RB4,RB2,RB1从而实现对各个电路模块的功能控制。系统的功能选择由SW1,SW2,SW3,SW4完成,分别连接着RB5,RB4,RB2,RB1。SW1 为功能切换键。第一轮按动 SW1 依次进入一路、二路、三路定时时
36、间设置提示程序,按SW3 进入各路定时调整状态。定时时间到,LED二极管发亮,到了关断时间后灭掉。如果不进入,继续按SW1 键,则依次进入时间年位校对、月位校对、日位校对、时位校对、分位校对、秒位校对状态。不管是进入那种状态,按动SW2 皆可以使被调整位进行不进位增量加1 变化。各预置量设置完成后,系统将所有的设置存入RAM 中,按SW1 退出调整状态。上电后,系统自动进入计时状态,起始于00 时 00 分。SW 4为年月日显示转换键,可使原来显示时分秒转换显示年月日。电路图如图3-4所示。图3-4 按键电路3.3.5 LED显示电路本次设计的LED显示电路采用PIC单片机的I/O引脚直接驱动
37、6位7段LED显示数码管,从而实现时间,日期的显示功能。显示部分是整个电子时钟最为重要的部分,本次设计选择6位7段LED显示数码管。采用动态显示方式,所谓动态显示方式是时间数字在LED上一个一个逐个显示,它是通过位选端控制在哪个LED上显示数字,由于这些LED数字显示之间的时间非常的短,使的人眼看来它们是一起显示时间数字的,并且动态显示方式所用的接口少,节省了CPU的管脚。由于端口的问题以及动态显示方式的优越性。LED数码管根据LED的接法不同分为共阴极和共阳极两类,将多只LED的阴极连在一起即为共阴极,而将多只LED的阳极连在一起即为共阳极,在本此电路设计的连接方式上采用共阴极接法1。显示器
38、LED有段选和位选两个端口,首先说段选端,它由LED八个端口构成,通过对这八个端口输入的不同的二进制数据使得它的时间显示也不同,从而可以得到我们所要的时间及日期显示。电路图如图3-5所示。图3-5显示电路3.3.6 蜂鸣器电路本次设计的蜂鸣器电路由一个LED二极管和一个蜂鸣器组成,由PIC单片机输入/输出端口控制,定时时间到,LED二极管发光,蜂鸣器响,时间过,LED二极管灭,蜂鸣器停止响声。电路图如图3-6所示。图3-6 蜂鸣器电路4 软件设计4.1 流程图4.1.1 主程序流程图主程序主要有两部分组成:首先接通电源后,系统开始对端口、显示、TMRO进行初始化;然后依次运行各个子程序,从键盘
39、扫描子程序开始,直到显示子程序运行完之后,跳转到键盘扫描子程序进行循环操作,流程图如图4-1所示。4.1.2 时钟计时子程序流程图若中断次数等于100,进行秒加1操作,若秒>=60,进行分加1操作,否则返回中断;若分>=60,进行时加1操作,否则返回中断;若时>=24,进行天价1操作,否则返回中断;若天>=31,进行月加1操作,否则返回中断;若月,进行年假1操作,然后返回中断循环。流程图如图4-2所示。图4-1 智能钟主程序流程图图 图4-2 时钟计时子程序流程图4.1.3 键盘扫描子程序流程图键盘扫描子程序:首先进行判断RB1操作,若RB1=0,则进行10ms延时操作
40、,否则返回;10ms延时后继续判断RB1操作,若RB1=0,则进行10ms延时,否则返回;10ms延时后,判断RB1,若RB1=1,则进行10ms延时,否则重复判断RB1操作;10ms延时后,继续判断RB1操作,若RB1=1,则返回键操作值,否则返回第一步判断RB1操作。图4-3键盘扫描流程图 4.2 源程序/main.c文件,主程序。#include <stdio.h>/标准输入输出库#include <pic.h>/PIC单片机自带的库#include "shizhong.h"/自己定义的头文件/定义程序中用到的相关全局变量int year;si
41、gned char month,day,hour,minu,sec,week;uchar count; uchar miao_ge,miao_shi,fei_ge,fei_shi,shi_ge,shi_shi;uchar day_ge,day_shi,month_ge,month_shi,year_ge,year_shi,year_bai,year_qian;uchar keyword,sw1_press_num,sw4_press_num;uchar hour_alarm,minu_alarm;uchar alarm_hour_shi,alarm_hour_ge,alarm_minu_shi
42、,alarm_minu_ge;uchar alarm_stop;uchar sw_minu,sw_sec,sw_count;uchar sw_minu_shi,sw_minu_ge,sw_sec_shi,sw_sec_ge,sw_count_shi,sw_count_ge;uchar sw2_press_num;uchar watch_stop;signed char djs_hour,djs_minu,djs_sec,djs_count;uchar djs_hour_shi,djs_hour_ge,djs_minu_shi,djs_minu_ge,djs_sec_shi,djs_sec_ge
43、;uchar djs_start;/主程序void main(void)TMR0=100; /开启TMR0中断并赋初值 TMR0_INIT(); /定时器0初始化Time_init(); /时间初始化PORT_INIT(); /端口初始化 while(1) Time_Tran(); /调用个十位分离函数Time_Dis(); /调用时间显示函数keyword=Keyscan();/调用键盘扫描函数Sw1_Press(); /调用按键1计数函数Set_Clock(); /调用时间设计函数Sw4_Press(); /调用按键4计数函数Alarm(); /调用闹钟函数Alarm_Speaking()
44、; /调用闹钟报警函数StopWatch(); /调用秒表函数Daojishi(); /调用倒计时函数5 仿真5.1 Protues软件简介Proteus软件是英国Labcenter electronics公司出版的EDA工具。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计
45、。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计软件,它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外
46、围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大4。本章介绍Proteus ISIS软件的工作环境和一些基本操作。5.2 Mplab IDE软件简介Mplab 集成开发环境(IDE)是综合的编辑器、项目管理器和设计平台,适用于使用Microchip 的PICmicro® 系列单片机进行嵌入
47、式设计的应用开发。也是适用于PICmicro® 系列单片机和dsPICTM 数字信号控制器,基于Windows® 操作系统的集成开发环境2。它提供了以下的一些功能:使用内置编辑器创建和编辑源代码。汇编、编译和链接源代码。通过使用内置模拟器观察程序流程调试可执行逻辑;或者使用Mplab IDE 2000和 Mplab IDE 4000 仿真器或MPLAB IDE 2 在线调试器实时调试可执行逻辑。用模拟器或仿真器测量时间。在观察窗口中查看变量。使用 MPLAB ICD 2、PICSTART®Plus 或 PRO MATE®II器件编
48、程器烧写固件。使用MPLAB IDE 丰富的在线帮助快速找出问题的答案。5.3 软件调试打开MPLAB IDE软件,在MPLAB环境下,点击“File”中的“New”,开始编写程序,编写完成后,保存。然后点击“Project”创建工程文件,创建完成后对编写好的程序进行编译,编译成功后创立成“*hex”文件。将最终生成的“*。hex”写入PIC单片机后进行调试仿真。5.4 电路功能仿真在proteus环境下绘制好原理图,将在MPLAB IDE环境下已编译好的目标代码文件:*.HEX,调入模拟电路板的PIC16F877单片机中,之后选择proteus ISIS的仿真运行控制按钮中的“Play”键,
49、就可以在proteus ISIS的原理图中看到模拟的实物运行状态和过程2。5.4.1 具体的仿真步骤:(1)在MPLAB IDE软件中编写C语言程序,编写完成后,给程序创建工程,之后再MPLAB IDE环境下进行编译,生成“*hex”文件。(2)打开PROTEUS的ISIS软件,新建电路图文件,保存文件。在保存文件过程中,其扩展名默认。(3)选择“源代码”中的“添加/移除源代码”,单击“新建”,加入“.asm”,确定。(4)在PROTEUS电路图中,双击PIC16F877单片机芯片,在属性对话框中的program file框中选择下载到单片机芯片中的程序。这个程序是在MPLAB环境下编译,生成
50、的“*.hex”文件。(5)单击“源代码”中的“全部编译”,无错误后,调试。(6)单击仿真运行按钮play,运行程序。可通过LED显示屏看到相应的结果。5.4.2 仿真结果及分析在Mplab环境下,编译程序,调试,最终写入PIC16F877单片机芯片中,按下“run”按钮,进行仿真,所得结果如图所示:虽然经过好多次的调试,但由于程序的原因,最终没能成功的实现电路的仿真。6 结 论在本次课题设计中,我最终设计的数字时钟由PIC16F877单片机控制,系统由PIC16F877、LED 数码管、按键、发光二极管等部分构成,构成了包括显示电路模块,计时电路模块,按键电路模块,复位电路模块,定时闹铃电路
51、模块。能实现时间、日期的调整、定时闹铃的设定,输出等功能。在proteus软件环境下设计出硬件电路图,在Mplab软件环境下编译C语言程序,并进行了调试,仿真。虽然最终由于程序问题没能成功的实现仿真,但我还是基本实现了设计目的:掌握PIC单片机的原理以及基于PIC单片机的时钟功能设计,对仿真软件Mplab、proteus的熟练掌握以及加深对C语言编程的熟悉。由于以前从没有接触过PIC单片机,所以刚开始的时候,心里还是非常的没有底,但是还好我们以前学习过MCS-51单片机,所以我就从MCS-51单片机入手,在网上,图书馆搜集了大量的资料,比较MCS-51单片机和PIC单片机相同的地方和不同的地方
52、,参考以前学过的MCS_51单片机的知识来掌握PIC单片机的基本原理。从设计开始到最终完成设计,都是在一点一滴积累。在设计的前期,我先系统的学习了MCS_51单片机的相关资料,掌握了单片机外部电路的合理设计以及各个引脚的功能,然后对比着学习PIC单片机,通过对比我发现,51与PIC的在原理与编程方面有着类似的地方,尽管它的的指令系统不同,但它们基本思想是相同的。之后我系统的进行电子时钟的需求分析,合理的设计出了电路原理框图,根据原理框图设计出电路原理图,针对使用的单片机引脚,对单片机使用C语言编程。这一步一步的努力,让我学到了很多在书本上学不到的东西,尤其是在动手设计电路,修改编译程序,处理电
53、路故障等方面使我受益颇多。在毕业设计中,我深深感受到实践的重要性,它是检验我们所学知识的有效途径。以前都只是学习书上的死知识,既感觉没有意思,而且觉得所学的只是没有什么用。通过这次基于单片机的时钟设计,让我真正感觉到了学有所用,而且设计中有好多都是新的东西,这样不但拓宽了自己的知识,好增强了自学能力。当然,在设计过程中也遇到了很多问题,尤其在调试仿真的过程中,有好多次都不成功,经过自身的努力以及向同学请教,我学到很多,也解决了很多问题。最后,在这次的毕业设计中,我深深的感受:无论起初你感觉有多么难,都不要去害怕,多搜集资料,整理资料,多请教同学和老师,明确目标,整理思路,然后做一个系统的规划,
54、然后耐心,认真的去做,最后所有的问题都会迎刃而解的。致 谢在做毕业设计的这段时间里,由于我对PIC单片机,Mplab软件以前接触甚少,使得我在设计电路,仿真、测试等方面遇到过很多的难题,也产生过很多的疑问。但在老师和同学们的帮助以及自己的不断努力下,终于成功地完成了对PIC单片机和Mplab软件的学习。在这里,我要首先感谢刘峰和高理老师们给我的支持、鼓励和帮助。在我遇到问题的时候,他们总是很耐心地给我们指点迷津,提出建议,帮助我找到一条清晰的思路。在学习过程中,老师以其严谨求实的治学态度,高度的敬业精神,孜孜以求的工作作风和大胆创新的进取精神对我们影响很大。他们渊博的知识,开阔的视野和敏锐的思
55、维让我们敬佩不已。通过本次毕业设计,使我认识到我对单片机方面的知识知道的还是太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。幸运的是,在指导老师刘峰和高理精心指导和严格要求下,最终获得了很多的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。另外,此次毕业设计还获得了工程系各位领导和老师的大力支持,在此我表示衷心的感谢。参 考 文 献1彭树生.PIC单片机原理与接口技术M.北京:电子工业出版社,2008.42神崎康宏.PIC单片机应用M.杨晓梅、冯仁剑 译.北京:科学出版社,2011.13周坚.PIC单片机轻松入门M. 北京:北京航空航天大学出版社,2009.74朱清慧.Proteus显示控制系统设计与实例M. 北京:清华大学出版社, 2011.55段晨东.单片机原理及其接口技术M. 北京:清华大学出版社,2008.76后闲哲也.PIC单片机C程序设计与实践M.常晓明 译.北京:北京
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代信息技术在城市公共安全中的重要作用
- 现代教育中系统性能监控的应用
- 吊装危险作业方案
- 7《什么比猎豹的速度更快》(说课稿)-2024-2025学年统编版语文五年级上册
- 27纪昌学射(说课稿)2024-2025学年四年级上册语文统编版
- 8卖火柴的小女孩 第二课时 说课稿 -2024-2025学年语文三年级上册统编版
- 5《走近我们的老师》说课稿-2024-2025学年道德与法治三年级上册统编版
- Unit4 Then and Now(说课稿)-2024-2025学年译林版(三起)英语六年级上册
- 2024年六年级品社下册《走出国门》说课稿 山东版
- 4我们的公共生活(说课稿)-2023-2024学年道德与法治五年级下册统编版
- 基于单片机的交通灯控制系统设计毕业论文
- 2024年执业医师考试-医师定期考核(口腔)笔试参考题库含答案
- 中国律师学 课件 陈卫东 第10-17章 律师收费制度-律师非诉讼业务(二)
- 宫颈癌后装治疗及护理
- 2024年度-IATF16949运行培训课件
- 理解师生关系的重要性
- 统编版语文八年级下册第7课《大雁归来》分层作业(原卷版+解析版)
- 2024年湖南省普通高中学业水平考试政治试卷(含答案)
- 零售企业加盟管理手册
- 设备维保的维修流程与指导手册
- 招标代理服务的关键流程与难点解析
评论
0/150
提交评论