分享
分销 收藏 举报 申诉 / 101
播放页_导航下方通栏广告

类型交通信号灯设计.pptx

  • 上传人:w****g
  • 文档编号:4583136
  • 上传时间:2024-09-30
  • 格式:PPTX
  • 页数:101
  • 大小:2.12MB
  • 下载积分:18 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    交通 信号灯 设计
    资源描述:
    电子工业出版社单片机控制技单片机控制技术项目式教程术项目式教程 (C C语言版)语言版)电子工业出版社项目项目6 交通信号交通信号 灯的设计灯的设计l 能了解七段能了解七段LEDLED数码管的内部结构和工作原理;数码管的内部结构和工作原理;l 能理解数码管的静态和动态显示原理;能理解数码管的静态和动态显示原理;l 能掌握能掌握LEDLED数码管静态和动态显示接口电路和软件的设计;数码管静态和动态显示接口电路和软件的设计;l 能了解能了解5151单片机中断系统的结构;单片机中断系统的结构;l 能理解能理解5151单片机中断的原理;单片机中断的原理;l 能掌握能掌握5151单片机中断系统的初始化方法;单片机中断系统的初始化方法;l 能掌握交通信号灯控制系统的设计方法。能掌握交通信号灯控制系统的设计方法。学习目标学习目标 l叙述叙述LEDLED数码管静态和动态显示原理;数码管静态和动态显示原理;l叙述叙述5151单片机外部中断的工作原理;单片机外部中断的工作原理;l设计设计LEDLED数码管静态显示的工作电路和控制软件;数码管静态显示的工作电路和控制软件;l设计设计LEDLED数码管动态显示的工作电路和控制软件;数码管动态显示的工作电路和控制软件;l设计交通信号灯控制系统的硬件电路和控制软件。设计交通信号灯控制系统的硬件电路和控制软件。工作任务工作任务 任务任务6.1 LED数码管显示数字的设计数码管显示数字的设计项目项目6交通信号灯的设计交通信号灯的设计任务任务6.2 中断控制流水灯的设计中断控制流水灯的设计任务任务6.3 交通信号灯的设计交通信号灯的设计 项目拓展项目拓展 实验板实验板LCD液晶显示的设计液晶显示的设计 项目小结项目小结思考与训练思考与训练 6.1.1.1 LED数码管结构与显示原理数码管结构与显示原理任务任务6.1LED数码管显示数字的设计数码管显示数字的设计 6.1.1单只单只LED数码管静态显示数字数码管静态显示数字 LED LED数码管由数码管由8 8个发光二极管组成,其中个发光二极管组成,其中7 7个发光二极个发光二极管(管(a ag g)作为)作为7 7段笔画组成段笔画组成“8 8”字结构(故也称字结构(故也称7 7段段LEDLED数码管),剩下的数码管),剩下的1 1个发光二极管(个发光二极管(h h或或dpdp)组成小数点,)组成小数点,所有发光二极管已在内部完成连接,根据接法不同分为共所有发光二极管已在内部完成连接,根据接法不同分为共阴阴LEDLED数码管和共阳数码管和共阳LEDLED数码管两类。数码管两类。(b)共阴极共阴极 (c)共阳极共阳极 (a)引脚图引脚图l若按规定使某些笔段上的发光二极管点亮,就能够显示出不同的字若按规定使某些笔段上的发光二极管点亮,就能够显示出不同的字符。例如:要显示符。例如:要显示“0”0”,就是让,就是让a a段亮、段亮、b b段亮、段亮、c c段亮、段亮、d d段亮、段亮、e e段亮、段亮、f f段亮、段亮、g g段不亮及段不亮及DPDP段不亮(不显示小数点)。对于共阴极段不亮(不显示小数点)。对于共阴极LEDLED数码管,公共端要接地,数码管,公共端要接地,a a、b b、c c、d d、e e、f f端接高电平,端接高电平,g g脚及脚及DPDP脚接低电平。而共阳极脚接低电平。而共阳极LEDLED数码管,公共端要接电源,数码管,公共端要接电源,a a、b b、c c、d d、e e、f f端接低电平,端接低电平,g g脚及脚及DPDP脚接高电平。也就是说显示同一个字符,脚接高电平。也就是说显示同一个字符,两种接法的两种接法的LEDLED数码管的七段显示控制信息是不同的,互为反码。数码管的七段显示控制信息是不同的,互为反码。注意:注意:使LED数码管某段点亮必须具备2个条件:共阴极管的公共端接低电平或接地,共阳极管的公共端接高电平或电源;共阴极管的笔段电极端接高电平或电源,共阳极管的笔段电极端低电平或接地。6.1.1.2 LED数码管显示方式数码管显示方式1.1.段码和位码段码和位码 段码是数码管显示的一个基本概念,也叫字形码或段选码,它指数码管为了显示一个数字或符号,在各笔段电极上所加电平按照一定顺序排列所组成的数字,与数码管类型和排列顺序有关。位码也叫位选码,通过数码管的公共端选中某一位数码管。通常我们把数码管公共端叫做“位选线”,笔段端叫做“段选线”。LED数码管段码表数码管段码表显示字符显示字符字形码字形码显示字符显示字符字形码字形码共阳极共阳极共阴极共阴极共阳极共阳极共阴极共阴极0 0COHCOH3FH3FHA A88H88H77H77H1 1F9HF9H06H06Hb b83H83H7CH7CH2 2A4HA4H5BH5BHC CC6HC6H39H39H3 3BOHBOH4FH4FHd dA1HA1H5EH5EH4 499H99H66H66HE E86H86H79H79H5 592H92H6DH6DHF F8EH8EH71H71H6 682H82H7DH7DHBFHBFH40H40H7 7F8HF8H07H07HP P8CH8CH73H73H8 88OH8OH7FH7FHP.P.0CH0CHF3HF3H9 99OH9OH6FH6FH熄灭熄灭FFHFFH00H00H显然:共阳极和共阴极的字段码互为反码。显然:共阳极和共阴极的字段码互为反码。假设某一单片机应用系统外接了8个数码管,所有数码管的8个笔段“a,b,c,d,e,f,g,dp”的同名端已连在一起,单片机I/O口与数码管的引脚的对应控制关系如下表所示。当P0口的口线输出低电平时,其对应控制数码管的段就点亮,否则,熄灭。当P2口的口线输出高电平时,其对应控制的数码管被选中,否则,被关闭。如果想在第二个显示器显示“6”,单片机输出的段码应为“10000010”,位码应为“00000010”。单片机I/O口P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7数码管的引脚abcdefgDP单片机I/O口P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7数码管的引脚第一个数码管com第二个数码管com第三个数码管com第四个数码管com第五个数码管com第六个数码管com第七个数码管com第八个数码管com应用实例:单片机单片机I/OI/O口与数码管的引脚的对应控制关系如上表所示,试确定数字口与数码管的引脚的对应控制关系如上表所示,试确定数字0 09 9的段选码并填入表的段选码并填入表6.36.3,确定每个数码管的位码并填入表,确定每个数码管的位码并填入表6.46.4中。如果中。如果想在第四个显示器显示想在第四个显示器显示“4 4”,试问单片机输出的段码和位码应该是多少,试问单片机输出的段码和位码应该是多少?表6.3数字与段选码对应表注意:注意:段码与位码可由设计者自行设定,不是固定不变的。显示字形0123456789段码表6.4数码管与位选码对应表数码管第一个第二个第三个第四个第五个第六个第七个第八个位码2.LED数码管静态显示方式数码管静态显示方式 单片机驱动数码管有很多种方法,按显示方式分静态显静态显示示和动态显示动态显示。LED数码管工作在静态显示方式时,各位数码管的公共端连接在一起接地(共阴极)或接电源(共阳极),每位数码管的每一个段都由一个I/O口线单独进行驱动。之所以称为静态显示,单片机将所要显示的数据送出后就不再控制LED,直到下一次再传送一次新的显示数据为止,在单片机的两次传送数据之间,LED数码管显示内容静止不变,不需要动态刷新。静态显示方式的优点:编程简单,显示亮度高 缺点:占用I/O口线资源较多 四位静态显示电路注意:静态显示方式适合驱动电路具有锁存功能和显示位数较少的场合。1.LED数码管的种类数码管的种类6.1.1.3 单只单只LED数码管静态显示数字数码管静态显示数字 (1)按发光的颜色分类:LED数码管按发光颜色可分为红色、橙色、黄色和绿色等多种。发光颜色与发光二极管的半导体材料及其所掺杂质有关。(2)按发光强度分类:LED数码管按发光强度可分为普通亮度LED数码管和高亮度LED数码数码管。(3)按显示位数分类:LED数码管按显示位数可分为一位LED数码管、双位LED数码管和多位LED数码管。2.LED数码管驱动问题数码管驱动问题 发光二极管LED工作电压与发光颜色有关系,普通的发光二极管正偏压降:红色1.6V,黄色1.4V左右,蓝白至少2.5V。工作电流520mA左右。而LED数码管的笔段是由发光二极管构成的,每段的工作电流也必然在520mA左右。电流过小,显示器亮度就低,电流过大,显示器很容易损坏。注意:LED数码管在使用中一定要串接电阻,以限制流过 每段的电流不大于额定值。1.任务要求任务要求 采用LED数码管的静态显示方式,实现在一位LED数码管上显示数字。具体要求如下:(1)在数码管上循环显示数字“0-1-2-3-4-5-6-7-8-9”;(2)数字显示间隔时间1秒;(3)利用查表法实现数字到段码的转换。任务操作任务操作2任务分析任务分析(1)在单片机的四个并行I/O口中,选用单片机的P1口与LED数码管的段选线相连,其输出的段码控制数码管各段点亮与熄灭,从而显示不同的字形。为了能使各笔段正常发光,电路中串联了限流电阻R1R8,限流电阻可用下式计算:(UF:段正向压降,IF:段工作电流)电路中R取330。(2)利用查表法完成显示数字到段码的转换。事先把数字09的共阳极段码放在程序存储器中,实现方法如下:unsigned char code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;table是用户自行定义的数组名字,关键字code使数组元素存储在程序存储区。要显示某个数字时,只要从存储器中取出其段码,通过P1口送给数码管即可。假如要显示“5”,数组元素table5的内容就是“5”的段码,执行C语言语句P1=table5,就可在数码管上显示“5”。3任务设计任务设计(1)器件的选择用一只AT89C51单片机控制一只共阳极的数码管,器件清单如表所列:器件名称数量(只)AT89C51111.0592MHz晶体122pF瓷片电容222uF电解电容11k电阻1330电阻8LED数码管(红色共阳极)1(2)硬件原理图设计(3)软件程序设计/宏定义#include#defineucharunsignedchar#defineuintunsignedint/定义共阳极数码管的段码表unsignedcharcodetable=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/延时子函数,大约x毫秒延时voiddelayms(uintx)uchark;uintj;for(j=x;j0;j-)for(k=110;k0;k-);源程序如下:/主函数,循环显示数字“1-5”voidmain()uchari;while(1)for(i=0;i=9;i+)P1=tablei;/从段码表中取段码并通过P1口输出delayms(1000);/调用延时函数,延时1s6.1.2 8位位LED数码管动态显示数字数码管动态显示数字 LED LED数码管动态显示方式数码管动态显示方式 当LED数码管位数较多时,为了简化电路,人们通常会将所有数码管的同名段选线并联在一起,由一个I/O口控制。而各位数码管的位选线(公共极COM)各自独立由I/O线控制。当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对LED数码管COM端的控制,只要输出要选通数码管的对应位码,该位就显示出字形,没有选通的数码管就不会亮。之所以称为动态显示,即便LED数码管显示内容不变,对其的驱动信号也不能静止,需要进行不间断的动态刷新。动态显示方式的动态显示方式的优优点点是能够节省大量是能够节省大量的的I/O口,而且功口,而且功耗较低。缺点是编耗较低。缺点是编程比较复杂,显示程比较复杂,显示亮度不如静态。一亮度不如静态。一般适用于显示位数般适用于显示位数较多的场合。较多的场合。注注意意:动态显示方式,每秒的刷新次数以25次左右为好。每次刷新,每位数码管的点亮时间为12ms左右,具体时间应根据实际情况而定。四位动态显示电路1.任务要求任务要求 采用动态显示方式,采用AT89C51单片机控制8位共阳极LED数码管,要求同时显示数字“01234567”。2任务分析任务分析(1)共阳极段码表定义方法如下:unsigned char code table1=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;(2)位码表定义方法如下:unsigned char code table2=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;由于采用共阳极数码管,高电平点亮位,低电平熄灭位,所以位码值如上。在动态扫描过程中,需要分时点亮各位数码管,本设计通过查表的方法,分时从存储器中取出并送出位码,使各位数码管的位选线分时高电平有效,从而实现动态显示。若想在某位数码管显示字符,其他数码管熄灭,只要从存储器中取出这位数码管的位码,送到数码管的位选线上即可。例如:数组元素table20的内容是第一个数码管的位码,执行C语言语句P2=table20之后,结果第一个显示器上显示了相应字符,而其他显示器是熄灭的。3任务设计任务设计(1)器件的选择 根据任务要求,需要选用1只8位共阳极数码管,采用12MHz晶体,数码管的位选都用三极管驱动,电路设计需要的器件清单如表所示。器件名称数量(只)AT89C51112MHz晶体122pF瓷片电容222uF电解电容11k电阻12208排阻1NPN三极管88位共阳极数码管1(2)硬件原理图设计(3)软件程序设计/宏定义#include#defineucharunsignedchar/定义段码表ucharcodetable1=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;/定义位码表ucharcodetable2=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;/延时子函数,大约x毫秒延时voidDelayMS(uintx)uchari;while(x-)for(i=0;i120;i+);源程序如下:/主函数void main()uchar k;P0=0 xFF;/关显示 P2=0 x00;/关显示 while(1)for(k=0;k=7;k+)P0=table1k;/发送段码 P2=table2k;/发送位码 DelayMS(2);P0=0 xFF;/关显示 (4)软硬件联合调试在动态显示电路调试过程中,可能出现的问题:程序定义的控制端口线与Proteus仿真图中不一致,显示器不显示。段码和位码送出之后,忘了关闭显示器,结果出现乱码。段码表有错误,出现乱码。程序中定义的位码表和Proteus仿真图实际连线不一致,出现显示数据错位等等。注注意意:数码管在动态显示时每位显示之间一定要关显示,起到消隐的作用,否则多位数码的动态显示不能实现。6.2.1 MCS-51单片机的中断系统6.2.1.1 中断的概念1中断的定义 中断中断:就是指单片机在执行程序的过程中,由于某种外部或内部事件的作用(如外部设备请求与单片机传送数据或单片机在执行程序的过程中出现了异常),强迫单片机停止当前正在执行的程序而转去为该事件服务,待事件服务结束后,又能自动返回到被中断了的程序中继续执行,这一过程称为中断。任务任务6.2 中断控制流水灯的设计中断控制流水灯的设计2中断响应过程 单片机处理中断的4个步骤:中断请求、中断响应、中断服务和中断返回。(1)中断请求:中断源发出请求信号,单片机在运行主程序的同时,不断地检测是否有中断请求产生,在检测到有中断请求信号后,决定是否响应中断。(2)中断响应:当单片机满足响应中断后,进入中断服务程序。在响应中断后,必须保存主程序断点的地址(即当前PC值)和保护现场。(3)中断服务:执行中断服务程序。(4)中断返回:中断服务程序执行完成后,单片机重新返回到原来的程序中继续工作,并恢复断点、恢复现场。3中断源 完成中断处理功能的部件称为中断系统,向单片机发出中断请求的来源,或引起中断的原因称为中断源。中断源要求服务的请求称为中断请求。中断源可分为两大类:内部中断源来自单片机内部;外部中断源来自单片机外部。通常单片机的中断源不止一个,当有多个中断源同时向单片机发出中断请求,要求为它服务时,单片机如何处理呢?通常会根据事件的轻重缓急进行排队,单片机优先处理最紧急事件,即事先规定中断源的中断优先级,单片机总是响应中断优先级最高的中断源的中断申请。4中断嵌套 当单片机正在处理某一中断请求时,发生了另一个优先级比它高的中断请求。如果单片机暂停对原来中断源的处理程序,转而去处理优先级更高的中断请求源,处理完以后再返回处理原低级中断源,这样的过程称为中断嵌套。1 分时操作中断可以使快速的CPU与慢速的外设同时工作;中断可使CPU与多个外设同时工作,大大提高了CPU的效率。2 实时处理在实时控制中,可根据现场的各种参数、信息的变化要求随时向CPU发出中断申请,请求CPU实时处理。3 故障处理中断系统可针对难以预料的情况或故障向CPU发出中断请求进行相应的故障处理,如掉电、存储出错、运算溢出等。中断的功能:中断的功能:6.2.1.2 MCS-51单片机中断系统151单片机中断系统结构 51单片机中断系统由中断源、中断寄存器和查询硬件等组成。中断系统提供了5个中断源和4个中断寄存器。中断寄存器有4个:中断源寄存器TCON(保存中断信息)和、SCON(保存中断信息)中断允许控制寄存器IE(控制中断的开放和关闭)中断优先级控制寄存器IP(设定优先级别)2中断源和中断标志 串行口中断:串行口中断是由内部串行口中断源产生。每当串行口发送或接收一组串行数据时,就产生一个中断请求。定时器/计数器中断:定时器溢出中断源由内部定时器/计数器产生,属于内部中断。定时计数器计数值到时,引起的中断。5个中断源有(三类):外部中断类:外部中断是由外部原因引起的,有外部中断0()和外部中断1(),外部中断请求有两种信号触发方式,即电平触发方式和跳变触发方式,(1)TCON中的中断标志位中的中断标志位D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT08FH8EH8DH8CH8BH8AH89H88H外部中断外部中断INT0中断标志中断标志(TCON.1)n IE0=0,无中断请求。nIE01,外部中断0有中断请求。当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。外部中断外部中断INT0触发方式触发方式控制位控制位(TCON.0):IT0=0,电平触发方式IT0=1,跳变触发方式注意:注意:该寄存器可以该寄存器可以位寻址位寻址。T0溢出中断标志溢出中断标志(TCON.5):T0启动计数后,计满溢出由硬件置位TF0=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。TF1 TF0 IE1IT1IE0IT0TCON76543210D7D6D5D4D3D2D1D0SM0SM1SM2RENTB0RB0TIRI(2)SCON的中断标志位的中断标志位9FH9EH9DH9CH9BH9AH99H98HTI(SCON.1)串行发送中断标志串行发送中断标志RI(SCON.0)串行接收中断标志串行接收中断标志注意:注意:该寄存器可以位寻址。该寄存器可以位寻址。l中断系统有两种中断:一类为非屏蔽中断非屏蔽中断,不能用软件的方法加以禁止;另一类为可屏蔽中断可屏蔽中断,可以通过软件方法来控制是否允许某中断源的中断,允许中断称为中断开放,不允许中断称为中断屏蔽。l51单片机的5个中断源都是可屏蔽中断,专用寄存器IE用于控制CPU对各中断源的开放或屏蔽。IE寄存器的字节地址为A8H,各位位地址为A8HAFH。3中断控制(1)中断屏蔽中断允许控制中断允许控制中断允许寄存器中断允许寄存器IEIED7D6D5D4D3D2D1D0EAESET1EX1ET0EX0AFHAEHADHACHABHAAHA9HA8HIE对中断的开放和关闭为两级控制总的开关中断控制位EA(IE.7位):EA=0,所有中断请求被屏蔽。EA=1,CPU开放中断,但五个中断源的中断请求是否允许,还要由IE中的5个中断请求允许控制位决定。D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0AFHAEHADHACHABHAAHA9HA8HIEIE中各位的功能如下:中各位的功能如下:(1 1)EAEA:中断允许总控制位:中断允许总控制位0 0:CPUCPU屏蔽所有的中断请求屏蔽所有的中断请求(CPU(CPU关中断关中断);1 1:CPUCPU开放所有中断开放所有中断(CPU(CPU开中断开中断)。(2 2)ESES:串行口中断允许位:串行口中断允许位0 0:禁止串行口中断;禁止串行口中断;1 1:允许串行口中断。允许串行口中断。(3 3)ET1ET1:定时器:定时器/计数器计数器T1T1的溢出中断允许位的溢出中断允许位0 0:禁止禁止T1T1溢出中断;溢出中断;1 1:允许允许T1T1溢出中断。溢出中断。(4)EX1:外部中断1中断允许位0:禁止外部中断1中断;1:允许外部中断1中断。(5)ET0:定时器/计数器T0的溢出中断允许位0:禁止T0溢出中断;1:允许T0溢出中断。(6)EX0:外部中断0中断允许位。0:禁止外部中断0中断;1:允许外部中断0中断。D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0AFHAEHADHACHABHAAHA9HA8H MCS-51MCS-51单片机单片机复位复位后,后,IEIE清清0 0,所有中断请求被禁止。,所有中断请求被禁止。若使某一个中断源被允许中断,除了若使某一个中断源被允许中断,除了IEIE相应的位的被置相应的位的被置“1 1”,还必须使,还必须使EAEA位位=1=1。D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8HIPIP各位的含义各位的含义:(1 1)PSPS串行口中断优先级控制位串行口中断优先级控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优先级中断。(2 2)PT1PT1定时器定时器T1T1中断优先级控制位中断优先级控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优先级中断。(3 3)PX1PX1外部中断外部中断1 1中断优先级控制位中断优先级控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优先级中断。(2)中断优先级 中断优先级寄存器IP(4 4)PT0PT0定时器定时器T0T0中断优先级控制位中断优先级控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优先级中断。(5 5)PX0PX0外部中断外部中断0 0中断优先级控制位中断优先级控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优先级中断。D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8H注意注意:相应位为:相应位为1 1,对应的中断源被设置为,对应的中断源被设置为高优先级高优先级,相应位为相应位为0 0,对应的中断源被设置为,对应的中断源被设置为低优先级低优先级 系统系统复位复位时,时,IPIP寄存器中各位均为寄存器中各位均为0 0,此时全部设定为此时全部设定为低优先级低优先级 该寄存器可以该寄存器可以位寻址位寻址 当中断源的优先级设定为同一级别时,它们的优先排队顺序已由硬件电路确定了自然优先级,高低顺序如下:中中 断断 源源同级内优先级排列同级内优先级排列外部中断外部中断0中断中断定时器定时器/计数器计数器0中断中断外部中断外部中断1中断中断定时器定时器/计数器计数器1中断中断串行接口中断串行接口中断 最最 高高 最最 低低MCS-51MCS-51系列单片机中断响应原则:系列单片机中断响应原则:(1)(1)高级中断请求可以中断正在执行的低级中断。高级中断请求可以中断正在执行的低级中断。(2)(2)同级或低级中断请求不能中断正在执行的中断同级或低级中断请求不能中断正在执行的中断。(3)(3)多个中断源多个中断源同时同时向向CPUCPU申请中断申请中断,首先响应优先首先响应优先级别最高的中断请求;级别最高的中断请求;多个同级中断源同时向多个同级中断源同时向CPUCPU申申请中断,请中断,CPUCPU通过内部硬件查询,按通过内部硬件查询,按自然优先级自然优先级确定确定优先响应哪一个中断请求。优先响应哪一个中断请求。注意注意:CPU响应中断的基本条件:(1)首先要有中断源发出中断申请;(2)CPU是开放中断的,即中断总允许位EA=1,CPU允许所有中断源申请中断;(3)申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。4中断服务函数和中断编号函数类型函数类型 函数名(形式参数列表)函数名(形式参数列表)interrupt n using minterrupt n using m注意注意:(1)中断函数不能进行参数传递 (2)中断函数没有返回值 (3)在任何情况下都不能直接调用中断函数 m m表表示示使使用用的的工工作作寄寄存存器器组组号号,一一般般情情况况下下采采用用默默认认值值0 0即可;即可;n n是中断编号,取值范围为是中断编号,取值范围为0 04 4。中断函数的格式如下:中断函数的格式如下:最高40023H串口(RI或TI)3001BH定时/计数器1(TF1)20013H外部中断1中断(IE1)1000BH定时/计数器0(TF0)最低00003H外部中断0中断(IE0)自然优先级顺序中断编号中断服务程序入口地址中断源和中断标志 51单片机仅有两个外部中断请求输入端和。在实际应用中,根据要求可扩充外部中断源。(1)用定时器作外部中断源 51单片机有两个定时器,具有两个内中断标志和外计数引脚,它们的中断可作为外部中断请求使用。此时,可将定时器设置成计数方式,计数初值可设为满量程,则当它们的计数输入端T0(P3.4)或T1(P3.5)引脚发生负跳变时,计数器将加1产生溢出中断。因此,可把T0脚或T1脚作为外部中断请求输入线,把计数器的溢出中断作为外部中断请求标志。5外部中断源的扩展 例:将定时器0扩展为外部中断源。解:将定时器0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为0 xFF,允许定时器0中断,CPU开放中断。源程序如下:TMOD=0 x06;TH0=0 xFF;TL0=0 xFF;TR0=1;ET0=1;EA=1;当连接在T0(P3.4)引脚上的外部中断请求输入线发生负跳变时,TL0加1溢出,TF0置1,向CPU发出中断申请;同时,TH0的内容自动送至TL0,使TL0恢复初值。这样,T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断。此时,T0脚相当于边沿触发的外部中断源输入线。(2)中断和查询相结合 两根外部中断输入线(和脚)的每一根都可以通过线或的关系连接多个外部中断源。利用这两根外部中断输入线和并行输入端口线作为多个中断源的识别线,可达到扩展外部中断源的目的,其电路原理图如图所示。6.2.2 中断控制中断控制LED灯的亮灭灯的亮灭 在AT89C51电路中,用其外部中断 控制LED灯的亮与灭。P3.2连接一个轻触按键,由按键来控制LED灯的亮灭,当按键按下时LED灯亮,再次按下按键 LED灯灭,如此反复。1.任务要求任务要求 2.任务分析任务分析 根据任务要求,需要通过按键来触发中断,一旦产生中断就去点亮或熄灭LED灯。我们可以将轻触按键的一端接到P3.2,另一端接地。P3.2在开机初始化为高电平1,这样一旦按键按下使其接地,P3.2脚会由高电平1变为低电平0,产生一个下跳变,触发中断,CPU接收到中断请求信号后去点亮或熄灭LED灯。由于设为下降沿触发,IT0要为1,所以TCON 设为0 x01。3 3任务设计任务设计(1)器件的选择器件名称数量(只)AT89C51112MHz晶体122pF瓷片电容210uF电解电容110k电阻1220电阻1发光二极管LED1轻触按键1(2)硬件原理图设计 /宏定义#include#defineucharunsignedchar#defineuintunsignedint/定义端口sbitLED=P0_0;/主程序 voidmain()LED=1;EA=1;/开中断EX0=1;/允许INT0中断,可用IE=0 x81代替上两行TCON=0 x01;/即IT0=1while(1);/中断子程序voidExternal_Interrupt_0()interrupt0LED=!LED;(3)软件程序设计源程序:注注意意:开启的中断源一定要与中断子程序中的中断编号一致。在主程序中无需调用中断子程序,只要中断被触发,CPU会自动进入中断子程序工作。l将编写的程序在Keil C51中编译成*.hex后调入Proteus硬件电路图的AT89C51中运行,第一次按下K1键D1点亮,第二次按下K1键D1熄灭,如此反复。(4)软硬件联合调试 用AT89C51的定时/计数器中断法设计一个流水灯控制电路。具体要求如下:(1)系统时钟频率为12MHZ。(2)利用P2口控制8个发光二极管,以1s时间间隔从左到右依次点亮,模拟流水灯效果。1.任务要求任务要求 6.2.3中断控制流水灯中断控制流水灯2任务分析任务分析(1)定时1s 由于系统时钟频率为12MHZ,则机器周期为1us,定时/计数器T0工作在方式1,最长定时只有65ms左右。为了实现1s的长定时,本任务采用“软件法”,先定时50ms,然后用变量count累计定时中断的次数,当中断的次数达到20次时,即实现了1s定时。(2)初始化程序设计 本任务采用定时器中断方式工作。初始化程序包括定时器初始化和中断系统初始化,主要是对寄存器IP、IE、TCON、TMOD的相应位进行正确的设置,并将计数初值送入定时器中。具体如下:TMOD=0 x01;/T0工作在方式工作在方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;/50000*1us=50msEA=1;/CPU允许中断允许中断ET0=1;/允许允许T0中断中断TR0=1;/开启开启T03任务设计任务设计(1)器件的选择器件名称数量(只)AT89C51112MHz晶体122pF瓷片电容210uF电解电容110k电阻1220电阻8发光二极管LED8(2)硬件原理图设计(3)软件程序设计源程序:/宏定义#include#include#defineucharunsignedchar/定义端口ucharcount=0;/主程序 voidmain()TMOD=0 x01;/T0工作在方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;/50000*1us=50msEA=1;/CPU允许中断ET0=1;/允许T0中断TR0=1;/开启T0P2=0 x01;/点亮D1while(1);/中断子程序 voidTime_0()interrupt1 TH0=(65536-50000)/256;/重装初值 TL0=(65536-50000)%256;count+;if(count=20)/50 ms*20=1s count=0;P2=_crol_(P2,1);/将P2循环左移1位后再赋给P2,循环点亮D1D8 l将编写的程序在Keil C51中编译成*.hex后调入Proteus硬件电路图的AT89C51中运行,首先D1点亮,1s后D2点亮循环点亮D1D8形成流水灯。(4)软硬件联合调试 用单片机AT89C51的T0中断模拟控制十字路口的交通信号指示灯(红、绿、蓝)。具体要求如下:东西方向的绿灯与南北方向的红灯同时亮5s;东西方向的绿灯熄灭,同时东西方向的黄灯闪烁5次,闪烁间隔400ms;东西方向的红灯与南北方向的绿灯同时亮5s;南北方向的绿灯熄灭,同时南北方向的黄灯闪烁5次。操作按顺序反复执行。1.任务要求任务要求 任务任务6.3 交通信号灯的设计交通信号灯的设计2任务分析任务分析软件编程上,点亮灯的时间和闪烁的时间由T0控制。把T0设置工作在方式1,最大计数值是65536,为了容易定时5s和400ms,我们将T0的初值设为15536,AT89C51是12MHz,机器周期为1us,这样计数一轮是50ms,每次计数满TF0置1触发中断,经过8次中断正好400ms,经过100次中断正好5s。在硬件连接上非常简单,选用高电平点亮的红绿蓝信号灯,东西方向的用P0.0P0.2控制,南北方向的用P0.3P0.5控制,由于P0口内部没有上拉电阻,信号灯又是高电平点亮,所以P0口要外接上拉电阻,可用排阻来实现。3任务设计任务设计(1)器件的选择器件名称数量(只)AT89C51112MHz晶体122pF瓷片电容210uF电解电容110k电阻12008排阻1红绿蓝信号灯4(2)硬件原理图设计(3)软件程序设计源程序:/宏定义#include#defineducharunsignedchar#defineduintunsignedint/定义控制端口sbitRED_A=P0_0;/东西向指示灯sbitYELLOW_A=P0_1;sbitGREEN_A=P0_2;sbitRED_B=P0_3;/南北向指示灯sbitYELLOW_B=P0_4;sbitGREEN_B=P0_5;/定义全局变量ucharTime_Count=0;/延时倍数ucharFlash_Count=0;/闪烁次数ucharOperation_Type=1;/操作类型变量/T0中断子程序voidT0_INT()interrupt1TH0=-50000/256;TL0=-50000%256;switch(Operation_Type)case1:/东西向绿灯与南北向红灯亮5sRED_A=0;YELLOW_A=0;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=0;/5s后切换操作(50ms*100=5s)if(+Time_Count!=100)return;Time_Count=0;Operation_Type=2;/进入操作类型2break;case2:/东西向黄灯开始闪烁,绿灯灭if(+Time_Count!=8)return;Time_Count=0;YELLOW_A=!YELLOW_A;GREEN_A=0;/闪烁5次if(+Flash_Count!=10)return;Flash_Count=0;Operation_Type=3;/进入操作类型3break;case3:/东西向红灯与南北向绿灯亮5sRED_A=1;YELLOW_A=0;GREEN_A=0;RED_B=0;YELLOW_B=0;GREEN_B=1;/南北向绿灯亮5s后切换if(+Time_Count!=100)return;Time_Count=0;Operation_Type=4;/进入操作类型4break;case4:/南北向黄灯开始闪烁,绿灯灭if(+Time_Count!=8)return;Time_Count=0;YELLOW_B=!YELLOW_B;GREEN_B=0;/闪烁5次if(+Flash_Count!=10)return;Flash_Count=0;Operation_Type=1;/回到操作类型1break;/主程序voidmain()TMOD=
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:交通信号灯设计.pptx
    链接地址:https://www.zixin.com.cn/doc/4583136.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork