毕业论文-基于PIC的电子表设计与实现08463.doc

上传人:韩长文 文档编号:3943032 上传时间:2019-10-10 格式:DOC 页数:37 大小:298.52KB
返回 下载 相关 举报
毕业论文-基于PIC的电子表设计与实现08463.doc_第1页
第1页 / 共37页
毕业论文-基于PIC的电子表设计与实现08463.doc_第2页
第2页 / 共37页
毕业论文-基于PIC的电子表设计与实现08463.doc_第3页
第3页 / 共37页
毕业论文-基于PIC的电子表设计与实现08463.doc_第4页
第4页 / 共37页
毕业论文-基于PIC的电子表设计与实现08463.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业论文-基于PIC的电子表设计与实现08463.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于PIC的电子表设计与实现08463.doc(37页珍藏版)》请在三一文库上搜索。

1、XXX 大学本科毕业设计 I XXXXXXXXXX 大学本科毕业设计大学本科毕业设计 基于基于 PICPIC 的电子表设计与实现的电子表设计与实现 学生姓名学生姓名 所所 在在 系系 专业名称专业名称 班班 级级 学学 号号 指导教师指导教师 XXX 大学本科毕业设计 II 基于 PIC 的电子表设计 内容摘要内容摘要: :近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应 用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠, 使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制, 智能化仪器,仪表,数据采集,军工产品以及家用电器等

2、各个领域,单片机往往是作为 一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合, 以作完善。 本次设计中以单片机的发展过程和发展方向为背景,介绍了单片机的输入输出的工 作原理和操作方法,中断的工作原理和操作方法,定时器/计数器 TMR1 的工作原理和电 路结构,LED 的内部结构。电路程序设计及调试过程。 本次做的电子表是以单片机(PIC16F877)为核心,结合相关的元器件(共阴极 LED 数码显示器等) ,再配以相应的软件,达到制作简易电子表的目的,其硬件部分难点在于 元器件的选择、布局及焊接。 关键词:定时器/计数器 TMR1 单片机 PIC16F877 共阴极

3、LED 数码显示器 XXX 大学本科毕业设计 III DESIGN OF DIGITAL CLOCK BASED ON PIC Abstract:In recent years, with computers in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliab

4、le, easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control, intelligent instruments, gauges, # acquisition, military products and household appliances, and other areas, is often microcontroller as a core component to use, In light

5、of specific hardware architecture, and application-specific software features object combine to make perfect. The design of a microcontroller development process and the direction of development as the background, the computers input and output of the working principle and method of operation interr

6、upted the principle and method of operation.TMR1, the principle and structure of circuit, LED internal structure, Circuit program design and debugging process. The figures do bell on SCM (PIC16F877) at the core, Combined with the components (a total of cathode LED digital display), and factoring in

7、the corresponding software, Easy to produce digital clock purposes, as part of the hardware components is a difficult choice, layout and welding. Keywords : Timer/CounterTMR1 Single Chip Microcomputer PIC16F877 Total cathode LED figures display. XXX 大学本科毕业设计 IV 目 录 一、概述 1 (一)单片机的特点.1 (二)单片机的发展历史、趋势及

8、用处.2 二、电子表的构成 4 (一)电子表的构成.4 (二)实验中所需的器材.4 (三)方案选择与相关技术.4 三、PIC16F87 单片机简介5 (一) PIC16F877 的特性说明 5 (二)端口介绍.5 (三)单片机的中断.7 四、硬件设计 .11 (一)硬件电路规划11 (二)LED 数码管相关说明 11 (三)振荡器的选择11 五、软件设计 .12 (一)设计思路12 (二)设计中两种情况产生的中断13 (三)中断的现场保护和恢复问题:14 六、总结 .15 七、致谢 .15 附录一 电子表的硬件电路原理图 16 附录二 汇编程序流程 17 附录三 源程序 21 XXX 大学本科

9、毕业设计 V 参考文献: .28 XXX 大学本科毕业设计 1 一、概述一、概述 近年来,国际市场上的单片机性能不断增强,价格却日益下降。随着我国加入 WTO 以及与国际市场接轨,世界许多著名半导体公司都在积极开拓我国市场,这使得国内上 市的单片机品种型号越来越多,价格也越来越低。这给单片机爱好者或初学者提供了丰 富廉价的物质基础,因此,有越来越多的在校学生、电子爱好者对单片机产生浓厚的兴 趣。单片机与常用的 TTL、CMOS 数字集成电路相比掌握起来不太容易,问题在于单片 机具有智能化功能,不光要学习其硬件还要学习其软件,而且软件设计需要有一定的创 造性。这虽然给学习者带来一定的难度,但这也

10、正是它的迷人之处,我们通过各种学习 方式在短暂的时间内掌握单片机应用技术也是做得到的。通过对 PIC 单片机的认真学习, 达到掌握和运用 PIC 设计简单系统的方法。选择设计电子表,主要是为了进一步熟练 PIC 的各个模块的用法、MPLAB 集成开发环境、编程方法和加强自己运用 PIC 编程的能力, 达到学以至用的目的。电子表是我们日常用到的必不可少的电子器件,了解其组成原理 也有重要意义。 (一)单片机的特点 1高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。 芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通 用

11、的 CPU。单片机程序指令,常数及表格等固化在 ROM 中不易破坏,许多信号通道均在 一个芯片内,故可靠性高。 2控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力, I/O 口的逻辑操作及位处理能力,非常适用于专门的控制功能。 3低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V3.6V,而工 作电流仅为数百微安。 4易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、 串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 5优异的性能价格比 单片机的性能极高。为了提高速度

12、和运行效率,单片机已开始使用 RISC 流水线和 XXX 大学本科毕业设计 2 DSP 等技术。单片机的寻址能力也已突破 64KB 的限制,有的已可达到 1MB 和 16MB, 片内的 ROM 容量可达 62MB,RAM 容量则可达 2MB。由于单片机的广泛使用,因而销 量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。 (二)单片机的发展历史、趋势及用处 1.单片机发展简史 单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至 今,已发展为上百种系列的近千个机种。如果将 8 位单片机的推出作为起点,那么单片 机的发展历史大致可分为以下几个阶段: (1)第一阶

13、段(1976-1978)单片机的控索阶段。以 Intel 公司的 MCS 48 为代表。 MCS 48 的推出是在工控领域的控索,参与这一控索的公司还有 Motorola 、Zilog 等, 都取得了满意的效果。这就是 SCM 的诞生年代, “单机片”一词即由此而来。 (2)第二阶段(1978-1982)单片机的完善阶段。Intel 公司在 MCS 48 基础上推出了 完善的、典型的单片机系列 MCS 51。它在以下几个方面奠定了典型的通用总线型单片 机体系结构。 完善的外部总线。MCS-51 设置了经典的 8 位单片机的总线结构,包括 8 位数据总线、 16 位地址总线、控制总线及具有很多机

14、通信功能的串行通信接口。 CPU 外围功能单元的集中管理模式。 体现工控特性的位地址空间及位操作方式。 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 (3)第三阶段(1982-1990)8 位单片机的巩固发展及 16 位单片机的推出阶段,也是单 片机向微控制器发展的阶段。Intel 公司推出的 MCS 96 系列单片机,将一些用于测控 系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制 器特征。随着 MCS 51 系列的广应用,许多电气厂商竞相使用 80C51 为内核,将许多 测控系统中使用的电路技术、接口技术、多通道 A/D 转换部件、可靠性技术等应用

15、到单 片机中,增强了外围电路路功能,强化了智能控制的特征。 (4)第四阶段(1990)微控制器的全面发展阶段。随着单片机在各个领域全面深入地 发展和应用,出现了高速、大寻址范围、强运算能力的 8 位/16 位/32 位通用型单片机, 以及小型廉价的专用型单片机。 2.单片机的发展趋势 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化、低功 XXX 大学本科毕业设计 3 耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片 机的主要发展趋势。 CMOS 化近年,由于 CHMOS 技术的进小,大大地促进了单片机的 CMOS 化。 CMOS 芯片除了低

16、功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细 管理状态,因为单片机芯片多数是采用 CMOS(金属栅氧化物)半导体工艺生产。CMOS 电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的 TTL 电路速 度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了 HMOS(高密度、 高速度 MOS)和 CHMOS 工艺。CHMOS 和 HMOS 工艺的结合。目前生产的 CHMOS 电 路已达到 LSTTL 的速度,传输延迟时间小于 2ns,它的综合优势已在于 TTL 电路。因而, 在单片机领域 CMOS 正在逐渐取代 TTL 电路。 低功耗化:单片机的功耗已从

17、Ma 级,甚至 1uA 以下;使用电压在 36V 之间,完全 适应电池工作。 低电压化:几乎所有的单片机都有 WAIT、STOP 等省电运行方式。允许使用的电压 范围越来越宽,一般在 36V 范围内工作。低电压供电的单片机电源下限已可达 12V。 低噪声与高可靠性:为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环 境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新 的技术措施。 大容量化:以往单片机内的 ROM 为 1KB4KB,RAM 为 64128B。目前,单片机内 ROM 最大可达 64KB,RAM 最大为 2KB。 高性能化:主要是指进一步改进 CPU

18、的性能,加快指令运算的速度和提高系统控制 的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现 指令速度最高者已达 100MIPS(Million Instruction Per Seconds,即兆指令每秒) ,并加强 了位处理功能、中断和定时控制功能。 小容量、低价格化:与上述相反,以 4 位、8 位机为中心的小容量、低价格化也是发 展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化, 可广泛用于家电产品。 外围电路内装化:这也是单片机发展的主要方向。随着集成度的不断提高,有可能 把众多的各种外围功能器件集成在片内。除了一般必须具有的 C

19、PU、ROM、RAM、定时 器/计数器等以外,片内集成的部件还有模/数转换器、DMA 控制器、声音发生器、监视 定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。 串行扩展技术:在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成 XXX 大学本科毕业设计 4 为单片机应用的主流结构。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将列 强。 3.单片机的用处 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统 集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价 格便宜、为学习、应用和开发提供了便利条件。同

20、时,学习使用单片机是了解计算机原 理与结构的最佳选择。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑 时代。不过,这种电脑,通常是指个人计算机,简称 PC 机。它由主机、键盘、显示器等 组成。还有一类大多数人不怎么熟悉的计算机, 。这种计算机就是把智能赋予各种机械的 单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进 行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中, 起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用 领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、

21、家用电器等。各种产 品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词 “智能型”,如智能型洗衣机等。单片机在民用和工业测控领域得到最广泛的应用。彩电、 冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片 机早已深深地溶入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们 的生活带来舒适和方便的同时,在工农业生产 上也极大地提高了生产效率和产品质量。 二、电子表的构成二、电子表的构成 (一)电子表的构成 本次设计的电子表主要选用 PIC 单片机为核心,结合相关的元器件如共阴极 LED 数码显示器等

22、,再配以相应的软件,达到制作简易电子表的目的。 (二)实验中所需的器材 共阴极 LED 数码显示器、一只廉价的的广泛用于电子表的 32.6KHz 微型石英晶体。 XXX 大学本科毕业设计 5 (三)方案选择与相关技术 本设计选用 PIC 单片机 16F877 的模块定时器/计数器 TMR1 来实现定时、计数功能。 由于 TMR1 自带低频功耗时基振荡源,该性能适合要求有时时钟功能,并且保持不间短 走时,同时要求能耗低到最低限度的应用设计中。因此在本设计中,将 TMR1 用作低频 低功耗时基振荡源,它可以工作于异步计数器模式,即使在单片机进入睡眠状态,TMR1 也可以持续运行,当 TMR1 溢出

23、时将会产生中断请求。在设计中,在 TMR1 自带振荡器 的两个外部引脚上跨接一只廉价的广泛使用于电子手表的 32.768KHz 微型石英晶体,作 为 TMR1 工作的时间基准。 在本实验中,由单片机控制数字 I/O 口 A 口控制点亮 D 口上外接的 6 个 LED 数码管 ,D 口控制其外接的 6 个 LED 数码管扫描显示时钟的时、分、秒。B 口高 4 位引脚外接 4 个按键,控制修改时钟的时、分数字。 三、三、PIC16F87 单片机简介单片机简介 目前在世界一些著名的单片机产品系列中,PIC16F87X 系列单片机是芯片内部包含有 外围设备模块数量最多的单片机品种之一。87X 各款单片

24、机的内部结构大同小异,以 CPU 为中心的核心区几乎完全相同,不同的仅是 Flash 容量、RAM 容量、EEPROM 容量、外围 模块种类和数量。其中 877 是 PIC16F87X 系列单片机中的“大哥哥”,它是只有 40 脚封 装的型号,囊括了其它 6 款型号的所有功能。PIC16F877 的芯片内部集成了 15 个外围设 备模块,这些外围设备模块在启用时以及在工作过程中,都或多或少地需要 CPU 参与控 制、协调或交换数据等各种服务工作。由于 CPU 的运行速度非常高,而各个外围设备模 块的工作速度却非常低,况且这些外围设备模块也不是频繁地要求 CPU 对其服务。因此, 通常采取一种让

25、众多外围设备模块共享 1 个 CPU,并且能够及时得到 CPU 服务的调度方法 中断。 (一) PIC16F877 的特性说明 (1)采用高性能的 RISC CPU 核心 (2)8 位微电脑控制芯片 (3)8K14Flash 程序存储器 (4)5 组 I/O 端口(A,B,C,D,E) (5)368Bytes 数据存储器及 256Bytes 的 EEPROM 数据存储器 (6)2 组 8 位定时器 TMR0,TMR2,及 1 组 16 位定时器 TMR1 XXX 大学本科毕业设计 6 (7)支持 14 个中断处理 (二)端口介绍 PIC16F877 总共有 5 个 8 位可独立编程的通用并行输

26、入/输出端口(可简称 I/O 口)。 这 5 个端口之间不仅存在内部结构上的差异,而且同属于一个端口的各引脚的内部结构也 不尽相同.由于 PIC16F877 属于 8 位单片机,因此每个端口都由数量不超过 8 个引脚构成。 每个端口中的每跟引脚都可以用软件的方式单独编程,设定为输出或者输入引脚。 1.端口 A 及与之相关的寄存器 端口 A 是一个 6 位双端口,它的基本输入/输出功能的基础之上,复合了模/转换器 的模拟量输入功能、A/D 转换器所需的外接参考电压输入功能、定时器/计数器 TMR0 的外 部时钟输入功能、主同步串行端口 MSSP 的从动选项择信号输入功能等。 端口数据寄存器 PO

27、RTA 是一个可读可写的寄存器,也是一个用户软件与单片机引脚 外接电路交换的界面。由于 RA 端口只有 6 个外接引脚,所以与之对应的数据寄存器也就 只有低 6 位有效,无效的两位读出时也将会返回 0。 相应的数据方向寄存器是 TRISA,它也只有低 6 位有效,无效的两位读出时也将会返 回 0。将 TRISA 寄存器的一位置 1,把相应的端口 A 引脚变为输入,即把相应的输出驱动 器置高阻态方式。对 TRISA 寄存器的一位清零会把输出锁存器的内容放到所选择的引脚 上。 A/D 转换器控制寄存器 ADCON1 的低 4 位是可读可写的。它是定义 A/D 转换器模块输 入引脚功能分配的一个控制

28、寄存器。与 RA 端口有牵连的只有低 4 位(PCFG3:PCFG0)。 2.端口 B 及与之相关的寄存器 RB 端口是一个 8 位双向 I/O 端口。它在基本输入/输出功能的基础之上,除了每个引 脚内部增加了可统一编程的弱上拉电路,另外还复合的片载 Flash低电压编程所需的 3 个引脚、外部中断输入引脚、电平变化中断功能等。端口数据寄存器 PORTB 与相应的数 据方向寄存器 TRISB 的功用与端口 A 的相应寄存器是类似的。 选项寄存器 POTION_REG 是一个可读可写的寄存器,包含着与 TMR0、分频器和端口 RB 有关的控制位。端口引脚 RB0 和外部中断 INT 共用同一引脚

29、,与该引脚有关的两个控 制位含义如下: (1)INTEDG:外部中断 INT 触发信号边沿选择位。 1=选择 RB0/INT 上升沿触发有效; 0=选择 RB0/INT 下降沿触发有效; (2) /RBPU:RB 端口弱上拉电路使能控制位 XXX 大学本科毕业设计 7 1=RB 端口弱上拉电路禁止; 0=RB 端口弱上拉电路使能; 图表 1 选项寄存器 POTION_REG 的控制位 Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 /RBPUINTEDGT0CST0SEPSAPS2PS1PS0 中断控制寄存器 INTCON 是一个可读可写的寄存器,它将第一梯队的 3 个中断源

30、的标 志位和屏蔽位(也称使能位),以及 PEIE 和 GIE 囊括其中。不过与 RB 端口有关的位只 有两个: RBIF:端口 RB 的引脚 RB4RB7 电平变化中断标志位。 1=RB4RB7 已经发生了电平变化。(必须用软件清 0) 0=RB4RB7 尚未发生电平变化。 RBIE:端口 RB 的引脚 RB4RB7 电平变化中断屏蔽位。 1=允许端口 RB 产生的中断; 0=屏蔽端口 RB 产生的中断; 图表 2 中断控制寄存器 INTCON 的控制位 Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 GIEPEIET0IEINTERBIET0IFINTFRBIF 3.端口

31、C 及与之相关的寄存器 RC 端口也是一个 8 位双向 I/O 端口。它在基本输入/输出功能的基础之上,复合了多 项较为复杂的功能,如定时器/计数器 TMR1 的外接时钟功能、主同步串行端口 MSSP 的外 接引脚等。另外每个脚内部都设置了一个施密特触发输入缓冲器,对于输入信号波形可 以起到整形作用。端口数据寄存器 PORTC 与相应的数据方向寄存器 TRISC 的功用与端口 A 的相应寄存器是类似的。 4.端口 D 及与之相关的寄存器 RD 端口是一个 8 位双向 I/O 端口,它在基本输入/输出功能的基础之上,复合了 1 项 功能,即并行从动端口。另外,每个引脚在作为 I/O 脚使用时,是

32、经过施密特触发缓冲 器输入的,而在工作于并行从动端口方式时,则是经过 TTL 缓冲器输入的。 XXX 大学本科毕业设计 8 端口方向控制寄存器 TRISE 不是一个完全可读可写的寄存器。与 RD 端口有牵连的 只有一个位 PSPMODE 控制位。当该位置 1,RD 工作于并行从动端口方式,当该位清 0 时,RD 工作于通用 I/O 端口方式。 (三)单片机的中断 中断就是当计算机系统正在执行某程序时,出现某种特殊状况,如有按键按下、定 时时间到、发生电平变化等,此时 CPU 需要暂时停止当前的程序,转去执行处理有按键 按下、定时时间到或发生电平变化等情况的某段特定程序,待这段特定的程序执行完毕

33、 之后,再回到原先的程序去执行。中断控制方式使 CPU 在平时可以利用充分的时间去处 理主要事件,而当外界有特殊情况需要处理时 CPU 也不会错过,这样的工作效率较高, 对于 PIC 单片机来说,一次中断活动的全过程大至可以归纳为以下几个阶段: 中断请求、中断屏蔽、中断响应、现场保护、调查中断源 中断处理、清除标志、恢复现场、中断返回 其中第 1、2、3、和 9 阶段是由硬件自动实现的,而 4、5、6、7、8 阶段则是在编程中完 成。 1.与中断功能有关的寄存器: 与中断功能有关的特殊功能寄存器共有 6 个:选项寄存器 OPTCON-REG、中断控制寄 存器 INTCON、第 1 外围设备中断

34、标志寄存器 PIR1、第 1 外围设备中断屏蔽寄存器(又称 中断使能寄存器)PIE1、第 2 外围设备中断标志寄存器 PIR2 和第 2 外围设备中断屏蔽寄 存器 PIE2。 图表 3 与各中断功能有关的寄存器的控制位 寄存器内容 寄存器名称 寄存器符 号 寄存器 地址 Bit7Bit6Bit5 Bit4Bit3Bit2Bit1Bit0 选项寄存器 OPTION- REG 81H/181 H /RBPU INTEDGT0CS T0SEPSAPS2PS1PS0 中断控制寄 存器 INTCON 0BH/8B/ 10BH/18 BH GIEPEIET0IE INTERBIET0IFINTFRBIF

35、第 1 外设中 断标志寄存 器 PIR10CHPSPIFADIFRCIF TXIFSSPIFCCP1IFTMR2IFTMR1IF 第 1 外设中 断屏蔽寄存 器 PIE18CHPSPIEADIERCIE TXIESSPIECCP1IETMR2IETMR1IE XXX 大学本科毕业设计 9 第 2 外设中 断标志寄存 器 PIR20DH-REIFBCLIF-CCP2IF 第 2 外设中 断屏蔽寄存 器 PIE28DH-EEIEBCLIE-CCP2IE 2.CPU 对中断的处理: 不论各种中断屏蔽位和全局中断屏蔽位为何值,只要某一中断源的中断条件得到满 足,单片机就会向 CPU 发出中断申请,并将

36、响应的中断标志位置 1,而该中断是否能得 到 CPU 的响应则取决于和它相关的中断屏蔽位的值。如果该中断被一路放行,则中断申 请被递交给 CPU,CPU 响应中断后,全局中断屏蔽位 GIE 自动由硬件清零,以免发生重 复响应;然后由硬件自动把当前 PC 指针压入堆栈,并把 PC 指针指向中断失量地址 0004H,从而进入中断服务程序开始执行;中断服务程序的开始,CPU 先对有关寄存器进 行保护,再检查各个中断源标志位以确定是哪儿中断源发生的申请,把对应的中断标志 位清零并输对应的程序来执行。中断服务程序执行完毕后,再执行中断返回指令 “RETFIE”退出中断,此时,硬件自动将保存在栈顶的断点地

37、址弹回到 PC 指针中,使 CPU 返回继续执行被中断的主程序。 3.定时器/计数器 TMR1 模块 TMR1 的主要用途: a) TMR1 可以像 TMR0 那样,用做时间定时器和事件计数器; b) 借助于自带的低频时基振荡器,用来实现记录和计算真实的年、月、日、时、分、秒 的实时时钟 RTC 功能; c) TMR1 还可以与 CCP 模块配合使用,实现输入捕捉或输出比较功能。 (1)定时器/计数器 TMR1 的结构 TMR1 是由 2 个 8 位宽的寄存器 TMR1H 和 TMR1L 组成的 16 位定时器/计数器,通过软 件可读可写。TMR1H:TMR1L 从 0000H 递增到 FFF

38、FH 之后再返回到 0000H 时,会产生高位 溢出,同时将会产生溢出中断标志位 TMR1IF(PIR1 的位 0)为 1,如果此前相关的中断 使能控制位都被全能,还会引起 CPU 的中断响应。通过对中断使能位 TMR1IE(PIE1 的位 0)的置 1 或清 0,可以允许或禁止 CPU 响应 TMR1 溢出中断。 TMR1 有两种工作方式:定时器方式和计数器方式。其中计数器方式又同步计数器工 作方式和异步计数器工作方式。TMR1 的时钟信号或触发信号共有以下 4 种方式: 由内部系统时钟 4 分频后获取,即取自指令周期; XXX 大学本科毕业设计 10 从 RC0/T1OSO/T1CKI 引

39、脚获取;从 RC1/T1OSI/CCP2 引脚获取; 自带振荡器产生。 定时器/计数器 TMR1 可以工作在定时方式和计数器方式,这由它的时钟源选择位 TMR1CS(TMR1 控制寄存器 T1CON 的位 1)确定。TMR1CS 置 0,选择定时工作方式; TMR1CS 置 1,选择计数工作方式。 (2)定时器/计数器 TMR1 相关寄存器 TMR1 控制寄存器 T1CON 是一个只用到低 6 位的可读/写的寄存器。最高两位未用,读 出时返回 0。 图表 4 TMR1 控制寄存器 T1CON 的控制位 Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 T1CKPS1T1CKPS

40、0T1OSCEN/ /T1SYNCTMR1CSTMR1ON 其余各位的含义如下: Bit5:Bit4(T1CKPS1 T1CKPS0)分频器分频比选择位。 Bit3(T1OSCEN)TMR1 自带振荡器使能位。 1=允许 TMR1 振荡器起振 ; 0=禁止 TMR1 振荡器起振,非门的输出端呈高阻态; Bit(/ /T1SYNC)TMR1 外部输入时钟与系统治时钟同步控制位。 TMR1 工作于计数器方式(T1SYNC=1 时); 1=TMR1 外部输入时钟与系统治时钟不保持同步; 0= TMR1 外部输入时钟与系统治时钟保持同步; TMR1 工作于定时器方式(T1SYNC=0 时,该位不起作用

41、)。 Bit1(TMR1CS)时钟源选择位。 1=选择外部时钟源,即时钟信号来源于外部引脚或者自带振荡器; 0=选择内部时钟源(fosc/4=Tcyc 指令周期); Bit0(TMR1ON)使能控制位(这点优于不能被关闭的 TMR0)。 1=启用 TMR1; 0=关闭 TMR1; 与定时器/计数器 TMR1 相关的其它寄存器: 第一外设中断标志寄存器 PIR1 的位 0(TMR1IF)为 TMR1 溢出标志位。TMR1IF 置 1 TMR1 发生溢出, TMR1 未发生溢出。第一外设中断屏蔽寄存器 PIE1 的位 0(TMR1IE)为 XXX 大学本科毕业设计 11 TMR1 溢出中断使能位。

42、TMR1IE 置 1 允许 TMR1 溢出后产生中断,为 0 屏蔽 TMR1 溢出后产 生的中断。中断寄存器 INTCON 的位 7(GIE)为全局中断总使能位。置 1 允许 CPU 响应所 有中断源产生的中断请求,置 0 禁止 CPU 响应所有中断源产生的中断请求。INTCON 的位 6(PEIE)为外设中断屏蔽位,置 1 允许 CPU 响应来自第二级的中断请求(TMR1 为第二级 的中断),置 0 禁止 CPU 响应来自第二级的中断请求。 四、硬件设计四、硬件设计 (一)硬件电路规划 为了充分利用现有演示板上的电路元器件资源,在端口 RA 控制点亮 D 口上外接的 6 个 LED 数码管,

43、端口 RD 控制外接的 6 个 LED 数码管显示时间。端口 RB 高 4 位引脚外接 4 个按键,控制修改时钟的时间时、分的数字。由于在应用 TMR1 的自带振荡器时,将会 占用端口 RC 的部分引脚 RC0/T1OSO 和 RC1/T1OSI,因此,端口 RC 上原有的 8 个发光二级 管不方便再使用,在 TMR1 自带振荡器两个外接引脚 RC0/RC0/T1OSO 和 RC1/T1OSI 上跨接 一个廉价可以取自电子表的微型 32.768KHz 石英晶体和两只 15PF 的瓷片电容器。单片机 的系统时钟采用电路板原带的 RC 时基振荡器外接阻容器件。要此设计中,采纳 RC 振荡器 方式,

44、既可以节省成本,又使得单片机具有更快的启动时间,也不会影响时钟振荡器互相 独立,其计数器的递增速度完全与系统时钟无关。 (二)LED 数码管相关说明 LED 数码管内部包含 8 只发光二极管,其中 7 只发光二极管构成字型笔段(ag),1 只发光二极管构成小数点(dp).对于任何一只发光二极管,只要阳极为高电平、阴极为 低电平,并且电位差高于其阈值(约为 1.72.1V)就会被点亮.根据各二极管公共端连接 方式的不同,又有共阴极和共阳极 LED 数码管之分,本次设计采用 6 只共阴极 LED 数码管 来显示时钟的时间. (三)振荡器的选择 单片机的系统时钟(即主时钟)采用电路板原带的 RC 时

45、基振荡器外接阻容器件.在对于 系统时钟精度要求不严格的项目中,采用 RC 振荡器方式,既可以节省成本,又使得单片机具 有更快的启动时间,在此选择这种方案并不会影响电子表的走时精度,因为 TMR1 自带振荡 器与系统时钟振荡器互相独立,其计数器的递增速度完全与系统时钟无关. RC 振荡频率随着电源电压 VDD,RC 值及工作环境温度的变化而变化。同时由于工艺参数 的差异,对不同芯片其振荡器频率将不同。另外,当外接电容 CEXT 值较小时,对振荡器 频率的影响更大,当然,我们也应考虑电阻电容本身的容差对振荡器频率的影响。 XXX 大学本科毕业设计 12 图 1 RC 振荡电路 图 1 所示的是 R

46、C 振荡电路,如果 REXT 低于 2.2K,振荡器将处于不稳定工作状态, 甚至停振。而 REXT 大于 1M时,振荡器又易受噪声、湿度、漏电流的干扰。因此,电阻 REXT 取值最好在 3K100K 范围内。在不接外部电容时,振荡器仍可工作,但为了抗 干扰及保证稳定性,建议接 20PF 以上的电容。 PIC 单片机片内有一 4 分频电路,从 OSC1/CLKIN 引脚输入或 RC 振荡器产生的振荡 频率 fOSC 经 4 分频后从 OSC2/CLKOUT 引脚输出 4 分频信号,该信号可用于测试或作为其 它逻辑电路的同步信号。 1.晶体的选择 对于一个高可靠性的系统设计,晶体的选择非常重要,尤

47、其设计带有睡眠唤醒(往往 用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成 晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时 电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多, 起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠 激励(不容易起振)。晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度 特性,长期稳定性。 2.电容 C1,C2 的选择 (1)因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元 器件。 (2)在许可范围内,C1,C2 值越低越好

48、。C 值偏大虽有利于振荡器的稳定,但将会增 加起振时间。 (3)应使 C2 值大于 C1 值,这样可使上电时,加快晶振起振。 XXX 大学本科毕业设计 13 五、软件设计五、软件设计 (一)设计思路 对于 TMR1 的编程,既可以采用软件查询的方法,也可以采用中断的方法,本设计选 用中断的方式。 A 口控制点亮 D 口上外接的 6 个 LED 数码管及 D 口控制 LED 数码管显示时间的时、 分、秒是由单片机执行延时子程序循环控制的。B 口上按键修改时钟由单片机执行延时程 序查询按键情况控制的。 在主程序的初始化阶段,以及在每次执行中断服务程序时,都需要给 TMR1 赋一个初 始值。 该值的

49、计算方法为: TMR1 初始值=1000H-32768=65536-32768=32768=0080H 因此,TMR1 的初始值是 80H,TMR1 的初始值是 00H,这样就可以保证,在自带振荡 器每产生 32768 个方波,TMR1 就溢出一次。 (二)设计中两种情况产生的中断 1. PORTB 端口最高的 4 个引脚(RB7RB4)在设为输入模式时,当输入电平由高到低或 由低到高发生变化时,可以让单片机产生中断。这就是通常所说的引脚状态变化中断。 中断控制寄存器 INTCON 的位 0 即 RBIF 是端口 RB 的引脚 RB4RB7 电平变化中断标志位, 当其为 1 时,RB4RB7 引脚已经发生了电平变化,则用软件清 0 并执行相应的中断子程序, 然后返回原先的程序去执行. 在设计引脚中断程序时,有三个需要特别注意的地方。一 是,在清除 P0RTB 中断标志位 RBIF 之前,必须安排一条必不可少的,以 PORTB 端口数据 寄存器 PORTB 为源寄存器的读操作指令。放置这一指令的目的有时并不只是为了读取有 用的数据,而是为了取消状态

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1