




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第1章 概述21.1 课题设计要求21.2 课题设计的条件21.3 课题设计目的和意义3第2章 总体设计方案42.1 总体思路42.2 系统的工作原理42.3 系统的组成5第3章 硬件设计方案63.1 STC89C52单片机介绍63.2 单片机端口分配73.3 单片机时钟电路73.4 LED显示电路设计73.5 LED信号灯控制电路的设计93.6 拨码开关与键盘控制电路的设计103.7 蜂鸣器电路的设计11第4章 软件设计方案124.1 软件设计模块124.2 系统内存空间的分配124.3 系统应用程序的设计13第5章 开发板的焊接及其测试17第6章 系统的调试与运行186.1 系统的调试结果186.2 系统的使用说明21总结22参考文献24附录1 系统原理图25附录2 源程序清单26第1章 概述1.1 课题设计要求对于此次课程设计,我们使用STC89C52为主控芯片与数据存储单元,结合外围的拨码开关和独立键盘输入、LED信号灯、冲突报警、LED显示器显示时间、中断调节时间等控制方案来实现汽车尾灯与可调节时间系统的设计,其主要具有以下功能:(1) 汽车信号灯部分左/右转弯(合上左/右开关):左/右头灯、仪表板左/右转弯灯、左/右尾灯闪烁;刹车(合上刹车开关):左右尾灯亮;合上紧急开关:所有灯闪烁;左/右转弯刹车(合上左/右开关和刹车开关):仪表板左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮;刹车与合上紧急开关(同时合上刹车开关和紧急开关):尾灯亮、仪表板灯、头灯闪烁;左/右转弯刹车,并合上紧急开关(同时合上左/右开关、刹车开关和紧急开关):右/左尾灯亮,其余灯闪烁;冲突处理:考虑到现实情形,当同时合上左右开关时,由于不符合实际情况,此时,设计了冲突处理系统,会熄灭所有LED信号灯,并同时启动蜂鸣器不停提醒操作者。(2) 可调节时间部分开机后即可显示时间为12:00;按下单片机外部中断INT1按键即可通过两个按键分别调节时钟时间和分钟的显示,调节后再按一次INT1按键确认运行时间显示。1.2 课题设计的条件本课题是基于单片机的课程设计,通过在实验室进行开发板的焊接、自行设计电路图并在电脑上适用proteus(ISIS)软件进行仿真、在开发板子上进行调试来完成本次设计。1.3 课题设计目的和意义单片机原理及应用是一门实践性很强的课程,其课程设计目的在于综合运用所学知识,全面掌握单片微型计算机及其接口的工作原理、编程和使用方法。在设计中,首先提出并论证设计方案,然后进行软、硬件调试,最后获得正确的结果,可以加深和巩固对理论知识的更好掌握,进一步建立计算机应用系统体概念,初步掌握单片机软、硬件开发方法,为以后进行实际的单片机软、硬件应用开发奠定良好的基础。本课题是利用STC89C52单片机来实现的汽车信号灯控制与可调节时间系统,在系统中利用4个拨码开关来模拟汽车驾驶操作,然后用6个LED灯来作为汽车信号灯;当拨动开关改变相应的状态时,单片机就会检测到相关类型的状态后,根据内部程序,来驱动相关的汽车信号灯(发光二极管)闪烁或长亮;同时通过LED显示器做一个简易的电子时钟,并可以通过按键调节时间,通过对以上功能的设计以达到此次课程设计的目的和要求。第2章 总体设计方案2.1 总体思路根据设计要求,初步设计思路如下:(1)用四个拨码开关来模拟汽车的左/右转弯、刹车和合上紧急开关等状态,当单片机检测到相关操作后,然后判断属于那一类操作,再通过软件来驱动控制相应的信号灯闪烁或长亮。以此来实现汽车信号灯的控制。(2)当发生左/右开关同时打开的冲突时,由单片机通过读拨码开关状态,然后用软件来驱动蜂鸣器以实现对操作者的提醒。(3)时间显示的计时1S有单片机内部的定时器/计数器T0来实现。(4)时间显示功能通过对LED数码管动态扫描实现,动态扫描的定时时间由软件编程来实现。(5)LED显示器的断码输入由P1口产生,位码输入由P2口高四位产生。(6)时间的调整功能通过键盘电路实现,系统共涉及了三个按键,分别定义为:(7)INT1键(时间调整设置键/确定键):其功能是当该键按下时,进入时间调整输入功能,时间调整完毕后,再次按下该键则恢复调整后的时间显示。(8)时钟部分调整键:其功能是当电子钟进入调整状态时,按下该键,时间的时钟加一。(9)分钟部分调整键:其功能是当电子钟进入调整状态时,按下该键,时间的分钟加一。2.2 系统的工作原理此次设计主要是通过扫描拨码开关和键盘的状态,用相应的程序控制LED信号灯和LED显示器来模拟汽车尾灯的不同状态和显示电子时钟。如图2-1所示为该系统设计方案的系统总框图。4个拨码开关控制信号灯状态3个独立按键控制时钟显示STC89C52 单片机LED信号灯显示不同状态LED显示器显示时钟蜂鸣器报警图2-1 系统总框图2.3 系统的组成本系统主要包括两个部分:硬件部分和软件部分。 硬件部分:拨码开关控制电路、键盘控制电路、LED信号灯显示电路、蜂鸣器报警电路、LED显示器显示电路、单片机内部时钟电路等。控制电路主要为操作者通过控制开关与键盘的状态,从而单片机通过读引脚状态而控制程序运行。显示电路主要为单片机根据程序的控制显示出不同的状态。软件部分:汇编程序的主程序和子程序。子程序又包括定时器/计数器中断程序、外部中断程序、键盘扫描程序、时间换算程序、时间显示程序、延时子程序等。第3章 硬件设计方案3.1 STC89C52单片机介绍本系统主控芯片选用的是STC89C52单片机,是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计数器5。 STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机6。其管脚图如图3.1所示。图3-1 STC89C52单片机管脚结构图3.2 单片机端口分配根据设计要求与设计思路,确定系统的端口分配如表3-2所示。 表3-2 单片机端口分配表I/O口线外围接口电路P1.0P1.5接6个LED信号灯,模拟汽车的左/右头灯、转弯灯、尾灯P0.0P0.7接LED显示器段码驱动电路P2.4P2.7接LED显示器位码驱动电路P2.0P2.3接4个拨码开关,分别为K0、K1、K2、K3P3.7接蜂鸣器P3.0接独立按键,其功能为时钟+1P3.1接独立按键,其功能为分钟+1P3.2(INT1)接外部中断按键,其功能为电子时钟的调整时间/确认键3.3 单片机时钟电路 STC89C52单片机内置频率可达12MHz的时钟电路,用来产生整个单片机运行的脉冲时序,但此单片机仍需外置振荡电容,采用12M的晶振外接30pF电容构成单片机时钟电路。具体电路图如图3-3所示。 图3-3 单片机内部时钟电路3.4 LED显示电路设计本系统采用4位共阳极显示器,由单片机的P0口连接1K的电阻组成其段控驱动电路,P2口高四位连接1K电阻和PNP三极管9015组成其位控驱动电路,具体电路图如图3-3所示。 图3-4 LED显示器电路图3.41 驱动电路设计LED显示器的驱动是一个非常重要的问题,由于单片机的并行口不能直接驱动LED显示器,本系统为了节约成本数码管的段控的驱动电路由1K电阻代替,位控的驱动电路由P2PNP三极管9015和1K电阻组成,以产生足够大的电流,使显示器能正常工作。LED显示器的控制方式分为静态显示和动态显示两种,本系统采用动态显示。具体驱动电路图如图3-4所示。3.42 接线表和字符编码表此次设计中LED显示器的接线表如表3-5所示。系统采用的显示器为4位的共阳极显示器,单片机的信号经P0口输出到LED显示器,该信号就为软件控制而选择的7段字符编码如表3-6所示。 表3-5 LED显示器的接线表I/O端口LED显示器接口I/O端口 LED显示器接口P0.0段码AP0.6段码DP0.1段码FP0.7段码EP0.2段码BP2.4位码W1P0.3段码GP2.5位码W2P0.4段码CP2.6位码W3P0.5段码DPP2.7位码W4表3-6 LED显示器字符编码表字形段a f b g c dp d e共阳极代码字形段a f b g c dp d e共阳极代码00 0 1 0 1 0 0 028H91 0 1 0 0 0 0 00A0H11 1 1 0 1 0 1 10EBHA0 1 1 0 0 0 0 060H20 0 1 1 0 0 1 032HB0 0 1 0 0 1 0 125H31 0 1 0 0 0 1 00A2HC0 0 1 1 1 1 0 03CH41 1 1 0 0 0 0 10E1HD0 0 1 0 0 0 1 123H51 0 1 0 0 1 0 00A4HE0 0 1 1 0 1 0 034H60 0 1 0 0 1 0 024HF0 1 1 1 0 1 0 074H71 1 1 0 1 0 1 0 0EAH .1 1 0 1 1 1 1 10DFH80 0 1 0 0 0 0 0 20H全灭1 1 1 1 1 1 1 10FFH3.5 LED信号灯控制电路的设计本系统采用6个LED发光数码管接P1口的不同显示状态来模拟现实生活中汽车信号灯的显示,图中D1、D2、D3分别表示汽车信号灯的左头灯、转弯灯、尾灯;D4、D5、D6分别表示汽车信号灯的右头灯、转弯灯、尾灯。其连线及电路图如下图3-7所示。 图3-7 LED信号灯控制电路图3.6 拨码开关与键盘控制电路的设计在此次设计中4个用拨码开关可以表示的16种状态来模拟对汽车信号灯系统的操作,具体的开关与汽车状态的显示如表3-8所示。表3-8 汽车信号灯状态表拨码开关状态模拟汽车信号灯操作紧急开关 刹车 右转弯 左转弯 K3 K2 K1 K00 0 0 0准备状态0 0 0 1左转弯0 0 1 0右转弯0 0 1 1冲突状态0 1 0 0刹车0 1 0 1左转弯+刹车0 1 1 0右转弯+刹车0 1 1 1冲突状态1 0 0 0紧急开关1 0 0 1左转弯+紧急开关1 0 1 0右转弯+紧急开关1 0 1 1冲突状态1 1 0 0刹车+紧急开关1 1 0 1左转弯+刹车+紧急开关1 1 1 0右转弯+刹车+紧急开关1 1 1 1冲突状态在设计电子时钟的部分,需要使用3个按键来运行和调整时钟。由于需要使用的按键数目较少,所以采用独立按键的设计方式,以减少占用单片机I/O口线。系统中拨码开关和键盘控制电路的连线图如下图3-9所示。 图3-9 拨码开关和键盘控制电路3.7 蜂鸣器电路的设计考虑到设计要求与现实情况,所以扩展了此系统的功能,当操作者违规操作即同时合上左、右转弯的开关(K0和K1)时,系统会打开蜂鸣器以提醒操作者。蜂鸣器设计电路如图3-10所示。 图3-10 蜂鸣器电路第4章 软件设计方案4.1 软件设计模块本系统软件设计由主程序、初始化程序、键盘扫描和时间调整程序、定时器T0中断程序、外部中断INT1程序、LED显示子程序等组成。其软件设计的模块图4-1如下。主程序模块初始化程序模块LED显示器模块键盘扫描和时间调整模块定时器T0中断程序模块外部中断程序模块 图4-1 软件设计模块图4.2 系统内存空间的分配本系统的应用程序设计内存分配见表4-2. 表4-2 应用程序地址空间分配表地 址 分 配作 用0A0H0AF堆栈存储区7AH7DHLED段码显示缓冲区,存储显示字符的BCD码4AH4DHLED位码显示缓冲区,存储LED的位码信号70H73H当前时间的存储单元,30H秒钟31H分钟32H时钟20H.6存放秒闪的标志位20H.7时钟正常运行的标志位D5H F0标志位,F0=1为时间调整F0=0为运行时钟00H05H工作寄存器(R0R4)4.3 系统应用程序的设计(1) 初始化程序 初始化程序主要包括地址空间的定义、定时器工作方式和初值设置、开放中断和标志位的定义等。(2) 主程序设计 主程序的内容包括扫描拨码开关状态,通过不同的状态跳转到不同的子程序中控制六个信号灯的显示;把当前时间转换存储到LED显示器的段码显示缓冲区,并调用显示子程序。主程序的程序流程图如图4-3所示。(3) 时间调整程序 当程序进入外部中断int1程序后,标志位F0和20H.0被置一,单片机进入下一个时钟扫描周期时,便可以进入时间调整程序,并开始扫描键盘、判断键值,从而达到调整点钟的时钟和分钟显示,再一次按下外部中断int1按键时,标志位又取反,运行电子钟。时间调整程序的程序流程图如图4-4所示。(4) 显示子程序 由于在单片机“反应”拨码开关的操作同时还要显示电子时钟,所以需要调用显示子程序。显示子程序的程序流程图如图4-5所示。开始设置中断程序入口地址初始化程序:设置堆栈、显示缓冲区、定时器等扫描拨码开关状态调用显示子程序是否调整时间20H=1?把时钟当前值存储到显示缓冲区时间调整子程序根据开关状态选择信号灯显示程序左转弯右转弯左转弯+刹车刹车+紧急开关NY 图4-3 主程序流程图FO=1进入时间调整程序调用显示子程序键盘扫描判断键值?时钟数加一分钟数加一时钟换算分钟换算时钟+1键分钟+1键 图4-4 时间调整程序流程图显示某位,延时1ms讲段码和位码送P1端口设置段码缓冲区指针设置位码缓冲区指针设置显示位数是显示时钟个位否?设置秒闪烁,取反段码DP位修改显示缓冲区指针,显示位数减1显示完否?返回RET时钟位数减1YNYN 图4-5 显示子程序流程图第5章 开发板的焊接及其测试本次设计适用的开发板是由自己焊接制作完成的,该学习机由基本实验主机板和若干功能扩展模块构成。所有元件安装在一块单面印制电路板上。焊接安装步骤如下:1. 准备好焊接工具和所需元件元件;2. 看清安装图,了解元件安装位置;3. 器件焊接:(1)焊接元件面跳线(1根);首先根据线段的长短用镊子进行定型,插入对应的安装孔,然后焊接。并用斜口钳剪掉高出部分。(2)依次焊接电阻:1K(16个)、2K(2个)2. 2/2.7K(1个)、200/100欧(1个);(3)依次焊接整流二极管(4个)、续流二极管IN4148(1个);(4)依次焊接电容:104独石(4个)、104瓷片(5个)、30P(2个);(5)焊接晶振12M/11.0592M(1个);(6)依次焊接排阻:102(左边)(7)依次焊接芯片插座:40脚、16脚、8脚各1个;(8)焊接轻触按键共14个;(9)焊接三极管:9012(1个)、9015(5个);(10)焊接电源指示LED(1个)、P1口长方形LED(8个);(11)依次焊接电解电容:22 UF(1个)、220 UF(1个)、1000UF(2个);(12)依次焊接拨玛开关、显示器、扬声器、继电器;(13)依次焊接跳针(5个)、扩展排针(两排);(14)依次焊接电源接插件(4个)、电源开关(1个);(15)焊接红外接收管;(16)将7805装好散热片,焊接7805。4. 检验步骤:(1)接通电源,分别检查芯片插座的电源是否正常(5V);(2)装上P1口电源跳线帽,用导线将40脚插座的18脚分别接地,检查8个LED是否都能亮,否则进行线路检查;(3)装上继电器跳线帽,用导线将40脚插座中左边从下数第5脚接地看继电器是否动作;(4)完成以上三项检查正常后,装好复位跳线帽,安装主芯片运行检验程序检查键盘、显示器、小喇叭、继电器以及中断工作是否正常,否则进行线路检查;5. 以上各项检查都正常为合格产品。第6章 系统的调试与运行6.1 系统的调试结果完成了本系统的硬件设计和软件设计,最后的工作也是见证成果的工作就是调试运行开发板。首先按照按照单片机端口设计接线,其中尤其要注意LED显示器的段码接线,按照表3-4接线表接线即可,不可随意接线,否则会出现乱码。正确的接线后,将程序下载线与PC机接好,运行STC单片机写入程序。本系统调试的过程如下:在第一次设计完成本系统时,是通过先分别调试好汽车尾灯的显示程序和时间的显示程序,然后在把两个系统的程序按照软件设计连接起来;开始,由于设计完成键盘扫描后程序跳转错误,导致初次调试时开机时系统可以正常运行,可以同时实现显示信号灯和时间,但是,当操作者按下外部中断按钮调时间后,系统结果只能显示时间却不能反应拨码开关的状态从而不能显示信号灯的状态。经过反复的思考和调试后,终于找到程序的错误,完成了此次系统的调试运行。如图6-1、6-2、6-3、6-4、6-5均为系统的调试结果图。信号灯最终的调试结果如表6-6所示。图6-1 系统调试结果图1图6-2 系统开机后显示图图6-3 系统模拟合上刹车和紧急开关的调试结果显示图图6-4 系统调节时间后显示图图6-5 系统调节时间后合上刹车显示图表6-6 信号灯调试结果调试结果模拟驾驶操作右边转弯灯 尾灯 头灯左边转弯灯 尾灯 头灯蜂鸣器 准备 冲突 左转弯 右转弯 刹车 左转弯+刹车 右转弯+刹车 紧急开关 左转弯+紧急开关 右转弯+紧急开关 刹车+紧急开关 左+刹车+紧急开关 右+刹车+紧急开关说明:表中 分别表示为LED信号灯的亮、灭和闪烁; 分别表示关闭、启动蜂鸣器。6.2 系统的使用说明本系统同时具有模拟汽车不同操作时信号灯的显示状态和显示可以调节的电子时钟的功能。开机后,开机LED灯会亮,LED显示器会显示初始时间为12:00,用户可以自行调节时间;调节时间的方法是按下板子的外部中断INT1按键进入调整时间状态,然后通过L键和D键分别可以调整电子钟的时钟显示和分钟显示+1,调整好正确时间后,再次按下INT1键即可正常运行时间。汽车的信号灯状态模拟通过拨码开关来模拟实际的汽车操作,K0为左转弯操作、K1为右转弯操作、K2为刹车操作、K3为紧急开关。需要注意的是,考虑到时间情况,用户不能同时合上左右转弯两个开关(K0K1),否则,系统会启动扬声器不停提醒用户操作错误,此时只要停止同时合上左右卡关状态即可解除错误提醒。总结回顾此次连续两周的微机原理课程设计,通过自己设计完成一个具有模拟汽车信号灯显示的带可调节时间的完整的系统,现在我仍感慨颇多,的确,从选题到定稿,从理论到实践,在两周的日子里,感觉自己就像是一个产品设计工程师,在过去的十四个日夜里,脑海里不停的浮现优化整个设计的各种方案。每当碰到棘手的难题时,使自己束手无策,但当难题最终解决时,那种成就感也是不可言语的。虽是苦乐并随,但通过此次设计,不仅巩固了上半个学期学习的单片机理论知识,同时让我对单片机产生了浓厚的兴趣。在做课程设计的初期阶段,通过在网络上查询各种跟此次设计相关的资料,增加对这个课题的了解,确定了初步的总体设计方案。开始的硬件设计难度还不是很大,让自己感觉对设计得心应手。当第二周把关于本系统的两个分立的功能的软件编程设计完成后,在如何连接两个程序从而使系统能同时显示信号灯的状态和时间问题上,让自己费劲脑汁,最终在老师的指导下,自己才能顺利的设计好这个系统的功能。在后期的系统调试中,也碰到了许多难题和软件设计中的小问题,通过求助于老师和同学,查找出问题的所在。最终完成的系统已可以实现本次课程设计的要求的功能,另外,考虑到与实际情况的结合,对此系统扩展了功能,即当用户同时合上左右转弯开关发生冲突时,启动蜂鸣器提醒用户操作错误。但是,本系统还是有一些缺陷没能改善,如:当用拨码开关操作LED信号灯时,当显示左/右转弯、紧急开关等需要信号灯闪烁的状态时,LED显示器无法连续的显示时间,原因是信号灯闪烁一次需要调用延时程序持续2秒的时间,这段时间系统不会扫描主程序从而使动态显示的时间显示不能达到视觉的持续的效果。本次设计我能独立完成,算是有了很大的收获。不但对单片机应用与实际有了更为深入的了解,同时对使用keil编程和proteus仿真有了一定的认识。进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何思考和解决问题,以及如何灵活的改变方法去实现设计方案。特别是深刻的体会到软件和硬件结合的重要性,以及二者的联系和配合使用。在此感谢在这次设计中,王迎旭老师、李晓秀老师等对我的辛勤指导,最终才能解决问题完成本系统的设计。同时,对给过我帮助的所有同学和各位指导老师表示衷心感谢!参考文献1 王迎旭. 单片机原理与应用. M :机械工业出版社.2 楼然苗. 51系列单片机设计实例. M:北京航空航天大学出版社.3 黄勤. 计算机硬件技术基础实验教程. M:重庆大学出版社4 刘乐善. 微型计算机接口技术及应用. M:华中科技大学出版社.5 陈光东. 单片微型计算机原理及接口技术. M:华中科技大学出版社.附录1 系统原理图附录2 源程序清单MIAO EQU70H;定义秒钟地址FEN EQU 71H;定义分钟地址SHI EQU72H;定义时钟地址ORG 0000HAJMPSTART1ORG 000BHLJMPTIM0 ;定时器0中断子程序ORG0013HAJMPINT1 ;INT1中断子程序ORG 0030HSTART1:MOV SP,#0A0H;设置堆栈 MOV 7AH,#00H;置显示缓冲区初值.7AH-时钟的十位 MOV 7BH,#00H ;7BH-时钟的个位 MOV 7CH,#00H ;7CH-分钟的十位 MOV 7DH,#00H ;7DH-分钟的个位 MOV 4AH,#0EFH MOV 4BH,#0DFH MOV 4CH,#0BFH MOV 4DH,#7FH MOV R4,#35 ;计数器置初值START2: SETB 25H;秒闪标志位 MOV MIAO,#60 ;设秒初值 MOV FEN,#00;设置显示初值 MOV SHI,#12 MOV TMOD,#01H ;工作方式 MOV TH0,#90H ;定时器初值 MOV TL0,#58H SETB EA;开放中断总允许位 CLR F0;设标志位 CLR 20H.0 SETB EX1;开放外部中断1 SETB IT1;INT1触发方式 SETB ET0;允许定时器0中断 SETB TR0;启动定时器0 CLR 20H.7;定时器工作时标志位;- 时钟调整程序 -WAIT: JB F0,LP;F0为1则进行时间调整 LCALL DAY ;延时 LCALL DAY LJMP MAIN ;F0为0则运行时钟LP: LCALL DAY ACALL DISPLAY ;调用显示LP11: JB P3.0,LPB LCALL DAY JB P3.0,LP11LP1: JNB P3.0,LP1 ACALL DISPLAY INC 7BH MOV A,7BH CJNE A,#0AH,HUANSUAN1;时钟个位不为十则跳至HUANSUAN1 ;进行换算。 MOV 7BH,#0 ;时钟个位满十则向十位进一,同时个位归零 INC 7AH MOV A,7AH CJNE A,#03,HUANSUAN1;时钟十位不为3则进行换算 MOV 7AH,#0;时钟十位到3就返回至0。 SJMP HUANSUAN1LPB: JB P3.1,WAIT LCALL DAY JB P3.1,LPBLPB1: JNB P3.1,LPB1 ACALL DISPLAY INC 7DH MOV A,7DH CJNE A,#0AH,HUANSUAN2 MOV 7DH,#0 INC 7CH MOV A,7CH CJNE A,#06,HUANSUAN2 MOV 7CH,#0 SJMP HUANSUAN2HUANSUAN1: ;时钟的换算。 MOV A,7AH ;把时钟十位存入A。 MOV B,#10 ;把立即数10存入B。 MUL AB ;AB相乘(把时钟十位数乘以10) ADD A,7BH ;把相乘的结果再加上时钟的个位。 MOV SHI,A ;把结果存入时钟地址。 CJNE A,#24,FANHUI1;若时钟满24则全部归零。 MOV 7BH,#0 MOV 7AH,#0FANHUI1:SJMPWAIT;继续调整。HUANSUAN2:MOV A,7CH;分钟的换算。 MOVB,#10 MULAB ADDA,7DH MOVFEN,A SJMPWAIT;-主程序 -MAIN: JB20H.0,WAIT;若20H.0为1,则进行时间调整 SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3 MOV 30H,P2 ANL 30H,#0FH ACALL DISPLAY;调用显示 MOV A,FEN;把分钟十位和个位分别赋给7CH和7DH MOV B,#10 DIV AB MOV 7CH,A MOV 7DH,B MOV A,SHI;把时钟十位和个位分别赋给7AH和7BH。 MOV B,#10 DIV AB MOV 7AH,A MOV 7BH,B MOV A,30H MOV DPTR,#TABLE1 RL A ;累加器乘2 JMP A+DPTRTABLE1: AJMP ZB ;同时关闭 AJMP Z ;左转弯,K0合上 AJMP Y ;右转弯,K1合上 AJMP CT ;冲突,K0K1同时合上 AJMP S ;刹车,K3合上 AJMP ZS ;左转弯+刹车,K0K2合上 AJMP YS ;右转弯+刹车,K1K2合上 AJMP CT ;冲突,K0K1K2合上 AJMP J ;紧急开关, K3合上 AJMP J ;左转弯+紧急开关,K0K3合上 AJMP J ;右转弯+紧急开关,K1K3合上 AJMP CT ;冲突,K0K1K3合上 AJMP SJ ;刹车+紧急开关,K2K3合上 AJMP ZSJ ;左转弯+刹车+紧急开关,K1,K3,K4合上 AJMP YSJ ;右转弯+刹车+紧急开关,K1K2K3合上 AJMP CT ;冲突,K0K1K2K3合上ZB: MOV P1,#0FFH ;准备状态,所有灯熄灭 LJMP MAINZ: MOV P1,#11111000B; 左转弯,K0合上LOOP: LCALL DELAY ;延时1S MOV P1,#0FFH LCALL DELAY LJMP MAINY: MOV P1,#11000111B ; 右转弯,K1合上 LJMP LOOP ;调用延时程序CT: MOV P1,#0FFH ;冲突 CLR P3.7 LCALL DELAY SETB P3.7 LJMP MAINS: MOV P1,#11101101B ; 刹车,K3合上 LJMP MAINZS: MOV P1,#11101000B ; 左转弯+刹车 LCALL DELAY MOV P1,#11101111B LCALL DELAY LJMP MAINYS: MOV P1,#11000101B ; 右转弯+刹车 LCALL DELAY MOV P1,#11111101B LCALL DELAY LJMP MAINJ: MOV P1,#11000000B ;紧急开关 LJMP LOOP LJMP MAINSJ: MOV p1,#11000000B LCALL DELAY MOV P1,#11101101B LCALL DELAY LJMP MAINZSJ: MOV P1,#11000000B LCALL DELAY MOV P1,#11101111
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.1.3食物的消化和营养物质的吸收说课稿-2024-2025学年冀少版(2024)生物七年级下册
- 工地监护员考试题及答案
- 2025宝马购车合同样本
- 服务人民考试题目及答案
- 肥城医院考试题目及答案
- 乡镇燃气一体化工程技术方案
- 大数据在建筑施工过程中的成本控制机制
- BIM技术在建筑质量监控与检测中的应用创新
- 中职音乐基础试题及答案
- 基础安全知识试题及答案
- 0.4mm隔潮膜报告及首页20230605
- 用Excel编写公式模板计算医学决定水平处的偏倚
- ISO 14067-2018:温室气体 产品碳足迹 量化要求和指南(中文版)
- 2024年度吉林省高校教师资格证之高等教育心理学考试题库
- 教育综合统计调查制度培训课件2023年修订
- 智能城市垃圾分类处理系统合同
- 乙酰丙酸论文
- 人教版 九年级历史上册 第一、二单元 单元测试卷(2024年秋)
- 偏瘫康复护理个案病例分析
- NBT 10643-2021 风电场用静止无功发生器技术要求与试验方法-PDF解密
- 铁路防雷及接地工程技术规范(TB 10180-2016)
评论
0/150
提交评论