




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大 学 学 士 学 位 毕 业 论 文课题名称基于单片机控制往返电动小车系统设计 学生姓名 学 号 专 业 班 级 指导教师 2007 年6 月 目 录摘要abstract第一章 系统的总体设计 1.1 系统总体设计的要求与任务1 1.2方案的设计与论证 2 1.3单片机控制总体设计思路与原理 3 1.4单片机控制的设计工作情况 8第二章 检测电路设计 2.1路面检测电路设计10 2.2地面检测电路的设计原理11 2.3 st178器件简介112.3.1 st178的特点 11 2.3.2 st178的极限参数 11 2.3.3 st178的光电特性 122.3.4 st178工作原理与应用
2、13第三章 8051单片机的性能介绍3.1 mcs-51单片微机8051内部部件和接口电路 153.2 8051的引脚说明173.3振荡器特性和时钟电路 183.4芯片擦除特性和复位电路 18 3.4.1芯片擦除特性18 3.4.2上复位电路设计183.5 mcs-51的中断优先级20第四章 8255芯片的功能概要 4.1 8255的外部引线与内部结构22 4.2 8255a的基本特性和工作方式选择 23 4.2.1 8255a并行输入输出接口芯片的基本特性 23 4.2.2 8255a的编程命令24 4.2.3 8255a的方式0与连接方式254.2.4 8255a的方式1与连接方式254.
3、2.5 8255a的方式2与连接方式27第五章 驱动电路设计 5.1电机驱动电路的设计 29 5.1.1电机驱动电路的设计电路及原理29 5.1.2 pwm-m控制电路的基本构成及工作原理295.2转向驱动电路的设计电路及原理 30第六章 键盘和显示电路的设计 6.1键盘的简介与键盘的消抖方法 31 6.1.1键盘的简介 31 6.1.2键盘的消抖方法 31 6.2键盘的工作原理326.3键盘的工作方式326.4显示器的结构和动态显示原理326.5键盘和显示器的应用33第七章 系统的软件设计 7.1系统软件设计的总思路34 7.2系统程序设计35 7.2.1 8255的程序初始化35 7.2.
4、2对端口c的置位复位35 7.3键盘和显示器的程序设计36 7.4键盘扫描子程序37结论41致谢语 42主要的参考文献 43摘 要本系统以单片机为核心对电动车进行智能化控制,即cpu通过对障碍与标志进行检测分析自动完成小车的前进、后退、转向控制;利用数控网络实现数字量直接控制多级速度变化以满足各段跑道内不同的速度要求。行驶时间和行驶距离均为液晶自动显示。并且每次转向、倒车、停车时均由发光二极管显示其状态,倒车时伴有峰音。由于电动小汽车纯硬件控制具备很多的缺点,并且不宜实现复杂运动的自动控制功能(不能用人工控制),而单片机具有体积小,重量轻,耗电少,功能强,控制灵活方便,价格低廉等优点。本设计就
5、是以单片机8051芯片为核心,附以外围电路,采用光点检测器进行检测信号和障碍物;运用单片机的运算和处理能力来实现小汽车的自动加速、限速、减速、定时、语音、前进、后退、左转、右转、显示路程、显示行驶速度、行驶时间等智能控制系统。关键词:自动往返电动小汽车;光电检测器abstractsingle chip computer at the core of the system to electric vehicles for intelligent control of the cpu through barriers and signs for automatic detection analys
6、is trolleys completed advance, retreat, to control; use digital networks to achieve direct control over the number of changes to meet the level of the runway at different speed. travelling time and travelling distances are liquid crystal automatically show. and each one, reverse, stopping by luminou
7、s diode show their status, reverse, accompanied by warning tone. because pure electric cars have many hardware control weaknesses, and not achieve the automatic control functions of complex movements (not used artificial control), while single chip computer a size small, lightweight, low consumption
8、, the functional strong, flexible control convenience and low prices, and other advantages. the design is to single chip computer 8051 chip at the core, attached to the external circuit, the use of optical signals point detectors for the detection and obstacles; single chip computer use of arithmeti
9、c calculations and processing capacity to accelerate the realization of automatic cars, speed, deceleration, timing, voice, advance, retreat, turn left, turn right, shows distance and speed shows, travelling time wisdom control systems.keywords: automatically back and forth car; photoconductor measu
10、ring第一章 系统总体设计1.1总体设计任务和要求(一)任务设计并制作一个能自动往返于起跑线与终点线间的小汽车。允许用玩具汽车改装,但不能用人工遥控(包括有线和无线遥控)。跑道宽度0.5m,表面贴有白纸,两侧有挡板,挡板与地面垂直,其高度低于20cm。在跑道的b、c、d、e、f、g各点处画有2cm宽的黑线,各段的长度如图1所示。 (二)要求1基本要求(1)车辆从起跑线出发(出发前,车体不得超出起跑线),到达终点线后停留10秒,然后自动返回起跑线(允许倒车返回)。往返一次的时间应力求最短(从合上汽车电源开关开始计时)。(2)到达终点线和返回起跑线时,停车位置离起跑线和终点线偏差应最小(以车辆中
11、心点与终点线或起跑线中心线之间距离作为偏差的测量值)。(3)de间为限速区,车辆往返均要求以低速通过,通过时间不得少于8秒,但不允许在限速区内停车。2发挥部分(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。(2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。(3)其它特色与创新。1.2方案的设计与论证本系统为典型的实时控制系统,易用单片机控制实现,下面就速度控制部分、方向控制部分和路程计数的设计部分几种设计方案进行论证. 1. 速度控制部分 我们对三个方案进行了比较: 方案一:采用d/a变换电路将数字量转换成控制电机电压的模拟量。再利用电平的高低达到调速的目的。本方案达
12、到了利用cpu输出的数字量精确控制模拟量的目的。但愿电路比较复杂,成本较高。方案二:采用脉宽调制方式(pwm)从i/o口输出不同占空比的脉冲,经滤波后获得不同甘共苦高低电平控制电机。本方案可以达到对速度的控制要求,且控制简单易实现。但输出波形经滤波后纹波较大,控制直流电机时转速不稳,速度准确度不高。方案三:采用数控网络控制直流电机的驱动电压。原理框图如图3所示。本方案电路简单容易实现,且数字量与速度一一对应,速度准确度高且容易控制。利用8位数字量即可获得256级速度控制。通过比较明显方案三最简洁清晰、容易实现、速度快、精度高。从系统指标要求来看,对速度要求较高,低速与高速之间差别较大,且准确度
13、要求高,各个速度之间的切换也要求简单、迅速。采用方案三可利用单片机运行速度快的特点进行速度的快速调整,且方案三速度准确度高、级数多容易达到系统指标要求,所以我们选用方案三作为控制部分具体实施的方案。2.方向控制部分方案一:利用继电器控制电机电压极性以控制方向。该方案虽可实现方向控制,但继电器驱动耗电量大,且因有触点动作,易对电路造成干扰。方案二:采用电子开关电路。本方案通过改变控制端电平值改变电机两端电压极性控制方向。采用电子开关电器具有转换速度快、无触点、和控制容易的优点。两种方案相比,方案二有较明显的优势,且符合要求。3.路程计数的设计部分方案一:通过检测车轮转过的转数乘以车轮的周长来计算
14、路程,霍尔元件是一种很好的可用于车轮转数计数的元件。在普通转盘计数的仪表中加装霍尔元件和磁铁,即可构成基于磁电转换技术的传感器,霍尔元件固定安装在计数转盘附近,永磁铁安装在计数盘位上,当转盘每转一圈,永磁铁经过霍尔元件一次即在信号端产生一个计量脉冲。方案二:采用对射式光电管对行驶距离进行测量,通过检测信号脉冲个数计算出行驶距离。因为车轮周长为12.5cm,轮盘每周开孔25个,故测距分辨率可达5mm。两种方案比较,这里考虑到大众化设计,采用第二种方案。1.3单片机控制总体设计思路与原理单片机控制自动往返电动小汽车的硬件构成包括8051芯片、8255芯片、地址锁存器等组成的单片机控制电路、地面检测
15、电路、速度检测电路、电机驱动电路、转向驱动电路、键盘及显示电路。整个系统的关键电路是单片机控制电路,是整个控制的中心部分,即可通过地面检测电路和速度检测电路采样的输入的信号,再将信号输出到显示器进行显示,并可以通过键盘进行控制,如果地面检测出障碍物报警系统开始工作并对其中部分电路编出子程序,以及相应的软件设计。1. 检测设备部分 (有前面的要求知,本设计需要检测起点终点限速区一定黑白对比度的黑线和跑道两侧的障碍物挡板) 通过对系统指标要求分析,小车需自动检测出起跑线、变速线、终点线等标志线及在小车与左右挡板之间的距离过小时提示cpu控制方向。采用反射式光电管检测车体距挡板的远近,当汽车距挡板约
16、810cm时,vout发生跳变,小车需要调整方向以避免和挡板相撞。电路如图1-2所示。图1-2 反射式光电管图1-3 对射式光电管采用对射式光电管对行驶距离进行测量,通过检测信号脉冲个数计算出行驶距离。因为车轮周长为12.5cm,轮盘每周开孔25个,故测距分辨率可达5mm。电路如图1-3所示。 采用反射式光彩夺目电管以检测跑道上的黑线,并给cpu提供检测信号以供cpu判断分析。电路如图1-4所示。图1-4 反射式光彩夺目电管2. cpu为本系统的核心。其功能包括接收、判别检测信号,提供控制前后或左右方向驱动,提供速度控制的数字量和显示信号。接收左右方向检测信号时利用两条i/o口线同时分别扫描左
17、右挡板检测光电管输出脚,当接收到某一管脚电平跳变时,即由cpu控制转向,以防止小车跑偏。并同时控制转向灯。利用cpu的int0脚接收标志线检测信号,每检测到一条黑线,光电管给出一个高电平脉冲,cpu每检测到一个下降沿进行一次中断处理,判断小车处于跳道的哪一段,同时调整速度,一方面要符合不同的速度要求,同时使整个运行时间最短。前进/后退和左转/右转的方向控制各用两条i/o口线,当两条口线电平不同时分别控制向前/向后或向左/向右。当四条口线全为高电平时停车并点亮停车指示灯。倒车的同时点亮倒车指示灯并启动蜂鸣器,指示灯每0.5秒闪烁一次,蜂鸣器每0.5秒鸣叫一次,以示倒车。定时器t0工作于记数方式,
18、通过测量对射式光电管检出脉冲个数,计算行驶距离。每行驶0.5米,刷新一次液晶的距离显示,检测距离可分辨到5mm。定时器t1工作于定时方式,用于自动记录行驶时间,且每一秒刷新一次液晶的时间显示。3. 速度控制部分 利用数控电源控制电机输入电压。选用8位数字量控制,即可获得28=256级速度。电路如图1-5所示。参数确定:图1-5 速度控制部分电路此电路以p0口控制n1n8的导通和截止来调节电阻值的大小。口线为高时对应三级管导通,对应电阻并入电路;口线为低时对应三极管截止,对应电阻无效。当p0口置00h时数控部分电路电阻仅为r1;当p0口置80h时电阻变为r1和r2并联;当p0口置0c0h时电阻变
19、为r1与r2与r3并联;依此类推共有256种电阻值,对应256级输出电压。并联后电阻值变小,所以当p0口为00h时对应的电阻值最大。输出电压与电阻近似为线性关系,即00h对应输出电压的最大值。根据系统指标要求与实际测量车速与电压的对应关系确定输出的最大电压约为6v,最小电压约为1.4v,由此可确定r1的阻值及所有电阻并联的阻值。从而将输出电压范围等分为256级,依次确定其余电阻阻值大小以实现速度均匀变化。4. 驱动电路部分 电路如图1-6所示。速度驱动由可变电源输出电压至vm端控制,速度与电压大小呈线性关系。方向驱动由口线控制和开关量对应。 参数确定:因为三极管导通要求ibibs=ics/。对
20、n1,io1端电压约为5v,对tr1;vm端电压范围约为1.36.8v,由此可列方程组确定r12.3k,r297,取r1=2k,r2=100。图1-6 驱动电路部分图1-7 蜂鸣器电路5. 显示及辅助部分 该部分直接由cpu驱动lcd显示器以自支显示行驶距离和往返时间。由cpu的i/o口直接驱动led发光二极管显示其转向、倒车、停车状态。电路见图1-8。蜂鸣器电路如图1-7所示。图1-8 显示电路1.4单片机控制的设计工作情况本系统主要通过地面检测电路检测信号和绕过障碍物,再把采样的输入信号输入,运用单片机的运算和处理能力来实现小车的加速、减速,限速,左转、右转,前进和后退,结合键盘控制实现l
21、ed显示,并可显示行驶速度,行驶路程和行驶时间。由于电动小汽车纯硬件控制具有很多缺点,并且不宜实现复杂运动的自动控制功能(不能用人工控制)。而单片机具有体积小,重量轻,耗电少,功能强,控制灵活方便,价格低廉等优点。本设计就是以单片机8051为核心,辅以外围电路,采用光电检测器进行检测信号和障碍物;运用单片机的运算和处理能力来实现小车的前进、后退、左转、右转、显示行驶速度、行驶路程、行驶时间等智能控制系统。如图1-9所示,检测电器完成对左右挡板及标志线的检测,并将信号提供给cpu;cpu内核对检测到的信号加以分析和判别,及时做出相应的输出处理;左右方向控制电路是通过电子开关实现对前轮(方向)电机
22、的电压极性控制以实现方向调整;前后方向控制用来控制汽车的前进与倒退;速度控制电路是通过数控网络实现对后轮(速度)电机驱动电压的调整以实现对速度的控制;lcd显示用来显示电动汽车的运行时间与距离;辅助电路部分包括转向灯指示,倒车灯指示,停车灯指示及倒车蜂鸣电路。图1-9 硬件总体框图第二章 检测电路设计 2.1路面检测电路的设计本设计需要检测起点终点限速区一定黑白对比度的黑线和跑道两侧的障碍物(挡板)。图2-1是速度检测电路。它采用反射取样式,单光束红外传感器st178接收信号,再分别用运放lm324比较电压信号进行放大。图2-1的电路在5v电压下工作,根据该型号传感器红外发射管所需的工作压降(
23、红外发射管的正向压降在11.3v)和工作电流(红外发射管的电流为210ma),选取负载电阻r1=0.51k,红外接收管负载电阻r2=51k。取r3=r4=1k是由r5进行设置。 图2-1速度检测电路2.2地面检测电路设计原理图2-2 地面检测电路它采用反射取样式,单光束红外传感器st178接收信号,再分别用运放lm324比较电压信号进行放大。图2-2的电路在5v电压下工作,根据该型号传感器红外发射管所需的工作压降(红外发射管的正向压降在11.3v)和工作电流(红外发射管的电流为210ma),图2-2的电路是在+9v电压工作的,选取r6=2k,r7=270k,r8=270k,r9=100k。由电
24、路图可以得出,当有障碍物被其探测到时,输出端输出一个高电平,即发生一个正向跳变,将这个正向跳变信号用单片机检测出来,借此控制放大器lm324产生相应的动作。2.3 st178器件简介2.3.1 st178的特点 1采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。2检测距离可调整范围大,4-10mm可用。3采用非接触检测方式。2.3.2 st178的极限参数:(ta=25)项目 符号 数值 单位 输 入 正向电流 if 50 ma 反向电压 vr 6 v 耗散功率 p 75 mw 输出 集-射电压 vceo 25 v 射-集电压 veco 6 v 集电极功耗 pc 50 mw 工作温度 t
25、opr -2065 储存温度 tstg -3075 图 2-3 内部电路示意 2.3.3 st178的光电特性(ta=25)项 目 符号 测试条件 最小 典型 最大 单位 输入 正向压降 vf if=20ma - 1.25 1.5 v 反向电流 ir vr=3v - - 10 a 输出 集电极暗电流 iceo vce=20v - - 1 a 集电极亮电流 il vce=15v if=8 ma h1 0.30 - - ma h2 0.40 - - ma h3 0.50 - - ma 饱和压降 vce if=8ma ic=0.5 ma - - 0.4 v 传输 特性 响应时间 tr if=20ma
26、 vce=10v irc=100 - 5 - s tf - 5 - s 注:集电极亮电流il、饱和压降vce、响应时间是在红外光电传感器前端面与亮检2.3.4 st178的工作原理及应用光电传感器st178的介绍:反射式红外光电传感器是利用被测物体对红外光的反射和吸收来实现对被测物体的测量和计数的,要求被测物体的取样标记与其本身的光洁度和颜色反差大,尽量减少外界光的干扰,光电传感器的前端面与被测物体的最佳检测距离为81.5mm。 (1)芯片说明 如图2-4所示,第一脚:vcc正电源,接+5v;第二脚:gnd接地;第三脚:信号输出;第四脚:接+5v; (2)典型应用电路 参考传感器选型手册提供的
27、典型电路,选用两个st178并排使用,外加方向判别专用电路st288a连接的电路如图2-5所示。 图2-4光电传感器示意图 图2-5 光电传感器典型应用电路 说明:1.图中光电传感器st178的a路为前输入端,b路为后输入端2.取样的暗标志与亮标志的宽度必须大于两反射式光电传感器光束间的间距,确保采样脉冲的可靠性,防止误发采样信号。本设计将地面检测电路和速度检测电路的输出端接到8051的int0和int1,当地面检测到障碍物时,就会产生一个中断信号,同时如果速度需要调节,也会爱int1口产生一个中断请求,并进行模数转换,得到对应的数字信号,送到8051中进行处理。第三章8051单片机性能介绍3
28、.1 mcs-51单片微机8051内部部件和接口电路mcs-5单片微机8051内部包含如下部件:8位cpu振荡器和时钟电路4k/8k 字节的程序存贮器。128/256字节的数据存贮器。可寻址外部程序存贮器和数据存贮器,各64k字节。二十多个特殊功能寄存器。32线并行i/o口。1个全双工串行i/o口。2/3个16位定时器/计数器。5/6个中断源,2个优先级。具有位寻址功能,有较强的布尔处理能力。图3-1 单片机的片外总线结构 由上图可以看到,单片机的引脚除了电源、复位、时钟接入、用户i/o口外,其余管脚都是为了实现系统扩展而设置的。这些引脚构成了mcs-51单片机片外三总线结构:(1) 地址总线
29、(ab):地址总线宽度为16位,因此,其外部存储器直接寻址为64k字节,16位地址总线由p0口经地址锁存器提供低8位地址(a0a7);p0口直接提供高8位地址(a8a15)。(2) 数据总线(db):数据总线宽度为8位,由p0口提供。控制总线(cb):由四根独立控制线reset、ale、组成。3.2 8051的引脚说明图3-2 8051单片机的引脚图 引脚功能: mcs-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照-单片机引脚图: l p0.0p0.7 p0口8位双向口线(在引脚的3932号端子)。 l p1.0p1.7 p1口8位双向口线(在引脚的18号端子)。 l p2.0p
30、2.7 p2口8位双向口线(在引脚的2128号端子)。 l p3.0p3.7 p2口8位双向口线(在引脚的1017号端子)。 这4个i/o口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的表达方式来写的,相信你也能够理解。 p0口有三个功能: 1、外部扩展存储器时,当作数据总线(如图1中的d0d7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的a0a7为地址总线接口) 3、不扩展时,可做一般的i/o使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 p1口只做i/o口使用:其内部有上拉电阻。 p2口有两个功能: 1
31、、扩展外部存储器时,当作地址总线使用 2、做一般i/o口使用,其内部有上拉电阻; p3口有两个功能: 除了作为i/o使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部eprom的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30脚(ale/prog) 编程电压(25v):31脚(ea/vpp)3.3振荡器特性和时钟电路xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xta
32、l2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.4芯片擦除特性和复位电路 3.4.1芯片擦除特性整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器
33、,禁止所用其他芯片功能,直到下一个硬件复位为止。3.4.2上复位电路设计1.单片机的复位状态 单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的rst引脚上出现24个时钟振荡脉冲以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位。在设计复位电路时,通常使rst引脚保持10ms以上的高电平。只要rst保持高电平,则mcs-51单片机就循环复位;当rst从高电平变为低电平以后,mcs-51单片机从0000h地址开始执行程序。在复位有效期间,ale引脚输出高电平。1. 电复位电路和开关复位组合电路图3-2上电复位和开关复位组合电路mcs-51单片机通常都采用上电自动
34、复位和开关复位二种方式。复位电路的核心就是如前所述的必须保证rst引脚上出现10ms以上稳定的高电平,这样就能实现可靠地复位。因此,无论简单还是复杂的复位电路,都是为了保证这个10ms以上的稳定的高电平。上电复位电路在通电瞬间,在rc电路充电过程中,rst端出现正脉冲,从而使单片机复位。cr和 rr的值随时钟频率变化而变化,可由实验调整,当采用6mhz时钟时,cr为22uf,r1取1。在实际的应用系统中,有些外围芯片也需要复位,如果这些复位端的复位电平要求与单片机的复位要求一致,则可以与之相连。上述两种简单的复位电路中,干扰易串入复位端,在大多数情况下不会造成单片机的错误复位,但会一起内部某些
35、寄存器错误复位。这时,可在reset复位引脚上接一个去耦电容。如果应用现场干扰严重或整个感应用系统干扰严重,引起单片机复位,可采用屏蔽的办法解决,如加屏蔽网或移动位置等。在实际应用系统中,为了保证复位电路可高地工作,常将rc电路接斯密特电路后再接入单片机复位端和外围电路复位端。这特别适合于应用现场干扰大、电压波动大的工作环境,并且,当系统有多个复位端时,能保证可靠地同步复位。3.5 mcs-51的中断优先级中断系统是为了使处理机具有对外界异步时间的处理能力而设置的。当中央处理机cpu正在处理某件事的时候外界发生了紧急事件请求,要求cpu暂停当前的工作,转而去处理这个紧急事件。处理完以后,再回到
36、原来被中断的地方,继续原来的工作,这样的过程称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源懂事想cpu请求中断,要求为它服务的时候,这就存在cpu有限响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。cpu总是先响应级别最高的中断请求。mcs-51系列单片机微机中断系统,是八位机中功能较强的一种,它可以提供5个中断请求源,具有两个中断优先级,可实现两级中断服务程序嵌套。拥护可以用中断指令来屏蔽所有的中断请求也可以用开中断指令使cpu接受中断申请;每一个中断源可以用软件独立地控制为开中断状态;每一个中断级别均
37、可用软件设置。mcs-51有两个中断优先级,对于每一个中断请求源可编程为高优先中断或低优先中断,可实现二级中断嵌套。一个正在执行的底优先级中断能被高优先级中断所中断,但不能被另一个低有限级中断所中断,一直执行到结束,遇到返回指令ret1,返回主程序后再执行一条指令才能响应新的中断申请。1ie0 (外中断int0) 最高优先级 0003h2tf0 (定时器0溢出中断) 000bh3ie (处中断int1) 0013h4tf1 (定时器1溢出中断) 001bh5ri+ti (串行口中断) 0023h6tf2+exf2 (定时器2溢出中断) 最低优先级 002bh当cpu正在处理一个中断源请求的时候
38、,发生了另一个优先级比它高的中断源请求。如果cpu能够暂停对原来中断源的处理程序,转而去处理优先级更高的中断请求。处理完以后,再回到原低级中断处理程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系统,没有中断嵌套功能的中断系统称为单级中断系统。这种“同级内的优先级”,仅用来解决相同优先级中断源同时请求中断的情况,而不能中断正在执行的同优先级的中断。第四章 8255芯片的功能概要可编程并行接口芯片8255a-5,.11断源的请求。这些状态标志可用方式intel 8255a-5是一个为8085和8088微型机系统设计的通用输入/输出接口芯片。它可用程序来改变功能,通用性强,使用灵活,通过它
39、可直接将cpu总线接向外设。4.1 8255的外部引线与内部结构8255a是一个单5v电源、40个引脚的双列直插式组件,其外部引线如图所示。芯片说明:8255a是intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行i/o口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。8255有三种基本工作方式,三种工作方式由工作方式控制字决定,方式控制字由cpu通过输入/输出指令来提供.三个端口中pc口被分为两个部分,上半部分随pa口称为a组,下半部分随pb口称为b组.其中pa口可工作与方式0、1和2,而pb口只能工作在方式0和1
40、。8255共有40个引脚,采用双列直插式封装,各引脚功能如下:d0-d7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。cs:片选信号线,低电平有效,表示芯片被选中。rd:读出信号线,低电平有效,控制数据的读出。wr:写入信号线,低电平有效,控制数据的写入。vcc:+5v电源。pa0-pa7:a口输入/输出线。pb0-pb7:b口输入/输出线。pc0-pc7:c口输入/输出线。reset:复位信号线。a1、a0:地址线,用来选择8255内部端口。gnd:地线。它由以下几部分组成:(1)数据端口a,b,c 它有三个输入输出端口:porta,portb和portc。每个端口都是8位,都可
41、选择作显输出或输出,但功能上有着不同的特点。通常端口a或b作为输出输的数据端口,而端口c作为控制或状态信息的端口,它在“方式”字的控制下可分成两个四位端口,每个端口包含一个四位锁存器。它们分别与端口a和b合使用,可用以作为控制信号输出,或作为状态信号输入。(2)a组和b组控制电路这是两组根据cpu的命令字控制8255a工作方式的电路。它们有控制寄存器,收cpu输出的命令字,然后分别决定两组的工作方式,也可根据cpu的命令字端口c的每一位实现按位“复位”或“置”位。a组控制电路控制端口a和端口c的上半部(pc7pc4),即端口c的高四位。b组控制电路控制端口a和端口c的下半部(pc3pc0),即
42、端口c的低四位。(3)数据总线缓冲器这是一个三态双向8位缓冲器,它是8255a与系统数据总线的接口。输出指令以及cpu发出的控制字和外设的状态信息,都是通过这个缓冲器传送的。(4)读/写和控制逻辑它和cpu地址总线中的a1、a0以及在关控制信号(rd,wr,reset,io/m)相连,由它控制把cpu的控制命令或输出数据送至相应的端口;也由它控制把外设的状态信息或输入数据通过相应的端口,送至cpu。(5)一些控制命令1)cs(chip select)选片信号,低电平有效,由它启动cpu与8255a之间的通信。2)rd读信号,低电平有效。它控制8255a送出数据或状态信息至cpu。3)wr写信号
43、,低电平有效。它控制把cpu输出的数据或命令信号写入8255a。4)reset复位信号,高电平有效,它清除控制寄存器和所有端口(a,b,c)到输入方式。(6)端口寻址8255a中有三个输入输出端口,另外,内部还有一个控制寄存器,共有四个端要有两个输入端来加以选择,这两个输入端通常接到地址总线的最低两位a1,a0。a1,a0和rd,wr及cs组合所实现的各种功能。 4.2 8255a的基本特性和工作方式选择4.2.1 8255a并行输入/输出接口芯片的基本特性(1)它是一个具有两个8位(a和b口)和两个4位(c口高/低四位)的并行输入/输出端口,并为cpu与外设之间提供ttl兼容电平,它的c口还
44、具有按位置位/复位的控制功能。(2)对应cpu之间能适用多种数据传送方式,如简单传送方式,应答方式,中断方式。与此对应,8255a设置了三种工作方式:方式0基本输入输出方式;方式1选通输入输出方式;方式2双向输入输出方式。(3)具有可执行功能很强的两条命令(方式字和控制字)为用户提供灵活方便的使用环境,命令执行完后的状态,可保留在状态中,方便用户进行查询。(4)c口使用比较特殊,除作一般数据口外,在方式1和方式2中,它的部分信号线被分配作专用的联络应答信号;c口也可以单独指定按位控制;也可以作8255a寄存状态字的状态口用。4.2.2 8255a的编程命令 8255a的编程命令包括工作方式选择
45、控制字和c口按位操作控制字是用户灵活使用8255a组件各种接口电路的重要工具,要熟练掌握。 由于这两个命令都是送到8255a的同一控制端口。为了使8255a能辨认是哪一个命令,故采用控制寄存器的d7作为特征位加以区分。若写入的控制字,其最高位d7=1,则该控制字为工作方式控制字;若写入的控制字d7=0,则该控制字是c口的按位复位/置拉控制字。下面讨论控制字的格式及其定义。(1)工作方式控制字8255a有三种基本工作方式:方式0(mode 0)基本输入/输出方式1(mode 1)选通输入/输出;方式2(mode 2)双向输入/输出;方式选择控制字的格式及每位定义如下: 利用工作方式控制字的不同代
46、码组合,可以分别选择a组和b组的工作方式。a组方式对应a口和c口的高四位pc7-pc4,b组方式对应b口和c口的低四位pc3-pc0。a组有三种工作方式(方式0,1,2),是说明a口的三种工作方式,而b组只有两种工作方式(方式0,1),是说明b口的两种工作方式,其中c口经常作为拉控制信号来使用。控制字中置1指定为输入,置0指定为输出。工作方式控制字举例,要求8255a的端口处于如下工作方式: a口指定为方式1输入,c口高四位定为输出;b口指定为方式0输出,c口低四位定为输入。即方式控制字应为10110001b(b1h)。 若将此控制字的内容写到8255a的控制寄存器,则实现了对8255a工作方
47、式的指定,或者称为完成了对8255a的初始化。对pc/xt中使用8255a通用接口芯片,用上述工作控制字,其初始化程序段为: mov dx,0063h;8255a控制口地址mov al,ob1h;初始化(工作方式)控制字out dx,al;控制字送到控制口(2)c口按位置位/复位控制字 格式及每位定义如下: 利用按位置位/复位控制字可以使c口的8位中的任意一位置成高电平输出或低电平输出。举例,若要把c口的pc2置位,则控制字命令字应为00000101b(05h)。将该命令字的内容写入8255a的命令寄存器,就实现了将c口的pc2位置位的操作;其程序段为:mov,dx,0063h;8255a控制
48、口地址mov al,05;使pc2=1的控制字out dx,al送到控制口如果要使该位(pc2)复位,则用下列程序段来实现: mov dx,0063h;8255a控制口地址 mov al,04h使pc2=0的控制字 out dx,al;送到控制口上述两个控制字的差别是: 工作方式选择控制字是对8255a的三个端口的工作方式及功能进行定义,所以应放在程序的开头进行初始化。 按位置/复位控制字只对c口的输出进行控制(对输入无作用),而且只是控制c口的某一位输出是高电平(置位)还是低电平(复位)。使用时他并不破坏已经建立的当前工作方式,而是对8255a实现动态控制的一种支持。他可放在初始化程序以后的
49、任何需要的地方。4.2.3 8255a的方式0及连接方法(1)方式0的基本功能方式0是一种基本输入/输出工作方式。它常用于无条件(简单)传送,也可用于应答(查询)传送。其基本功能为: 两个8位端口a,b和两个4位端口c; 任一个端口可以作为输入或输出;输出是锁存的,输入只有缓冲能力没有锁存功能; 各个端口的输入、输出可以有16种不同组合。(2)方式0连接方法 简单的输入/输出 在方式0下,简单的输出/输出认为外设始终是作好了准备,随时可以提供或者接收数据信息。任意一个端口都可以直接作为外设接口,作为数据端口,不需要状态端口,且均可由cpu用简单的输入或输出指令来进行读或写。 方式0的应答输入/
50、输出 在方式0工作时,也可采用应答式传送,此时,通常端口a和b可分别作为一个数据端口,而取端口c的某些位分别作为两个数据端口应答用的控制和状态信号线。至于c口中哪根线充当何种应答功能是不固定的,可以由用户自行指定。4.2.4 8255a的方式1及连接方法 方式1是一种选通输入/输出方式,在这种方式时,端口a或端口b仍作为数据的输入/输出,但同时规定端口c中固定的某些位作为控制或状态信息。(1)方式1的主要功能用作一个或两个选通输入/输出端口; 每一端口包含有8位数据端口a或b;三条固定控制线;提供中断逻辑;若只有一个端口工作于方式1,余下的13位可以工作于方式0由控制字决定;若两端口都工作于方
51、式1,端口c还留下两位,这两位可以由程序指定代作为输入或输出,也具有置位/复位功能。(2)方式1的控制信号方式1的输入当任一端口(a或b)工作于方式1输入时, 主要控制信号:stb外设送来的“输入选通”信号,表示外设数据已准备好,低电平有效。当它变为低电平时,外设将数据送到8255a端口的输入数据锁存器。ibf8255a送到外设的“输入缓冲器满”信号,高电平有效,这是一个8255a输至外设的联络信号。当它为高电平时,说明外设数据已送到输入锁存器,但尚未被cpu取走,通知外设不能送新数据;只有当它为低电平时,即cpu已读取数据,输入锁存器变空时,才允许外设送新数据。intr;8255a送到cpu
52、的“中断请求”信号,高电平有效。当它为高电平时,请求cpu从8255a读取数据。使intr变高电平的条件是:当ibf=1,并且中断允许inte=1时,才使intr变高电平,向cpu发出中断请求。“中断允许”信号inte是8255a为控制中断而设置的内部控制信号。当inte=1时,允许中断;当inte=0时,禁止中断。这要通过向c口写入按位置位/复位命令来设置,内部不能自动产生这个控制信号。其信号stb,intr等交接过程如下:数据输入时,外设处于主动地位,在准备好数据后,首先发stb信号,由它把数据输入到8255a。在stb的下降沿约300ns后,数据已锁存好,引起ibf变高,表示“输入缓冲器满”,禁止输入。在stb的上升沿约300ns后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股权转让协议(海景酒店)
- 2025广东职工劳务合同
- 商品房认购合同
- 2025年门面租赁合同模板
- 护士辞职申请协议书
- 个人提成协议书范本
- 大庆医学高等专科学校《专业导学(物流管理)》2023-2024学年第一学期期末试卷
- 河南省郑州市登封市重点中学2025年初三第二次(4月)调研考试化学试题试卷含解析
- 河南林业职业学院《结构力学2》2023-2024学年第二学期期末试卷
- 四川文理学院《生物制药工程原理和技术》2023-2024学年第二学期期末试卷
- 妇女营养保健培训
- 时间序列的平稳性测试题及答案
- 2025-2030中国数据要素市场发展前景及趋势预测分析研究报告
- 陕西秦农银行招聘笔试真题2024
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
- 2025年华润燃气投资中国有限公司招聘笔试参考题库含答案解析
- 妊娠剧吐诊断以及临床处理专家共识
- [PPT]桥梁工程桩基施工超全解析(41页 配图丰富)_ppt
- 叉车定期检验研究分析报告
- 光缆和管道的施工规范标准
- MDK5软件入门
评论
0/150
提交评论