基于16位单片机的交通灯电路设计_第1页
基于16位单片机的交通灯电路设计_第2页
基于16位单片机的交通灯电路设计_第3页
基于16位单片机的交通灯电路设计_第4页
基于16位单片机的交通灯电路设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

本科毕业设计(论文)基于16位单片机的交通灯电路设计摘 要要对路口交通灯进行合理的控制,除了要采集真实的数据,并作合理的分析外,还需要建立模拟交通灯控制系统,并在此平台上对真实的交通灯状态进行模拟控制.本系统利用SPCE061A 的强大的处理能力,控制交通灯控制模组,进行实际交通情况的模拟,模拟交通灯控制板就是通过使用单片机、PLC 或其它器件控制一些LED 和数码管,来模拟真实十字路口的交通灯的功能。如模拟红黄绿灯交替闪亮、倒计数显示时间、方向灯指示方向等.了解单片机的内部结构,定时/计数器和中断的功能、工作原理。如何将程序下载到单片机的闪存Flash中。关键词:单片机SPCE061A,交通灯,中断本科毕业设计(论文)The Design of Circuit of Traffic Lights Based on 16-bits Single Chip MicrocomputerAbstractIn order to give a reasonable control, you should sample real data and make rational analyze and set up model traffic light controlling system, carry on model controlling to the real state of the traffic lights based on this platform. Making use of the power processing function ,this system controls the controlling mode of the traffic light and operate the simulation of the real traffic state, analog traffic lights controlling board simulate the function of the real traffic lights at the crossing by using SCM、PLC and other applications to control LED and nixie light. For example simulating the shining of the RED 、YELLOW、GREEN light by turns and showing time in countdown model and make use of direction light to indicate the right direction and so on. The purpose of this paper is understand the inner structure of SCM and timing/counting and interruption function and operation principle and how to make the program download to the flash of SCM. The paper can make us master some relative knowledge of circle and SCM.Keywords: SCM Spce061A , Traffic Lights, Interrupt本科毕业设计(论文)目 录1 引言 .11.1 本文研究的目的和意义 .11.2 单片机的概念及其发展史 .12 研究现状和设计要求 .32.1 主要功能 .32.2 模块特性简介 .32.2.1 SPCE061A 模块特性简介 32.2.2 芯片特性 52.2.3 SPCE061A 精简开发板 62.2.4 中央处理器(CPU) 73 交通灯控制模组板特性 .93.1 系统总体方案介绍 .93.2 设计内容 .103.3 交通灯的管脚和单片机的对应图: .103.4 单片机的内部结构: .113.4.1 时钟电路 113.4.2 系统时钟 123.4.3 时间基准信号 133.5 中断 .144 系统的硬件设计 .194.1 SPCE061A 周边模块 .194.1.1 SPCE061A 最小系统 194.1.2 琐相环 PLL 振荡器 204.2 键盘模块: .224.3 电源模块 .224.4 计时数码管模块 .234.5 倒计时数码管模块电路原理图如图 .304.6 红绿灯显示模块 .30结论 .34参考文献: . 35致谢 .36本科毕业设计(论文)外文文献原文译文本科毕业设计(论文)1 引言1.1 本文研究的目的和意义目前,随着人民生活水平的提高,科技的发展,使得城市内交通成为引人关注意问题,而道路的状况又是交通情况的主要影响因素,这其中路口的交通灯控制显得极为重要;要对路口交通灯进行合理的控制,除了要收集真实的数据,并作合理的分析外,还需要建立模拟交通灯控制系统,并在此平台上对真实的交通灯状态进行模拟控制。本系统利用SPCE061A 的强大的处理能力,控制交通灯控制模组,进行实际交通情况的模拟;通过软件代码建立起交通灯控制的模形。另外利用SPCE061A 的特性,为本系统结合红灯倒计时显示、红绿灯显示,构成了模拟交通灯控制系统。模拟交通灯控制就是使用单片机、PLC或其它器件来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,倒计数显示时间,方向灯指示方向等。1.2 单片机的概念及其发展史(1) 单片机的概念单片机(Single Chip Microcomputer) ,是指在一块芯片中集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O接口以及定时器、计数器等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。(2)单片机的发展史单片机初级阶段(19711974)1971年Intel公司推出4004 的4位微处理器,1974年仙童公司推出8位单片机F8。低性能单片机阶段(19741978)以Intel 公司推出 MCS-48单片机为标志,把CPU和机关的计算机外围模块做本科毕业设计(论文)到一块芯片上,大大地促进了单片机的变革,但这个阶段的单片机仍处于低性能阶段。高性能单片机发展阶段(19781983)1978年Zilog公司推出Z8单片机,面Intel 公司推出了MCS-48为基础的MCS-51;它们都使单片机的应用跃上了一个新台阶,此后各公司的8位单片机迅速发展起来。发展、巩固、提高阶段(1983现在)1983年Intel公司推出MCS-96系列的16位单片机,而在这个时期,Motorola、Intel、ATMEL、TI、三菱、日立、飞利浦等公司推出了许多增强型的8位单片机、16位单片机,甚至32位单片机,出了非常多的新型单片机,极大地推动了单片机的应用。出现了单片机市场百家争鸣的场面。(3)单片机的发展趋势微型单片化(SOC单片机) 减少产品设计、系统加工的复杂性 减少开发成本,缩短产品开发时间 单芯片集成电路可以降低系统功耗 加快了数据传输和处理的速度 减少甚至避免电路板信号传送所造成的信号系统串扰 从控制型突围突出数据处理微控制器越来越突出微处理器的特色,而微也在体现微控制器的特点。 占据特色领域很多单片机都在极力体现与众不同的特色,以期的激烈的竞争中寻求突破口。应用领域SPCE061A单片机的应用广泛,主要用于:(1)仪器仪表,即数字仪表。(2)电表、水表、天然气表和暖气表。(3)工业控制。(4)智能型家居控制器。本科毕业设计(论文)(5)体育健身产品。(6)医疗器械和保健器材。2 研究现状和设计要求2.1 主要功能模拟交通灯控制板主要功能就是通过使用单片机、PLC 或其它器件控制一些LED 和数码管,来模拟真实交通灯的功能:如模拟红黄绿灯交替闪亮、倒计数显示时间、方向灯指示方向等。要求系统具有以下功能:1. 十字路口的四个路口都有双色 LED(发红。发绿,叠加为黄色)2每个路口有两位数码管显示当前红灯的倒计时。3可利用按键或其它的方式模拟交通灯的设置。4有三种工作状态:正常工作状态、紧急工作状态、设置状态。另外,在不进行扩展功能设计时,要求全部程序和资源都放置在SPCE061A 片内的Flash 当中。2.2 模块特性简介本系统采用SPCE061A 单片机作为主控制器,交通灯模拟采用交通灯控制模组板,下面分别介绍一下这两个模块的特性。2.2.1 SPCE061A模块特性简介本系统采用SPCE061A 单片机作为主控制器,交通灯模拟采用交通灯控制模组板,下面分别介绍一下SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活,该芯片拥有8 路10 位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10 精度的DAC,只需要外接功放(SPY0030A)即可完成语音本科毕业设计(论文)的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C 语言,可以实现C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:SPCE061A 片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(nSP IDE)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。下图为SPCE061A 单片机的内部结构框图如图 2.1所示。双 16位 定 时 器/计 数 器7通 道 10位 ADC单 通 道 +GCPU时 钟实 时 时 钟FLASHRAM 时 基中 断 控 制IOA15 -0 IOB15 -0锁 相 环振 荡 器IOB0 (SCK)IOB1(SDA)低 电 压 监 测 /低 电 压 复 位 双 通 道10位 DAC串 行 输 入 输 出 接 口 AUD1A2MIC_IN32管 脚 通 用 输 入 输 出 端 口16位 微控 制 器unSP+ICEXI/ROICE_SCKI_DAIE_NCPVIOB7( RXD) IOB10( TXD)串 行 异 步 通 讯 接 口Watchdog图 2.1 单片机内部结构框图nSP 内核的 CPU 中,RAM 与 ROM 是统一编址的,简化了传统单片机复杂的数据、程序地址结构;可以芯片的模块化设计更加方便;而且在 061 中,并没有把地址、数据总线拉出,这正是体现了目前 SOC 概念单片机的设计思想。SPCE061A 片内集成的 2K SRAM 中,I/O 端口以及系统端口并未占用SRAM。可在程序中操作相关寄存器进行片内 Flash 擦写动作。nSP 内核的 CPU如图 2.2 所示。本科毕业设计(论文)中 央 处 理 器 ( CPU)定 时 器 /计 数 器串 行 I/O接 口并 行 I/O接 口系 统 时 钟ROMRAM复 位中 断电 源TTXDR内部总线图2.2 nSP 内核的CPU2.2.2 芯片特性 16 位nSP TM 微处理器核心; 工作电压:内核CPU的工作电压VDD 为3.03.6V,I/O接口工作电压V DDH 3.05.5V; CPU 时钟:0.32MHz49.152MHz; 内置2K字静态内存SRAM; 内置32K字闪存(FLASH); 晶体振荡器; 系统处于备用状态下(时钟处于停止状态),耗电小于2A/3.6V ; 2 个16 位可编程定时器/计数器(可自动预置初始计数值 ); 2 个10位DAC(数-模转换)输出通道; 32 位通用I/O端口; 14 个中断源,包含来自定时器A / B及时基,2 个外部时钟源,按键唤醒;具备触键唤醒的功能; 锁相环PLL振荡器提供系统时钟信号; 32768Hz 实时时钟(RTC);本科毕业设计(论文) 7个10位ADC(模拟数字转换器)line-in输入通道。 具备串行设备接口(SIO); 低电压复位(LVR) 功和低电压监测(LVD)功能; 内置在线仿真(ICE , In- Circuit Emulator)接口 1。2.2.3 SPCE061A 精简开发板SPCE061A 精简开发板(简称 61 板),是以凌阳 16 位单片机SPCE061A 为核心的精简开发仿真实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC 输入部分和DAC 音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!61 板上有调试器接口(Probe 接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。61 板上的主要功能模块如下:SPCE061A 单片机最小系统外围电路模块;电源输入模块;按键模块;I/O 端口接口模块;调试、下载接口模块;61 板的实物图如图2.3所示。本科毕业设计(论文)图 2.3 61 板实物图2.2.4 中央处理器(CPU)中央处理器CPU单元中,般由两大部分组成:远算器和控制器,如图中所示,运算器包括ALU算术逻辑单元、累加器、暂存器、 PSW程序状态字以及通用寄存器组成,主要完成运算由控制器提供的数据,并受控制器的控制。控制器负责从程序存储器(ROM)中取指令和数据,并对指令进行译码,同时还从数据存储器RAM中取出数据,提拱给运算器,并控制运算器完成预定的运算,且运算结果出会由控制器进行分配,将控制后续程序的执行,或提供数据给后续的运算等。一般最直观反映出CPU级别的为地址线和数据线的宽度,也就是一次可以并行传送的地址数据、运算数据的位数(二进制),八位宽度的称为8位单片机,十六位宽度的称为16位单片机。中央处理器如图2.4所示。本科毕业设计(论文)ALUPSW累 加 器 暂 存 器 通 用寄 存 器 指 令 寄 存 器( IR)指 令 译 码 器( ID)时 序 部 件微 操 作 控 制 器PC地 址 编码 器 +1 地 址 线 数 据 线图2.4中央处理器(CPU)本科毕业设计(论文)3 交通灯控制模组板特性模拟交通灯控制板由红绿灯模块、倒计时数码管模块组成。下面简单介绍各个模块的电路原理。3.1 系统总体方案介绍(1)本系统由一块SPCE061A 精简开发板(61 板)和一块模拟交通灯控制板组成,可以模拟比较复杂的路口的交通灯控制。此系统以SPCE061A 为核心,根据61板的特点和功能来实现模拟交通灯的功能,可以根据按键盘模块来进行设置单片机的功能,如紧急状态、正常状态、设置状态。根据检测结果按照程序设定的方式去控制红绿灯模块、倒计时数码管模块。控制系统的硬件结构框图如图3.1所示。61板 模拟交通灯控制板键盘模块红绿灯模块倒计时数码管模块SPCE061A图 3.1 模拟交通灯控制系统结构图本系统定义3 个按键,可以直接利用61 板上的3 个按键,用来控制系统的状态。下面介绍这三个按键的定义:在正常运行状态,按下Key1 会进入紧急状态,按下Key2 会进入设置状态,按下Key3 返回。在设置状态,按下Key1 开始设置南北的红灯时间,按下Key2 设置南北的绿灯时间,按下Key3 返回正常运行状态。按下Key3 返回正常运行状态。在紧急状态,按下Key3 键返回正常运行状态(2)61板和模拟交通灯的排线接法:本科毕业设计(论文)61 板和模拟交通灯控制板通过排线连接,其接线方法如下:61 板-交通灯板 +5V VCC IOB8 IO-0 IOB0 CS0 IOB9 IO-1 IOB1 CS1 IOB10IO-2 IOB2 CS2 IOB11IO-3 IOB3 CS3 IOB12IO-4IOB4 CS4 IOB13IO-5IOB5 CS5 IOB14IO-6IOB15IO-7GNDVSS GNDVSS 23.2 设计内容设计一个东西南北十字路口交通信号灯的控制装置,每个路口三盏灯(左转弯、直行和人行横道) 。使两方向的车辆运行如下:1. 南边与北边的直行车道为绿灯,东边与西边的人行横道绿灯,其余的灯为红灯;2. 南边与北边的左转车道为绿灯,其余的灯为红灯;3. 南边与北边左转车道为黄灯,其余的灯为红灯;4. 东边与西边的直行车道为绿灯,南边与北边的人行横道为绿灯,其余为红灯;5. 东边与西边的左转车道为绿灯,其余的灯为红灯;6. 东边与西边左转车道为黄灯,其余的灯为红灯;3.3 交通灯的管脚和单片机的对应图:模拟交通灯控制板的引脚说明如表3.1所示。本科毕业设计(论文)表 3.1 模拟交通灯控制板的引脚引脚符号 类 型 说 明VCC P 5VVSS P GNDCS5 O 选通 LED 数码管的高位CS4 O 选通 LED 数码管的低位CS3 O 选通第四组双色 LEDCS2 O 选通第三组双色 LEDCS1 O 选通第二组双色 LEDCS0 O 选通第一组双色 LEDIO-1IO-7 O 数码管对应段,和双色管共用3.4 单片机的内部结构:3.4.1 时钟电路nSP 时钟电路采用晶体振荡器电路。图为 SPCE061A 时钟电路的接线图。外接晶振采用 32768Hz。使用外接 32768Hz 晶振,因阻容振荡的电路不如外接晶振准确。时钟电路如图 3.2 所示。 SPCE061A图 3.2 时钟电路本科毕业设计(论文)32768Hz 实时时钟通常用于钟表、实时时钟延时以及其他与时间相关类产品。SPCE061A 通过对 32768Hz 实时时钟源分频而提供了多种实时时钟中断源。例如,用做唤醒源的中断源 IRQ_2Hz,表示系统每隔 0.5 秒被唤醒一次,由此可作为精确的计时基准 3。 3.4.2 系统时钟在 SPCE061A 内,P_SystemClock( 写) (7013H)单元控制着系统的时钟和CPU 的时钟。第 02 位用来改变 CPUCLK,若将第 02 位置成“111”便可使CPU 停止工作,系统切换到低功耗的睡眠状态;通过设置该单元的第 57 位可以改变系统时钟的频率。此外,在睡眠状态下,通过设置该单元的第 4 位可以接触或关闭 32768Hz 实时时钟。设置 P_SystemClock 单元如表 3.2 所示。表 3.2 设置 P_SystemClock 单元b15b8 b7b5 b4 b3 b2 b1 b0PLL 频率选择32768Hz 睡眠状态 32768Hz 方式选择CPU 时钟选择1:在睡眠状态下,32768Hz 时钟仍处于工作状态(默认)0:在睡眠状态下,32768Hz 时钟关闭1:32768Hz 时钟处强振模式0: 32768Hz 时钟处于自动弱振模式(默认)32768Hz RTC 振荡器有两种工作方式:强振模式和自动弱振模式。可以通过对 P_SystemClock 的设置进行选择。处于强振模式时,RTC 振荡器始终运行在高耗能的状态下。处于自动弱振模式时,系统在上电复位后的前 7.5s 内处于强振模式,然后自动切换到弱振模式以降低功耗。CPU 被唤醒后默认的时钟频率为 Fosc/8,用户可以根据需要调整该值。 CPU被唤醒后经过 32 个时钟周期的缓冲时间后再进行其它的操作,这样可以避免在系统被唤醒后造成 ROM 读取错误。 在 SPCE061A 内,P_SystemClock( 写)(7013H) 单元(如表 2.7 所示)控制着系本科毕业设计(论文)统时钟和 CPU 时钟。第 02 位用来改变 CPUCLK,若将第 02 位置为“111”可以使 CPU 时钟停止工作,系统切换至低功耗的睡眠状态;通过设置该单元的第 57位可以改变系统时钟的频率(如表 2.9 所示)。此外,在睡眠状态下,通过设置该单元的第 4 位可以接通或关闭 32768Hz 实时时钟。CPU 时钟频率选择如表 3.3 所示。表 3.3 CPU 时钟频率(CPUCLK)选择注:只有当 b0b2 同时被置为“1”时(即睡眠状态)b4 设置才有效。上电复位或系统从设备状态(睡眠状态) ,被唤醒后,默认的 CPU 时钟频率为 fosc/8。3.4.3 时间基准信号时间基准信号简称为基信号,来自于 32768Hz 实时时钟,通过频率选择组合而成。时基信号发生器的选频逻辑 TMB1 为 TimerA 的时钟源 B 提供各种频率选择信号,还为中断系统提供中断源(IRQ)信号。此外,时基信号发生器分频产生 2Hz、4Hz、1024Hz、2048Hz 以及 4096Hz 的时基信号,为中断系统提供各种实时中断源(IRQ4 和 IRQ5)信号。时基信号发生器的结构如图所示。1P_Timebase_Setup(写) (700EH )时基信号发生器通过对 P_Timebase_Setup(写) (700EH)单元的编程写入来进行b2 b1 b0 CPUCLK0 0 0 fosc0 0 1 fosc/20 1 0 fosc/40 1 1 fosc/81 0 0 fosc/161 0 1 fosc/321 1 0 fosc/641 1 1 停止(睡眠状态)本科毕业设计(论文)选频操作。P_Timebase_Setup 单元设置如表 3.4 所示,选频操作如表 3.5 所示。表 3.4 P_Timebase_Setup 单元b15b4 b3 b2 b1 b0 TMB2 选频逻辑 TMB1 选频逻辑表 3.5 选频操作b3 b2 TMB2 b1 b0 TMB10 0 128Hz* 0 0 8 Hz*0 1 256 Hz 0 1 16 Hz1 0 512 Hz 1 0 32 Hz1 1 1024 Hz 1 1 64 Hz*:默认的 TMB2 输出频率为 128 Hz *:默认的 TMB2 输出频率为 8Hz2、P_Timebase_Clear(写) (700FH)P_Timebase_Clear(写) (700FH)单元是控制端口,设置该单元可以完成时基计数器复位和时间校准。向该单元写入任意数值后,时基计数器被置为“0” ,以此可对时基信号发生器进行精确的时间校准。时基信号发生器结构原理图如图 3.3 所示。本科毕业设计(论文)PLL 倍频电路选频逻辑 211 10 01 00fosc/n时基计数器选频逻辑 111 10 01 00 CLKB定时器/计数器中断系统IRQ6IRQ5IRQ4图 3.3 时基信号发生器的结构原理图3.5 中断中断是为了使处理器对外界异步事件具有处理能力而设置的,中断技术的引入把计算机的发展和应用大大地推进一步,因此中断功能已成为衡量一台计算机性能地重要指标。中断是指计算机在执行某一程序的过程中,由于计算机系统内、外部的某种原因,必须终止原程序的执行,而转去执行相应的处理程序。待处理结束后,再回来继续执行被终止的原程序的过程。中断技术能实现 CPU 与外部设备的并行工作,提高 CPU 的利用率以及数据的输入输出效率;中断技术也能运行过程中突然发生的故障做到及时发现并进行自动处理。如:硬件故障、运行错误及程序故障等。中断还能使我们通过键盘向计算机发出请求,随时对运行中的计算机进行干预,而不用先停机,然后再重新开机等。中断源是指再计算机系统中向 CPU 发出中断请求的来源,中断源可以人为设定,也可以是响应突发性随机事件而设置。如定时器中断,它的中断源即是定本科毕业设计(论文)时器。由于在实际的系统中,往往有多个中断源,且中断申请是随机的,有时可能会有多个中断源同时提出中断申请,但 CPU 一次只能响应一个中断源发出的中断请求,这就需要用软件或硬件按中断源工作性质的轻重缓急,给它们安排一个优先顺序,即所谓的优先级排队。中断优先级越高,则响应优先权就越高。当 CPU正执行中断服务程序时,有优先级更高的中断申请产生,若 CPU 能够暂停对原来的中断处理程序,而去处理优先级更高的中断请求,处理完毕再回到原低级中断处理程序,这一过程称为中断嵌套。具有这种功能的中断系统称为多级中断系统;没有中断嵌套功能的则称为单级中断系统。具有二级中断服务程序嵌套的中断过程如图 3.4 所示。CPU CPU 执行低级 CPU 执行正执行主程序 中断服务程序 高级中断服务程序响应低级中断请求 响应高级中断请求返回低级中断请求返回主程序本科毕业设计(论文)图 3.4 二级中断服务程序嵌套(1) 在每条指令结束后系统都会自动检测中断请求信号:如果有中断请求,相应的中断允许位为真(允许中断) ,相应的总中断允许位也为真(允许中断) ,则响应中断。(2) 保护现场:CPU 一旦响应中断,中断系统会自动地当前的 PC 和 SR 寄存器(入桟) ,进入中断服务程序地址入口;中断服务程序通过入桟保护原程序中用到地数据,保护现场前,一般要关中断以防止现场破坏。(3) 中断服务:该中断服务为相应的中断源服务。(4) 清相应的中断请求标志位:该位可使 CPU 总是执行该中断。(5) 恢复现场:用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断。以防止现场被破坏,在恢复现场后应及时开中断。(6) 返回:此时 CPU 将 PC 指针和 SR 内容出栈恢复断点,从而使 CPU 继续执行刚才被中断的程序。SPCE061A 单片机它可以提供 14 个中断源,具有两个中断优先级,可实现两级中断嵌套功能。用户可以用关中断指令(或复位)屏蔽所有的中断请求,也可以用开中断指令使 CPU 接受中断申请。每一个中断源可以用软件独立的控制开或关中断状态。但中断级别不可用软件设置。SPCE61A 的结构给出了 3 种类型的中断:软件中断、异常中断、和事件中断。(1) 软件中断。软件中断是由软件指令 break 产生的中断;软件中断的向量地址为 FFF5H。(2) 异常中断。异常中断表示为非常重要的事件,一旦发生,CPU 必须立即进行处理。目前 SPCE061A 定义的异常中断只有复位的一种。通常,SPCE061A 系统复位可以由以下 3 种情况引起;上电、看门狗计数器溢出以及系统电源低于电压低限。不论什么情况引起的复位,都会使复位引脚的电平变低,进而使程序指针 PC 指向由一个复位 FFF7H 所指的系统复位程序入口地址。(3) 事件中断。事件中断(可简称中断,以下提到的中断均为事件中断)本科毕业设计(论文)一般产生于片内设部件或由外设中断输出引起的某个事件。这种中断的开通/禁止,由相应独立使能和相应的 IQR 或 FIQ 总使能控制。SPCE061A 的事件中断可采用两种方式;快速中断请求(FIQ 中断)和中断请求(IQR 中断) 。这两种中断都有相应的总使能。SPCE061A 共有 9 中断向量; FIQ、IQR0IQR6 、及 UART IQR,这 9 个向量可安置 14 个中断源供用户使用,其中有 3 个中断源可安置在 FIQ 或 IQR0IQR2中,另有 10 个中断源则可安置地 IQR3IQR6 中。还有一个专门用于通用异步串行口 UART 的中断源,需安置在 UART IRQ 中。SPCE061A 单片机的中断系统有 14 个中断源,分为两个定时器溢出中断、两个外部中断、一个串行口中断、一个触键中断、一个触键唤醒中断、7 个时基信号中断和 PWM 音频输出中断。每个中断入口地址对应多个中断源,因此在中断服务程序中需要通过查询中断源请求来判断是哪个中断源请求的中断。1 定时器溢出中断源定时器溢出中断由 SPCE061A 内部定时器中断产生,故它们属于内部中断。在SPCE061A 内部有两个 16 位定时器/计数器,定时器 TimerA 或 TimerB 在定时时间可由用户通过程序设定,以便 CPU 在定时器溢出中断服务程序内进行计时。另外,SPCE061A 单片机的定时器时钟源很丰富,从高频到低频都有。因此,根据定时器时间长短可以选择不同和时钟源,定时器 A 的时钟源比定时器 B 多,定时器 B 无低频时钟源。在中断一览表中也可以看出,保留字 IQR 和 FIQ 中都有定时器 A 的中断,方便了开发人员的使用。定时器溢出中断通常用于需要定时的控制场合。2 触键唤醒中断源当系统给出睡眠命令时,CPU 便关闭 PLL 倍电路,停止 CPU 时钟工作而使系统进入睡眠过程中,通过 IOA 口低 8 位接的键盘就可以给出唤醒信号使系统接通PLL 倍频电路,启动 CPU 时钟工作,并将系统从睡眠状态转到工作状态。与此同时产生一个 IRQ3 中断请求,进入键唤醒状态,CPU 继续执行可作为系统的唤醒源来用,作实时唤醒系统。若以触键作为唤醒源,其功能通过并行 A 口的 IOA0IOA7 及中断源 IRQ3本科毕业设计(论文)KEY 的设置来实现。3 时基信号发生器的输入信号来自实时时钟 32768Hz;输出有通过选频逻辑的TMB1、TMB2 信号和直接从时基计数器溢出而来的各种实时时基信号。当开启时基信号中断后,若有时基信号到来,则发生时基信号中断申请,在 CPU 查询到有中断请后,允许中断并置位 PINTCtrl 中相应的中断请求位。在服务程序中通过测试 PINTCtrl 来确定哪个频率时基信号产生的中断,并通过计数不同频率的时基信号来作长时间或短时间的定时控制 4。4 系统的硬件设计4.1 SPCE061A 周边模块:4.1.1 SPCE061A 最小系统SPCE061A 最小系统:SPCE061A 单片微控制器的内部结构如图所示。它共有 84 个引脚,封装形式为 PLCC84。SPCE061A 最小系统当中,包括 SPCE061A 芯片外围的基本模块,有:晶振本科毕业设计(论文)输入模块(OSC)、锁相环外围电路(PLL)、复位电路( RESET)、指示灯(LED)等,如图 4.1所示。图4.1 单片机最小系统本系统,有关SPCE061A 单片机的最小系统的各个模块都做在 61 板当中.由图可见,其接线比较简单,在OSCO、OSC1 端接上晶振及谐振电容,并在锁相环压控振荡器的阻容输入VCP 端接上相应的电容和电阻即可工作。它不用的电源端和地接上0.1F 的去藕电容可以提高系统的干扰能力。复位电路就是使单片机返回到初始状态即没有设置的状态。4.1.2 琐相环 PLL 振荡器PLL 电路PLL(phase lock loop)电路的作用是将系统的实时时钟的基频( 32768Hz)进行倍频,调整至 49.152MHz、40.96MHz、32.768MHz 、24.576MHz 、或20.480MHz。系统默认的 PLL 自激振荡频率为 24.576MHz。32768Hz 的实时时钟经过,并由 PLL 倍频电路产生系统时钟频率 fosc,再经过分频得到 CPU 时钟频率本科毕业设计(论文)(CPUCLK) ,并通过器对 P_SystemClock(写) (7013H )单元编程来控制。默认的fosc、CPUCLK 分别为 24.576MHz 和 fosc/8。用户可以通过对 P_SystemClock 单元编程完成对系统时钟和 CPU 时钟频率的定义。此外,32768Hz RTC 振荡器有两种工作方式:强振模式和自动弱振模式。处于强振模式时,RTC 振荡器始终运行在高耗能的工作状态下。处于弱振模式时,系统在上电复位后的前 7.5S 时间内处于强振模式,然后自动切换到弱振模式以降低功耗。CPU 被唤醒后默认的时钟频率为 fosc/8,用户可以根据需要调整该值。CPU 被唤醒后经过 32 个时钟周期的缓冲时间后再进行其他的操作,这样可以避免在系统被唤醒后造成的 ROM 读取错误。PLL 外围电路1.SPCE061A 片内集成了 PLL 电路,只需在外围接上简单的电路就可以使片内 PLL 电路正常工作了,如图 4.2 所示。P LLC 1 01 0 4R 23 .3 KC 33 3 0 0 pV C PV S S图 4.2 PLL 电路在应用中,PLL 外接的电阻电容值的选取最好与 DataSheet 上推荐的值一至,否则很有可能会造成芯片的时基不正常、时钟与预设值不同等问题,这在语音的录放程序、乐音播放程序中就会表现得非常明显。采用了片内 PLL 电路,这使得芯片外接的频率将会大大降低,最大的好处是可以大幅度地降低晶振部份电路的高频信号产生的辐射信号,其次还可给用户提供各种频率的系统时钟。PLL 频率选择如表 4.1 所示。表 4.1 PLL 频率(f osc)选择本科毕业设计(论文)PLL 的作用如图 4.3 所示。锁相环(PLL)系统时钟发生器f/ MHz:20.48 24.57632.768 40.96 49.152fosc/nn:1,2,4,8,16,32,64图 4.3 锁相环电路框图SPCE061A 时钟电路采用晶体振荡器作为单片机的时钟源,使用 32768Hz 的晶振。PLL 电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频提供fosc,然后再经过 fosc 分频得到输出系统时钟:F osc/8 得到 CPUCLK 即 CPU 时钟,是最终 CPU 的频率;是经 Fosc 进行分频后得来的 5。4.2 键盘模块:模拟交通灯控制板上没有按键,所有设置均通过61 板的3个按键来完成。3个按键在系统的3 种状态下有不同的含义在正常运行状态,按下Key1 会进入紧急状态,按下Key2 会进入设置状态,按下Key3 会进查询状态。B7 B6 B5 fosc/MHz0 0 0 24.5760 0 1 20.480 1 0 32.7680 1 1 40.961 49.152本科毕业设计(论文)在设置状态,按下Key1 开始设置南北的红灯时间,按下Key2 设置南北的绿灯时间,按下Key3 返回正常运行状态。在查询状态,按下Key1 或者Key2 可以让系统播报各个路口的车流量,按下Key3 返回正常运行状态。在紧急状态,按下Key3 键返回正常运行状态。键盘模块电路原理图如图4.4所示。图4.4 按键系统4.3 电源模块SPCE061A 的内核供电为 3.3V,而I/O 端口可接3.3V 也可以接5V ,所以在电源模块(61 板上)中有一个端口电平选择跳线,如图中的J5, 61 板上的电源模块图如图4.5所示。本科毕业设计(论文)图4.5 电源模块由于本系统需要的端口高电平为5V,所以图中的J5 跳线需要跳到1 和2 上。4.4 计时数码管模块定时器/计数器SPCE061A 提供了两个 16 位的定时/计数器:TimerA 和 TimerB。TimerA为通用计数器;TimerB 为多功能计数器。TimerA 的时钟源由时钟源 A 和时钟源 B 进行“与” 操作而形成;TimerB 的时钟源仅为时钟源 A,TimerA 的结构如图 4.6 所示。 本科毕业设计(论文)000001010011 时钟源100 A 选择101110111 16 位定时器 /计数器16 位预置寄存器4 位计数器4 位半加器b9 b8 b7 b6输出脉冲比控制/2b2 b1 b0000001010011 时钟源100 A 选择101110111b5 b4 b3图 4.6 TimerA 结构时钟源 A 是高频时钟源,它来自锁相环的晶体振荡器输出 fosc;而时钟源B 的频率来自 32768Hz 实时时钟系统,也就是说,时钟源 B 可以作为精确的计时器。时钟源 A 是一个高频时钟源,时钟源 B 是一个低频时钟源,时钟源A 和 B 的组合,为 TimerA 提供了多种计数速度。若以 CLKA 作为门控制信号, 1表示允许时钟源 B 信号通过,而0表示禁止时钟源 B 信号通过而停止TimerA 的计数。TimerB 的结构如图 4.7 所示。本科毕业设计(论文)000001010011 时钟源100 A 选择10111011116 位定时器 /计数器16 位预置寄存器4 位计数器4 位半加器b9 b8 b7 b6输出脉冲比控制/2图 4.7 TimerB 结构1 P_TimerA_Data(读/写)(700AH )TinerA 的数据单元,用于向 16 位预置寄存器写入数据(预置计数初值)或从其中读取数据。在写入数值以后,计数器便会在所选择的频率下进行加一计数,直到计数到 0xFFFF 产生溢出。溢出后 P_TimerA_Data 中的数值将会被重置,再以置入的值继续加一计数。计数初值对于计数器/定时器的应用非常重要,计算计数初值一般分两步:选择需要的计数频率; 计算相应的计数初值。 P_TimerA_Ctrl(写) (700BH)b2 b1 b0本科毕业设计(论文)TimerA 的控制单元如表 4.2 所示。表 4.2 P_TimerA_Ctrl 单元b15b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0_ 占空比的设置 时钟源 B 选择位时钟源 A 选择位用户可以通过设置该单元的第 05 位来选择 TimerA 的时钟源(时钟源 A、B) 。通过设置 b0b2 来选择时钟源 A 的频率。如表 4.3 所示。表 4.3 设置 b0b2b2 b1 b0 时钟源 A 的频率0 0 0 fose/20 0 1 fose/2560 1 0 32768Hz0 1 1 8192Hz1 0 0 4096Hz1 0 1 11 1 0 0*1 1 1 EXT1用户可以通过设置该单元的第 05 位来选择 TimerA 的时钟源(时钟源 A、B) 。通过设置 b3b5 来选择时钟源 B 的频率。如图 4.4 所示。本科毕业设计(论文)表 4.4 设置 b3b5 位B5 B4 B3 时钟源 B 的频率0 0 0 2048Hz0 0 1 1024Hz0 1 0 256Hz0 1 1 TMB11 0 0 41 0 1 21 1 0 1*1 1 1 EXT2通过设置该单元的第 69 位,TimerA 将输出不同频率的脉宽调制信号,即对脉宽占空比输出 APWMO 进行控制。如表 4.5 所示。本科毕业设计(论文)表 4.5 设置 b6b9 位b9 b8 b7 b6 脉宽占空比(APWMO) TAON0 0 0 0 关掉 00 0 0 1 1/16 10 0 1 0 2/16 10 0 1 1 3/16 10 1 0 0 4/16 10 1 0 1 5/16 10 1 1 0 6/16 10 1 1 1 7/16 11 0 0 0 8/16 11 0 0 1 9/16 11 0 1 0 10/16 11 0 1 1 11/16 11 1 0

温馨提示

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

评论

0/150

提交评论