




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE31河南理工大学单片机课程设计报告交通灯控制系统设计摘要这次设计的主要任务是设计一个单片机控制的交通灯控制系统的设计。首先设计出各个功能模块,再搭建出完整的硬件系统,选好合适的单片机型号并依照硬件连接图设计出相应的软件系统,通过编译软件(WAVE6000)编译出可执行的目标文件,最后作出原理图并在仿真软件(PROTEUS)上仿真出设计结果。其实编译软件有很多种,比如配硬件仿真软件PROTEUS本身就可以进行编译,这也是我后来才知道的。设计的具体要求主要有以下几点:1.A道和B道上均有车辆要求通过时,A、B道轮流放行。A放行5分钟(调试时改成5秒钟),B道上放行4分钟(调试时改成4秒钟)。2.一道有车而另一道无车(实验时用开关K0和K1控制),即当A道有车B道无车,按K0键可以控制交通灯系统让A道立即放行B道禁止;当B道有车A道无车,按K1键可以控制交通灯系统让B道立即放行A道禁止。3.有紧急车辆通过时,按开关K2可以控制系统能禁止普通车辆通行,即A、B道均为红灯。4.绿灯转换成红灯时黄灯亮一秒钟。以上的各种要求我都已经完成(在上个学期),后来因有时间重做了,有了充分的时间思考程序的改进工作,我就又加上了时间调整模块,加上了三个键,一个时间调整切换键、一个加一键还有一个减一键。能够方便的进行时间的调整,显示多长的计时时间都可以。一来有更高的实用性,二来又锻炼了自己英勇单片机的能力。新加的有三个键,那就是K3、K4、K5。当K3第一次按下式,系统置于调时状态,这是可以调整南北红东西绿的时间,第二次按下时可以调整东西红南北绿的时间,第三次按下时,就推出了调时模块了。目录TOC\o"1-2"\h\z\u1概述 31.1单片机的结构 31.2单片机的产生和发展 31.3单片机的应用领域 42系统总体方案及硬件设计 62.1系统总体方案 62.2单片机选择 62.3时钟电路模块 72.4复位电路模块 82.5交通灯连灭控制电路模块 82.6时间显示模块 92.7键盘扫描控制模块 102.8时间调时模块 113软件设计 133.1主程序 133.2中断服务程序 153.3显示子程序 163.4其他程序段 164PROTEUS仿真 174.1交通灯转换状态 174.2调时状态 185课程设计体会 19参考文献 19附1:程序原代码 20附2:系统原理图 301概述本次设计主要是利用单片机制作一个交通灯控制系统并由此加深我们对单片机的各种模块的理解和应用能力。比如这次设计就用到了单片机的数码管显示模块,键扫描模块,单片机的中断服务系统(包括定时器中断合外部中断),四个并行I/O口的输入/输出功能等。而要想灵活的应用这些这些功能,不仅要对软件要有一定的理解能力,还有对硬件有一定的了解。首先说说单片机。1.1单片机的结构单片机实际上是微型计算机的一种,自从它问世以来,人们对它不断地改进,应用在现代化社会的各个方面。单片机有体积小.价格低廉,开发较为容易,可根据需要制作成各种智能控制器以代替人工操作,实现自动化和智能化。单片机实际上是小型简单化的个人计算机(Pc),它由这样几个部分构成:CPU(进行运算和控制)、RAM(进行数据存储)、ROM(进行程序存储)、输入/输出设备(例如串行口、并行口等)。在个人计算机上,这些部分被分成若干块芯片,安装在一个称之为主板的印刷线路板上。而在单片机,这边部分(甚至还有A/D利D/A等),全部被集成到一块电路芯片中了所以就称为为单片机。器节后框图如下1所示:图11.2单片机的产生和发展单片机(MicroControllerUnit,MCU)是一种能进行数学和逻辑运算,根据不同使用对象完成不同控制任务的面向控制而设计的集成电路。由intel公司发明,后来把核心技术转让给了世界上的许多小公司。在我国流行的是ATMEL公司的89C51、89C52、89S51等,它们都是SISC(复杂指令集单片机)的结构。AVR是atmel公司生产的8位单片机,采用RISC(精简指令集单片机)的结构,而PIC是microchip公司的产品。80年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个系列,300多个品种,此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器的单片机,功能越来越强大,RAM和ROM的容量也越来越大,寻址空间甚至可达64kB,可以说,单片机发展到了一个全新阶段,应用领域更广泛,许多家用电器均走向利用单片机控制的智能化发展道路。九十年代以后,单片机获得了飞速的发展,世界各大半导体公司相继开发了功能更为强大的单片机。美国Microchip公司发布了一种完全不兼容MCS-51的新一代PIC系列单片机,引起了业界的广泛关注,特别它的产品只有33条精简指令集吸引了不少用户,使人们从INTEL的111条复杂指令集中走出来。PIC单片机获得了快速的发展,在业界中占有一席之地。现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:低功耗COMS化,微型单片化,主流化和多样化。1.3单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。3由单片机控制的交通灯锁着现代社会的发展,和交通设施的日益健全,对交通的维持交通秩序的功能有了越来越高的要求,要求交通灯必须有一定的反馈能力,和时间计时能力。本设计是用单片机控制交通灯的亮灭,并用数码管显示交通灯的亮灭时间,通过P2、P3口的输入/输出功能设计键扫描程序,利用键盘来模拟不同的外部情况,进行相应的控制,完成交通灯的不同亮灭状态的转变和进行调时。 2系统总体方案及硬件设计2.1系统总体方案单片机控制交通灯系统总共可分为四个环节,分别是单片机控制系统、时间显示模块、控制键盘块和交通灯闪烁模块。通过这四个模块的协调工作就可以完成相应的交通灯控制和显示功能。这四个模块的相互连接如下图2所示:图22.2单片机选择这次设计用到了AT89C52单片机(如图3),AT89C52系列单片机是由Atmel公司生产,而这家公司得到了Intel公司MCS51系列单片机内核生产授权,所以,它与MCS51系列单片机指令兼容,同时它的内部包含有用作程序存储器的4KB的基于FLASH技术的只读存储器。采用这款芯片及克服了采用8031需要添加外部外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。AT89C52单片机芯片具有以下特性:1)指令集合芯片引脚与Intel公司的8051兼容;2)4KB片内在系统可编程FLASH程序存储器;3)时钟频率为0~33MHZ;4)128字节片内随机读写存储器(RAM);5)6个中断源,2级优先级;6)2个16位定时/记数器;7)全双工串行通信接口;8)监视定时器;9)两个数据指针;图32.3时钟电路模块为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22P的独石电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图4所示:图42.4复位电路模块单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用510Ω的阻值,电容采用电容值为22μ的电解电容。具体连接电路如图示5:图52.5交通灯连灭控制电路模块在交通灯闪烁模块我用到了专用的交通灯发光二极管,并通过线路连到P1口。其具体的连接图如图6所示:图6我们知道交通灯总共有四种状态的来回变换,即南北红灯东西绿灯、南北红灯东西黄灯、南北绿灯东西红灯、南北黄灯东西红灯。有这四种状态按照特定的时间延迟循环变换就会形成我们在大街上时常看到的交通灯的来回变换。按上图所示的连接电路,这四种状态可以通过单片机P1口的四种不同的输出状态来表示,具体请看下表1:B道A道P1.5P1.4P1.3P1.2P1.1P1.0控制码状态说明时间间隔绿黄红绿黄红10000121HB道放行,A道禁止5S01000111HB道警告,A道禁止1S0011000DHA道放行,B道禁止4S0010100AHA道警告,B道禁止1S00100109HA道禁止B道禁止无限时表1当这四种不同的P1输出状态不停的循环输出是就会控制交通灯按次序不停的闪烁着知道有紧急情况或者是特殊情况。其中特殊情况就是表格的最后一行,两边都是红灯或是一路一直红一路一直绿。2.6时间显示模块时间显示模块具体采用7段码数码管显示数字,从P0口输出代码信号,从P1口输出片选信号。在这里我总共用到了16个7段码数码管,因为双数码管只有红色和蓝色,所以这里我在每一路都按了4个数码管,红数码管显示的是红灯点亮的时间,蓝数码管显示的是绿灯点亮的时间,而黄灯点亮的时间则由这两个数码管共同显示。具体到各灯的显示时间可以在软件设计时具体设定。其具体电路如下图7所示:图7在上图中我用了标号来代替线路的连接以避免线路太复杂难以辨识,另外有电路的结构可知,总共有8个不同的数码管轮流或共同显示,所以需要8根不同的片选线,为了节省I/O口,在这里我用了三八译码器来控制片选信号的输出。2.7键盘扫描控制模块在这里首先说明一下,这里所说的键扫描模块,和上文所提到的时间显示模块中,都不包括我后来又加上的调时功能模块。而这一块既用到了数码管显示模块,也涌到了键扫描模块,其工作原理和这里所说的是几乎完全相同的。所以即不再一一赘述了,等到了介绍时间调整模块时在在详细的说明其具体的工作过程。因为在交通灯变换的时候要判断两方向的有无车情况,在建盘扫描控制模块我总共用了三个按钮,分别模拟A道有车B到无车{K0}、A到无车B到有车(K1)和紧急情况(K2)三种状态。其中在这三种状态中K0,K1两个按键是按照建扫描的方式,在数码管动态显示中每扫描一次都会判断各键状态,然后根据各键状态进行不同的显示。而K3键则是利用中断的方式,利用中断服务程序完成紧急情况的显示。其具体连接图8如下:图82.8时间调时模块交通灯的亮灭时间要想能够随时改变就需要有时间调整功能,虽然任务要求上没有这一要求,但笔者认为这也是交通灯也应该具备的能力。所以时间调整模块还是有必要家的。时间调整模块其实也是相当简单,为了能产生两个标示位(一个是进入时间调整的标示位,一个是条南北时间/东西时间的标示位),要用到另一个外部中断入口,也就是外部中断0。但进入外部中断0时,首先停定时器TO这就是是否进入时间调整模块的标示为,然后根据连接P3.3口的键的按下的次数修改标示位27H,由此来区别进行哪一道时间的调时。在时间调整是也有数码管显示计数,为了使调整时间的范围能扩大到0到99,所以就需要再加一个两位一体的数码管。数码管的字形码输出口,可以与前述的数码管显示模块的字形码输出口公用。而为了两种状态下,数码管能该亮的亮,不在量的灭。位选输出就要与以前的有所区别了。其具体电路连接图如下图9所示:图93软件设计3.1主程序整个程序最主要的就是四个显示状态的来回转换,其中以K0,K1,K4,K5是扫描的形式进行的。其流程图如下图10在主程序执行到相应模块时只要键扫描模块的扫描结果,符合其中之一的跳转条件就会马上产生跳转动作到相应的地址,去执行相应的模块程序(如调时模块)。当判断到一道有车一道无车时,程序就会跳转到相应的入口执行。当判断结果是两道都有车或两道都没有车是程序还是会按顺序继续执行下去。在主程序中就是这四个状态的来回顺序的转变,同时判断着这个标示位的情况,当标示位符合条状条件时,发生跳转,到相应的程序段去执行。另外K1中断程序里的,只要有中断请求就会马上保存中现场,跳转靠中断服务程序里去执行。这个中断程序我设计的是一个死循环,因为紧急情况时谁也不知道他会持续多长时间,所以当执行中断和系统就会陷入死循环一直到有人按到复位键,程序才会从0000H开始执行程序。在主程序中,还有一部分程序段虽然完成了数码管显示的工的能,但是并没有调用数码管显示字程序段。比如有一段程序段如下:LOOP1:MOVA,R3MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F0HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F1HMOVP0,ALCALLDELAYMOVA,R4MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F6HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F7HMOVP0,ALCALLDELAY开始开始程序初始化南北红东西绿4FH=1?TR0=1?键按下情况寄存器数减一R4=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北红东西黄4FH=1?TR0=1?键按下情况寄存器数减一R3=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北绿东西红4FH=1?TR0=1?键按下情况寄存器数减一R4=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北黄东西红4FH=1?TR0=1?键按下情况寄存器数减一R3=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn调时模块TR0=0?Yn图103.2中断服务程序本设计用到了两个中断服务程序,INT0、INT1。其中INT0是完成标示位的改变,以使主程序能根据标示位的不同进行相应的程序块的操作。标示位就是27H,每按一下K3键,27H就会加一,直到加到2时停止,因为27H赋的处置时FFH,所以27H只有0、1、2这三个状态。其程序快如下:INT0:PUSHACCPUSHPSWMOVC,P3.2;按键消振JCPPPACALLDELAYMOVC,P3.2JCPPPSTOP3:MOVC,P3.2JNCSTOP3ACALLDELAYMOVC,P3.2JNCSTOP3CLRTR0MOVA,27HCJNEA,#01H,PPPMOVA,#0FFHMOV27H,ASETBTR0AJMPPP1PPP:INC27HPP1:POPPSWPOPACCRETIINT1中断服务程序是模拟紧急情况时,东西南北都是红灯的情况。INT1:PUSHACCPUSHBPUSHPSWMOVP1,#0CHSETBP1.0CLRP1.1CLRP1.2SETBP1.4;紧急情况,东西(B道)方向,南北(A道)方向都是红灯亮,其余灯灭CLRP1.5CLRP1.6TAB3:MOVP0,#0FFHMOVP2,#0MOVP2,#1MOVP2,#4MOVP2,#5LCALLTAB3POPPSWPOPACCRETI3.3显示子程序在调时模块中有用到了显示字程序。显示子程序用到了30H、31H两个缓存区,它就是完成将显示缓存区的数据用数码管显示出来的功能。其程序段如下:DISP:MOVDPTR,#DSEG1MOVA,30HMOVCA,@A+DPTRMOVP2,#0EFHMOVP0,ALCALLDL1MOVDPTR,#DSEG1MOVA,31HMOVCA,@A+DPTRMOVP2,#0DFHMOVP0,ALCALLDL1RET3.4其他程序段除此之外,还又T0中断服务程序,主要完成的是标示位4FH的置位。以次使得计时显示模块能进行下去。由于程序太简单就不再在摘录了。延迟子程序是在显示模块中,采用的是动态扫描的方式,每扫描一遍都必须有一定的时间延迟,以便给人留下视觉效果。键扫描程序段,主要包括去抖动部分和判断跳转部分,由此可以判断是南隔间按下,并做出相应的操作。4PROTEUS仿真4.1交通灯转换状态用PROTEUS软件进行仿真,各项指标都达到了要求。例如当没有键按下时交通灯的四种状态交替着出现。如下图11就是黄灯亮时的情景。图11当有KO或K1键按下时,程序就开始跳转了。如下图12时当键K0按下时的情景。 图124.2调时状态当进入调时状态是调时显示管就要亮了。如下图135课程设计体会在这次单片机课程设计中,刚一开始我对程序根本没有系统一个设计方法,老师不知道在程序中闲坐哪一步后坐哪一步。后来我参考了很多单片机方面书籍,其中从中受益最大就是我们的单片机教材和赫建国老师编写的《单片机载电子电路设计中的应用》一书,让我对交通灯的各个模块,和各种不同程序的设计程序都有了一定的了解。我感觉做设计不动手不尝试是不行的,又是后以各路走不同可以走另一条路,这样在你不明白的时候可能路就走通了。就像我,在建扫描一块我花了大约三四天的时间,其中的子程序的调用老师出现乱码,无论我真么该扫描程序都不行,后来在宿舍停电之后我突然想到我子程序放到主程序中去估计跳转就不会乱码,第二天早上来电一试结果就行了,但让我说原因还真不知道。总而言之,这次让我学到了很多东西。参考文献[1]胡汉才.单片机原理及其接口技术,北京,清华大学出版社。[2]徐仁贵,廖哲智.单片微型计算机应用技术,机械工业出版社。[3]孙育才主编,MCS-51系列单片微型计算机及其应用,东南大学出版社。[4]余发山主编,单片机原理及应用技术,北京中国矿业大学出版社。[5]赫建国主编,单片机载电子电路设计中的应用,北京,清华大学出版社。附1:程序原代码ORG0000HLJMPSTARTORG0003HLJMPINT0ORG000BHLJMPT0ORG0013HLJMPINT1ORG001BHSTART:MOVSP,#60HMOV40H,#5;在南北红灯缓存区南北红灯时间MOV41H,#3;在南北绿灯缓存区南北绿灯时间MOV42H,#4;在东西红灯缓存区东西红灯时间MOV43H,#4;在东西绿灯缓存区东西绿灯时间MOV27H,#0FFH;标示位MOV30H,#05HMOV31H,#00HMOVTMOD,#01H;定时器初始化MOVTH0,#3CHMOVTL0,#0AFHMOV60H,#20CLR4EHCLR4FHSETBEASETBEX1SETBEX0SETBET0SETBTR0DISPLAY1:MOVP1,#0CCH;显示南北红灯与东西绿灯时间MOVR3,40HMOVR4,43HLOOP1:MOVA,R3MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F0HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F1HMOVP0,ALCALLDELAYMOVA,R4MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F6HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F7HMOVP0,ALCALLDELAYJNBTR0,SETIN1JBP2.6,WAY1;判断两通道是否都有车LCALLDELAYJBP2.6,OUT1JNBP2.7,OUT1LJMPDISPLAY2WAY1:JBP2.7,OUT1LCALLDELAYJBP2.7,OUT1LJMPDISPLAY1OUT1:JMPE1SETIN1:LJMPSETTE1:JNB4FH,LOOP1CLR4FHDECR3DECR4CJNER4,#0FFH,LOOP1MOVP1,#0CAH;东西绿灯灭黄灯亮LOOP2:MOVA,R3MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F4HMOVP0,ALCALLDELAYMOVP2,#0F0HMOVP0,ALCALLDELAYMOVP2,#0F6HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F5HMOVP0,ALCALLDELAYMOVP2,#0F1HMOVP0,ALCALLDELAYMOVP2,#0F7HMOVP0,ALCALLDELAYJNBTR0,SETIN2JBP2.6,WAY2;判断两通道是否都有车LCALLDELAYJBP2.6,OUT2JNBP2.7,OUT2LJMPDISPLAY2WAY2:JBP2.7,OUT2LCALLDELAYJBP2.7,OUT2LJMPDISPLAY1OUT2:JMPE2SETIN2:LJMPSETTE2:JNB4FH,LOOP2CLR4FHDECR3CJNER3,#0FFH,LOOP2DISPLAY2:MOVP1,#0E1H;南北红灯时间到,南北绿灯亮,东西红灯亮MOVR3,41H;显示南北绿灯,东西红灯时间MOVR4,42HLOOP3:MOVA,R3MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F2HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F3HMOVP0,ALCALLDELAYMOVA,R4MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F4HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F5HMOVP0,ALCALLDELAYJNBTR0,SETIN3JBP2.6,WAY3;判断两通道是否都有车LCALLDELAYJBP2.6,OUT3JNBP2.7,OUT3LJMPDISPLAY2WAY3:JBP2.7,OUT3LCALLDELAYJBP2.7,OUT3LJMPDISPLAY1OUT3:JMPE3SETIN3:LJMPSETTE3:JNB4FH,LOOP3CLR4FHDECR3DECR4CJNER3,#0FFH,LOOP3MOVP1,#0D1HLOOP4:MOVA,R4;显示东西红灯,南北黄灯时间MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,#0F0HMOVP0,ALCALLDELAYMOVP2,#0F4HMOVP0,ALCALLDELAYMOVP2,#0F2HMOVP0,ALCALLDELAYMOVA,BMOVCA,@A+DPTRMOVP2,#0F1HMOVP0,ALCALLDELAYMOVP2,#0F5HMOVP0,ALCALLDELAYMOVP2,#0F3HMOVP0,ALCALLDELAYJNBTR0,SETIN4JBP2.6,WAY4;判断两通道是否都有车LCALLDELAYJBP2.6,OUT4JNBP2.7,OUT4LJMPDISPLAY2WAY4:JBP2.7,OUT4LCALLDELAYJBP2.7,OUT4LJMPDISPLAY1OUT4:JMPE4SETIN4:LJMPSETTE4:JNB4FH,LOOP4CLR4FHDECR4CJNER4,#0FFH,LOOP4SETOUT:LJMPDISPLAY1SETT:JBTR0,SETOUTACALLDISPJBP3.0,M1M1:MOVC,P3.0;按键消振JCM2M2:LCALLDELAYMOVC,P3.0JCML10STOP1:MOVC,P3.0JNCSTOP1LCALLDELAYMOVC,P3.0JNCSTOP1MOVR6,27HCJNER6,#00H,RRRRMOVR5,43HINCR5MOV43H,R5;;;加一MOVR5,40HINCR5MOV40H,R5CJNER5,#99,DSSMOV40H,#0MOV43H,#0LJMPDSSRRRR:MOVR5,41HINCR5MOV41H,R5MOVR5,42HINCR5MOV42H,R5CJNER5,#99,DSSMOV42H,#0MOV41H,#0DSS:MOVA,R5MOVB,#0AHDIVABMOV31H,AMOV30H,BACALLDISPML10:JBP3.1,M3M3:MOVC,P3.1;按键消振JCM4M4:LCALLDELAYMOVC,P3.1JCSETTSTOP2:MOVC,P3.1JNCSTOP2LCALLDELAYMOVC,P3.1JNCSTOP2MOVR6,27HCJNER6,#00H,RRRR1MOVR5,43HDECR5MOV43H,R5MOVR5,40HDECR5MOV40H,R5CJNER5,#0FFH,DSSS;;;;;;;;减一MOV40H,#99MOV43H,#98MOVR5,40HLJMPDSSSRRRR1:MOVR5,41HDECR5MOV41H,R5MOVR5,42HDECR5MOV42H,R5CJNER5,#0FFH,DSSSMOV42H,#99MOV41H,#98MOVR5,42HDSSS:MOVA,R5MOVB,#0AHDIVABMOV31H,AMOV30H,BACALLDISPLJMPSETT;;;;;;;;;;;;定时器中断;;;;;;;;;;;;T0:PUSHACCPUSHBPUSHPSWMOVTH0,#3CHMOVTL0,#0AFHDJNZ60H,OVERMOV60H,#20SETB4FHOVER:POPPSWPOPBPOPACCRETI;;;;;;;;;;;;;;;显示模块2;;;;;;;;;;;;;;;;;DISP:MOVDPTR,#DSEG1MOVA,30HMOVCA,@A+DPTRMOVP2,#0EFHMOVP0,ALCALLDL1MOVDPTR,#DSEG1MOVA,31HMOVCA,@A+DPTRMOVP2,#0DFHMOVP0,ALCALLDL1RET;;;;;;;;;;;;;;;DELAYDL1: MOV R7,#05HDL: MOV R6,#0FFHDL6: DJNZ R6,$DJNZ R7,DLRETDSEG1:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;;;;;;;;;;;;;INT1中断修改;;;;;;;;;;INT1:PUSHACCPUSHBPUSHPSWMOVP1,#0CHSETBP1.0CLRP1.1CLRP1.2SETBP1.4;紧急情况,东西(B道)方向,南北(A道)方向都是红灯亮,其余灯灭CLRP1.5CLRP1.6TAB3:MOVP0,#0FFHMOVP2,#0MOVP2,#1MOVP2,#4MOVP2,#5LCALLTAB3POPPSWPOPACCRETI;;;;;;;;;;;;;INT0中断修改;;;;;;;;;;INT0:PUSHACCPUSHPSWMOVC,P3.2;按键消振JCPPPACALLDELAYMOVC,P3.2JCPPPSTOP3:MOVC,P3.2JNCSTOP3ACALLDELAYMOVC,P3.2JNCSTOP3CLRTR0MOVA,27HCJNEA,#01H,PPPMOVA,#0FFHMOV27H,ASETBTR0AJMPPP1PPP:INC27HPP1:POPPSWPOPACCRETITAB:DB3FH06H5BH4FH66H6DH7DH07H7FH6FHDELAY:MOVR1,#40D1:MOVR7,#50DJNZR7,$DJNZR1,D1RETEND附2:系统原理图基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抵押机动车借款合同书
- 公司品牌服务合同
- 工业园物业委托管理合同
- 口罩机居间服务协议
- 环境保护工程设备供应协议
- 关于个人借款的合同5篇
- 汽车销售入股合同范本
- 白糖批发销售合同范本
- 专业咨询服务产业分析报告
- 离子交换树脂战略市场规划报告
- 亮化工程投标书
- 冲压废料自动输送装置设计
- 公园栈道栈桥施工方案
- 不规则抗体筛查与鉴定
- 中国银行海尔多联机方案书
- 涂布机初级操作技术与维修培训课件
- GB/T 8417-2003灯光信号颜色
- GB/T 7984-2001输送带具有橡胶或塑料覆盖层的普通用途织物芯输送带
- GB/T 7631.10-2013润滑剂、工业用油和有关产品(L类)的分类第10部分:T组(涡轮机)
- GB/T 7324-2010通用锂基润滑脂
- GB/T 28114-2011镁质强化瓷器
评论
0/150
提交评论