基于16位单片机的交通灯电路设计.docx

上传人:b****5 文档编号:4948095 上传时间:2022-12-12 格式:DOCX 页数:32 大小:598.51KB
下载 相关 举报
基于16位单片机的交通灯电路设计.docx_第1页
第1页 / 共32页
基于16位单片机的交通灯电路设计.docx_第2页
第2页 / 共32页
基于16位单片机的交通灯电路设计.docx_第3页
第3页 / 共32页
基于16位单片机的交通灯电路设计.docx_第4页
第4页 / 共32页
基于16位单片机的交通灯电路设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于16位单片机的交通灯电路设计.docx

《基于16位单片机的交通灯电路设计.docx》由会员分享,可在线阅读,更多相关《基于16位单片机的交通灯电路设计.docx(32页珍藏版)》请在冰豆网上搜索。

基于16位单片机的交通灯电路设计.docx

基于16位单片机的交通灯电路设计

基于16位单片机的交通灯电路设计

摘要

要对路口交通灯进行合理的控制,除了要采集真实的数据,并作合理的分析外,还需要建立模拟交通灯控制系统,并在此平台上对真实的交通灯状态进行模拟控制.本系统利用SPCE061A的强大的处理能力,控制交通灯控制模组,进行实际交通情况的模拟,模拟交通灯控制板就是通过使用单片机、PLC或其它器件控制一些LED和数码管,来模拟真实十字路口的交通灯的功能。

如模拟红黄绿灯交替闪亮、倒计数显示时间、方向灯指示方向等.了解单片机的内部结构,定时/计数器和中断的功能、工作原理。

如何将程序下载到单片机的闪存Flash中。

关键词:

单片机SPCE061A,交通灯,中断

 

TheDesignofCircuitofTrafficLightsBasedon16-bitsSingleChipMicrocomputer

Abstract

Inordertogiveareasonablecontrol,youshouldsamplerealdataandmakerationalanalyzeandsetupmodeltrafficlightcontrollingsystem,carryonmodelcontrollingtotherealstateofthetrafficlightsbasedonthisplatform.Makinguseofthepowerprocessingfunction,thissystemcontrolsthecontrollingmodeofthetrafficlightandoperatethesimulationoftherealtrafficstate,analogtrafficlightscontrollingboardsimulatethefunctionoftherealtrafficlightsatthecrossingbyusingSCM、PLCandotherapplicationstocontrolLEDandnixielight.ForexamplesimulatingtheshiningoftheRED、YELLOW、GREENlightbyturnsandshowingtimeincountdownmodelandmakeuseofdirectionlighttoindicatetherightdirectionandsoon.ThepurposeofthispaperisunderstandtheinnerstructureofSCMandtiming/countingandinterruptionfunctionandoperationprincipleandhowtomaketheprogramdownloadtotheflashofSCM.ThepapercanmakeusmastersomerelativeknowledgeofcircleandSCM.

Keywords:

SCMSpce061A,TrafficLights,Interrupt

 

外文文献原文

译文

 

1引言

1.1本文研究的目的和意义

目前,随着人民生活水平的提高,科技的发展,使得城市内交通成为引人关注意问题,而道路的状况又是交通情况的主要影响因素,这其中路口的交通灯控制显得极为重要;要对路口交通灯进行合理的控制,除了要收集真实的数据,并作合理的分析外,还需要建立模拟交通灯控制系统,并在此平台上对真实的交通灯状态进行模拟控制。

本系统利用SPCE061A的强大的处理能力,控制交通灯控制模组,进行实际交通情况的模拟;通过软件代码建立起交通灯控制的模形。

另外利用SPCE061A的特性,为本系统结合红灯倒计时显示、红绿灯显示,构成了模拟交通灯控制系统。

模拟交通灯控制就是使用单片机、PLC或其它器件来控制一些LED和数码管,模拟真实交通灯的功能。

红、黄、绿交替闪亮,倒计数显示时间,方向灯指示方向等。

1.2单片机的概念及其发展史

(1)单片机的概念

单片机(SingleChipMicrocomputer),是指在一块芯片中集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O接口以及定时器、计数器等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。

(2)单片机的发展史

①单片机初级阶段(1971~1974)

1971年Intel公司推出4004的4位微处理器,1974年仙童公司推出8位单片机F8。

②低性能单片机阶段(1974~1978)

以Intel公司推出MCS-48单片机为标志,把CPU和机关的计算机外围模块做到一块芯片上,大大地促进了单片机的变革,但这个阶段的单片机仍处于低性能阶段。

③高性能单片机发展阶段(1978~1983)

1978年Zilog公司推出Z8单片机,面Intel公司推出了MCS-48为基础的MCS-51;它们都使单片机的应用跃上了一个新台阶,此后各公司的8位单片机迅速发展起来。

④发展、巩固、提高阶段(1983~现在)

1983年Intel公司推出MCS-96系列的16位单片机,而在这个时期,Motorola、Intel、ATMEL、TI、三菱、日立、飞利浦等公司推出了许多增强型的8位单片机、16位单片机,甚至32位单片机,出了非常多的新型单片机,极大地推动了单片机的应用。

出现了单片机市场百家争鸣的场面。

(3)单片机的发展趋势

①微型单片化(SOC单片机)

▪减少产品设计、系统加工的复杂性

▪减少开发成本,缩短产品开发时间

▪单芯片集成电路可以降低系统功耗

▪加快了数据传输和处理的速度

▪减少甚至避免电路板信号传送所造成的信号系统串扰

2从控制型突围突出数据处理

微控制器越来越突出微处理器的特色,而微也在体现微控制器的特点。

3占据特色领域

很多单片机都在极力体现与众不同的特色,以期的激烈的竞争中寻求突破口。

④应用领域

SPCE061A单片机的应用广泛,主要用于:

(1)仪器仪表,即数字仪表。

(2)电表、水表、天然气表和暖气表。

(3)工业控制。

(4)智能型家居控制器。

(5)体育健身产品。

(6)医疗器械和保健器材。

 

2研究现状和设计要求

2.1主要功能

模拟交通灯控制板主要功能就是通过使用单片机、PLC或其它器件控制一些LED和数码管,来模拟真实交通灯的功能:

如模拟红黄绿灯交替闪亮、倒计数显示时间、方向灯指示方向等。

要求系统具有以下功能:

1.十字路口的四个路口都有双色LED(发红。

发绿,叠加为黄色)

2.每个路口有两位数码管显示当前红灯的倒计时。

3.可利用按键或其它的方式模拟交通灯的设置。

4.有三种工作状态:

正常工作状态、紧急工作状态、设置状态。

另外,在不进行扩展功能设计时,要求全部程序和资源都放置在SPCE061A片内的Flash当中。

2.2模块特性简介

本系统采用SPCE061A单片机作为主控制器,交通灯模拟采用交通灯控制模组板,下面分别介绍一下这两个模块的特性。

2.2.1SPCE061A模块特性简介

本系统采用SPCE061A单片机作为主控制器,交通灯模拟采用交通灯控制模组板,下面分别介绍一下SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。

这为实现语音录入提供了方便的硬件条件。

两路10精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。

另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。

在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:

SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(μ’nSPIDE)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。

下图为SPCE061A单片机的内部结构框图如图2.1所示。

图2.1单片机内部结构框图

μ’nSP内核的CPU中,RAM与ROM是统一编址的,简化了传统单片机复杂的数据、程序地址结构;可以芯片的模块化设计更加方便;而且在061中,并没有把地址、数据总线拉出,这正是体现了目前SOC概念单片机的设计思想。

SPCE061A片内集成的2KSRAM中,I/O端口以及系统端口并未占用SRAM。

可在程序中操作相关寄存器进行片内Flash擦写动作。

μ’nSP内核的CPU如图2.2所示。

图2.2μ’nSP内核的CPU

2.2.2芯片特性

⑴16位μ’nSPTM微处理器核心;

⑵工作电压:

内核CPU的工作电压VDD为3.0~3.6V,I/O接口工作电压VDDH3.0~5.5V;

⑶CPU时钟:

0.32MHz~49.152MHz;

⑷内置2K字静态内存SRAM;

⑸内置32K字闪存(FLASH);

⑹晶体振荡器;

⑺系统处于备用状态下(时钟处于停止状态),耗电小于2μA/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-CircuitEmulator)接口[1]。

2.2.3SPCE061A精简开发板

SPCE061A精简开发板(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。

61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便学生随身携带使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!

61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合u’nSPIDE,可方便地在板上实现程序的下载、在线仿真调试。

61板上的主要功能模块如下:

SPCE061A单片机最小系统外围电路模块;

电源输入模块;

按键模块;

I/O端口接口模块;

调试、下载接口模块;

61板的实物图如图2.3所示。

图2.361板实物图

2.2.4中央处理器(CPU)

中央处理器CPU单元中,般由两大部分组成:

远算器和控制器,如图中所示,运算器包括ALU算术逻辑单元、累加器、暂存器、PSW程序状态字以及通用寄存器组成,主要完成运算由控制器提供的数据,并受控制器的控制。

控制器负责从程序存储器(ROM)中取指令和数据,并对指令进行译码,同时还从数据存储器RAM中取出数据,提拱给运算器,并控制运算器完成预定的运算,且运算结果出会由控制器进行分配,将控制后续程序的执行,或提供数据给后续的运算等。

一般最直观反映出CPU级别的为地址线和数据线的宽度,也就是一次可以并行传送的地址数据、运算数据的位数(二进制),八位宽度的称为8位单片机,十六位宽度的称为16位单片机。

中央处理器如图2.4所示。

图2.4中央处理器(CPU)

 

3交通灯控制模组板特性

模拟交通灯控制板由红绿灯模块、倒计时数码管模块组成。

下面简单介绍各个模块的电路原理。

3.1系统总体方案介绍

(1)本系统由一块SPCE061A精简开发板(61板)和一块模拟交通灯控制板组成,可以模拟比较复杂的路口的交通灯控制。

此系统以SPCE061A为核心,根据61板的特点和功能来实现模拟交通灯的功能,可以根据按键盘模块来进行设置单片机的功能,如紧急状态、正常状态、设置状态。

根据检测结果按照程序设定的方式去控制红绿灯模块、倒计时数码管模块。

控制系统的硬件结构框图如图3.1所示。

61板模拟交通灯控制板

图3.1模拟交通灯控制系统结构图

本系统定义3个按键,可以直接利用61板上的3个按键,用来控制系统的状态。

下面介绍这三个按键的定义:

⑴在正常运行状态,按下Key1会进入紧急状态,按下Key2会进入设置状态,按下Key3返回。

⑵在设置状态,按下Key1开始设置南北的红灯时间,按下Key2设置南北的绿灯时间,按下Key3返回正常运行状态。

⑶按下Key3返回正常运行状态。

在紧急状态,按下Key3键返回正常运行状态

(2)61板和模拟交通灯的排线接法:

61板和模拟交通灯控制板通过排线连接,其接线方法如下:

61板---交通灯板

+5V——VCCIOB8——IO-0

IOB0——CS0IOB9——IO-1

IOB1——CS1IOB10——IO-2

IOB2——CS2IOB11——IO-3

IOB3——CS3IOB12——IO-4

IOB4——CS4IOB13——IO-5

IOB5——CS5IOB14——IO-6

IOB15——IO-7

GND――VSSGND――VSS[2]

3.2设计内容

设计一个东西南北十字路口交通信号灯的控制装置,每个路口三盏灯(左转弯、直行和人行横道)。

使两方向的车辆运行如下:

1.南边与北边的直行车道为绿灯,东边与西边的人行横道绿灯,其余的灯为红灯;

2.南边与北边的左转车道为绿灯,其余的灯为红灯;

3.南边与北边左转车道为黄灯,其余的灯为红灯;

4.东边与西边的直行车道为绿灯,南边与北边的人行横道为绿灯,其余为红灯;

5.东边与西边的左转车道为绿灯,其余的灯为红灯;

6.东边与西边左转车道为黄灯,其余的灯为红灯;

3.3交通灯的管脚和单片机的对应图:

模拟交通灯控制板的引脚说明如表3.1所示。

 

表3.1模拟交通灯控制板的引脚

引脚符号

类型

说明

VCC

P

5V

VSS

P

GND

CS5

O

选通LED数码管的高位

CS4

O

选通LED数码管的低位

CS3

O

选通第四组双色LED

CS2

O

选通第三组双色LED

CS1

O

选通第二组双色LED

CS0

O

选通第一组双色LED

IO-1…IO-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的时钟。

第0~2位用来改变CPUCLK,若将第0~2位置成“111”便可使CPU停止工作,系统切换到低功耗的睡眠状态;通过设置该单元的第5~7位可以改变系统时钟的频率。

此外,在睡眠状态下,通过设置该单元的第4位可以接触或关闭32768Hz实时时钟。

设置P_SystemClock单元如表3.2所示。

表3.2设置P_SystemClock单元

b15~b8

b7~b5

b4

b3

b2

b1

b0

PLL频率选择

32768Hz睡眠状态

32768Hz方式选择

CPU时钟选择

1:

在睡眠状态下,32768Hz时钟仍处于工作状态(默认)

0:

在睡眠状态下,32768Hz时钟关闭

1:

32768Hz时钟处强振模式

0:

32768Hz时钟处于自动弱振模式(默认)

32768HzRTC振荡器有两种工作方式:

强振模式和自动弱振模式。

可以通过对P_SystemClock的设置进行选择。

处于强振模式时,RTC振荡器始终运行在高耗能的状态下。

处于自动弱振模式时,系统在上电复位后的前7.5s内处于强振模式,然后自动切换到弱振模式以降低功耗。

CPU被唤醒后默认的时钟频率为Fosc/8,用户可以根据需要调整该值。

CPU被唤醒后经过32个时钟周期的缓冲时间后再进行其它的操作,这样可以避免在系统被唤醒后造成ROM读取错误。

在SPCE061A内,P_SystemClock(写)(7013H)单元(如表2.7所示)控制着系统时钟和CPU时钟。

第0~2位用来改变CPUCLK,若将第0~2位置为“111”可以使CPU时钟停止工作,系统切换至低功耗的睡眠状态;通过设置该单元的第5~7位可以改变系统时钟的频率(如表2.9所示)。

此外,在睡眠状态下,通过设置该单元的第4位可以接通或关闭32768Hz实时时钟。

CPU时钟频率选择如表3.3所示。

表3.3CPU时钟频率(CPUCLK)选择

b2

b1

b0

CPUCLK

0

0

0

fosc

0

0

1

fosc/2

0

1

0

fosc/4

0

1

1

fosc/8

1

0

0

fosc/16

1

0

1

fosc/32

1

1

0

fosc/64

1

1

1

停止(睡眠状态)

 

注:

①只有当b0~b2同时被置为“1”时(即睡眠状态)b4设置才有效。

②上电复位或系统从设备状态(睡眠状态),被唤醒后,默认的CPU时钟频率为fosc/8。

3.4.3时间基准信号

时间基准信号简称为基信号,来自于32768Hz实时时钟,通过频率选择组合而成。

时基信号发生器的选频逻辑TMB1为TimerA的时钟源B提供各种频率选择信号,还为中断系统提供中断源(IRQ)信号。

此外,时基信号发生器分频产生2Hz、4Hz、1024Hz、2048Hz以及4096Hz的时基信号,为中断系统提供各种实时中断源(IRQ4和IRQ5)信号。

时基信号发生器的结构如图所示。

1.P_Timebase_Setup(写)(700EH)

时基信号发生器通过对P_Timebase_Setup(写)(700EH)单元的编程写入来进行选频操作。

P_Timebase_Setup单元设置如表3.4所示,选频操作如表3.5所示。

表3.4P_Timebase_Setup单元

b15~b4

b3

b2

b1

b0

——

TMB2选频逻辑

TMB1选频逻辑

 

表3.5选频操作

b3

b2

TMB2

b1

b0

TMB1

0

0

128Hz*

0

0

8Hz**

0

1

256Hz

0

1

16Hz

1

0

512Hz

1

0

32Hz

1

1

1024Hz

1

1

64Hz

*:

默认的TMB2输出频率为128Hz

**:

默认的TMB2输出频率为8Hz

2、P_Timebase_Clear(写)(700FH)

P_Timebase_Clear(写)(700FH)单元是控制端口,设置该单元可以完成时基计数器复位和时间校准。

向该单元写入任意数值后,时基计数器被置为“0”,以此可对时基信号发生器进行精确的时间校准。

时基信号发生器结构原理图如图3.3所示。

图3.3时基信号发生器的结构原理图

3.5中断

中断是为了使处理器对外界异步事件具有处理能力而设置的,中断技术的引入把计算机的发展和应用大大地推进一步,因此中断功能已成为衡量一台计算机性能地重要指标。

中断是指计算机在执行某一程序的过程中,由于计算机系统内、外部的某种原因,必须终止原程序的执行,而转去执行相应的处理程序。

待处理结束后,再回来继续执行被终止的原程序的过程。

中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入输出效率;中断技术也能运行过程中突然发生的故障做到及时发现并进行自动处理。

如:

硬件故障、运行错误及程序故障等。

中断还能使我们通过键盘向计算机发出请求,随时对运行中的计算机进行干预,而不用先停机,然后再重新开机等。

中断源是指再计算机系统中向CPU发出中断请求的来源,中断源可以人为设定,也可以是响应突发性随机事件而设置。

如定时器中断,它的中断源即是定时器。

由于在实际的系统中,往往有多个中断源,且中断申请是随机的,有时可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断请求,这就需要用软件或硬件按中断源工作性质的轻重缓急,给它们安排一个优先顺序,即所谓的优先级排队。

中断优先级越高,则响应优先权就越高。

当CPU正执行中断服务程序时,有优先级更高的中断申请产生,若CPU能够暂停对原来的中断处理程序,而去处理优先级更高的中断请求,处理完毕再回到原低级中断处理程序,这一过程称为中断嵌套。

具有这种功能的中断系统称为多级中断系统;没有中断嵌套功能的则称为单级中断系统。

具有二级中断服务程序嵌套的中断过程如图3.4所示。

 

CPUCPU执行低级CPU执行

正执行主程序中断服务程序高级中断服务程序

图3.4二级中断服务程序嵌套

(1)在每条指令结束后系统都会自动检测中断请求信号:

如果有中断请求,相应的中断允许位为真(允许中断),相应的总中断允许位也为真(允许中断),则响应中断。

(2)保护现场:

CPU一旦响应中断,中断系统会自动地当前的PC和SR寄存器(入桟),进入中断服务程序地址入口;中断服务程序通过入桟保护原程序中用到地数据,保护现场前,一般要关中断以防止现场破坏。

(3)中断服务:

该中断服务为相应的中断源服务。

(4)清相应的中断请求标志位:

该位可使CPU总是执行该中断。

(5)恢复现场:

用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断。

以防止现场被破坏,在恢复现场后应及时开中断。

(6)返回:

此时CPU将PC指针和SR内容出栈恢复断点,从而使CPU继续执行刚才被中断的程序。

SPCE061A单片机它可以提供14个中断源,

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1