AT89C51用一个按键来控制灯的亮灭

合集下载

基于单片机AT89C51控制的键控流水灯_课程设计报告

基于单片机AT89C51控制的键控流水灯_课程设计报告
设计中,发光二极管是共阳极接法的,我们只需要将其初值不断的左移就会看到LED轮流的被点亮,也就实现了流水灯的功能。
图3-5流水灯模块图
3.3
图3-6 键控流水灯图
4
#include<reg51.h>
#define smg1 P0
#definelsd1P1
#define smg2P2
unsignedinti=1,u=7,j,n,c,k,h=7,s=1;
voidsjms3(void);
voidsjms4(void);
voidsjms5(void);
voidmsms1(void);
voidmsms2(void);
voidmsms3(void);
voidmsms4(void);
voidmsms5(void);
voidzd1(void);
voidzd2(void);
3.2.5
发光二极管就是LED,是一种由磷化镓等半导体材料制成的、能直接将电能转换成光能的发光显示器件。当其内部有一定电流通过时,就是发光。发光二极管具有功耗低、体积小、可靠性高、寿命长和相应快等优点。
流水灯模块采用16个LED发光二极管,通过代码的编写,实现五种流水移动,其中电阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。
1
单片机控制系统能够取代以前利用复杂电子线路或者数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在的单片机的控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
2
2.1
随着经济的发展、科技的突飞猛进,芯片业得到了迅速的发展,是单片机技术在各种民用和工业控制等领域得到更广泛的应用。单片机凭借其低成本、高性能的不可代替优势已经成为了微电脑 控制的主力军。学习单片机的有效方法是将理论与实践并重,因此通过对单片机可控流水灯的设计和研究,鼓励学生在熟悉基本原理的前提下,与实际应用相联系,提出自己的方案,来完善设计,使得他们更好的掌握单片机的应用。

基于AT89C51单片机花式流水灯的设计与实现

基于AT89C51单片机花式流水灯的设计与实现

科技风2019年1月电子信息4通过protus 软件设计的电路图如下图示:基于AT 89C 51单片机花式流水灯的原理图输出部分电路:发光二极管采用共阳极接法,阴极通过限 流电阻R 与+5v 电源连接,阴极连接到单片机的H ) 口的引脚 上。

要实现发光二极管的点亮,考虑到二极管的单向导电性, 若P 0 口输出低电平,二极管点亮,若P 0 口输出髙电平,则二极 管熄灭。

输入电路部分:在P 1.0接控制电路,按下S 1键时,P 1.0引 脚接地,所以P 1.0引脚电平被降为低电平,因此,可以通过检 测P 1.0引脚的电平判断按键S 1是否按下。

if (k %2= = l ) //若奇数次按下按钮,则流水灯执行第二 种状态| P 0 = 0xA A ; //01、03、05、1)7亮,02、1)4、06、08灭delay (30000);P 0 = 0x 55; //02、1)4、1)6、08亮,01、03、05、07灭delay (30000);m其中k 的值通过按键S 1控制,每按下S 1时,k 就自增1;当 k %2 = 0时,说明k 为偶数,执行流水灯依次点亮的程序,当k % 2 = 1时,说明k 为奇数,执行流水灯4亮4灭闪烁的程序。

若 需要在3种状态之间切换,则对3求余即可,以此类推。

按下按键时,通常都会有抖动,表面上看来是按按键一次, 但是因为按键的抖动,单片机会判断出按按键很多次,从而输 入不可控。

此问题可以用“软件消抖”来解决。

当第一次检测 到按键按下时,不采取动作,延时一段时间后,按键按下信号依 然存在,则认为按键被按下,再执行相应的动作。

3总结本以AT 89C 51单片机为主控芯片,以8个发光二极管 为载体,设计流水灯的硬件电路和软件程序,通过k e il 和Proms 软件仿真对结果进行验证,达到了预期的效果。

参考文献:[1] 王东锋,王会良,董冠强.单片机C 语言应用100例•电 子工业出版社,2009,07.[2] 吴文兵,脱建智.基于51单片机的流水灯的设计与实 现[J ].电子技术与软件工程,2016(08) :258.作者简介:范昭君(1987-),女,硕士,讲师,研究方向为智 能机器人。

at89c51单片机_交通灯控制系统(含源码及仿真图).

at89c51单片机_交通灯控制系统(含源码及仿真图).

模拟交通灯设计报告题目交通信号灯控制系统团队研发区第二组完成时间2011-11-31贵州民族学院开放实验室`目录一、项目名称 (1)二、选题背景 (1)2.1 课题背景 (1)2.2 交通灯的历史 (1)三、单片机简介 (2)3.1 单片机的发展历程 (2)3.2 单片机的特点: (3)3.3 AT89C52单片机简介 (4)四、设计基本要求和步骤 (5)4.1 基本要求 (5)4.2 设计步骤 (6)五、硬件和软件设计 (6)5.1 硬件电路图 (6)5.2 程序流程图 (8)主程序 (8)运行过程 (9)LED显示程序 (10)T0中断 (11)INT0中断 (11)5.3 P0、P1口显示状态编码表 (12)5.4 程序源代码 (12)5.5 程序运行效果图 (21)六、心得体会 (22)七、参考文献................................................................................. 错误!未定义书签。

模拟交通灯设计报告一、项目名称十字路口交通信号灯控制系统二、选题背景2.1 课题背景由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。

日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。

随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

2.2 交通灯的历史1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。

基于AT89C51的路灯控制系统设计

基于AT89C51的路灯控制系统设计

基于AT89C51的路灯控制系统设计学院:物理与机电工程学院专业:电子信息工程专业学号:2005040202 姓名:陈娟指导教师:张卫平【摘要】本路灯控制系统是针对实际情况的需要而进行优化设计的。

在设计中,采用开关按钮进行时间控制,显示是六位LED数码管和五个发光二极管,时间为正常24小时走时,可用按钮调节定时开关时间,达到控制的目的。

发光二极管为显示调时状态及模拟路灯的控制,让本设计中更加的形象化。

该设计系统通过对小时、分钟和秒钟的调整来控制路灯的开关状态,并且在23点后,路灯会自动熄灭一半,达到节能的效果。

启动后进入计时显示,计时用六位数码管显示;当一天时间过去后可以循环继续控制,用发光二极管进行模拟显示。

【关键字】单片机路灯节能控制系统目录引言 (4)1 系统总体设计 (5)1.1 设计要求 (5)1.2 系统组成方框图 (5)2 方案论证 (5)2.1 复位模块 (5)2.2 主控模块 (6)2.3 按键输入模块 (6)2.4 显示模块 (6)3 系统硬件设计 (7)3.1 总体思路 (7)3.2 各模块电路图 (7)3.2.1 复位模块电路设计 (7)3.2.2 主控模块电路设计 (7)3.2.3 按键输入模块电路设计 (8)3.2.4 显示模块电路设计 (8)4 系统软件设计 (10)4.1 主程序设计 (10)4.2 计时程序设计 (11)4.3 中断程序设计 (12)5 系统调试 (13)5.1 软件调试 (13)5.2 硬件及总体电路调试 (13)5.3 系统改进方案 (13)6 结束语 (13)7 致谢 (14)参考文献 (14)附录一系统总体原理图 (16)附录二元器件清单 (16)附录三源程序 (17)引言照明工程迅猛发展,其路灯数量的增大,而且功耗和性能大大提高,因而对路灯定时器控制的要求比较精确. 目前,对路灯控制方法多为“人工控制”和“光控”。

“人工控制”受恶劣天气的影响及其他干扰,并且巡视困难;“光控”容易受外部环境干扰,灵敏度低且可靠性较差,二者均不能实现控制开关灯的合理化、科学化,从而会出现:开灯早,关灯晚;或者开灯晚,关灯早的现象。

基于AT89C51单片机的交通灯模拟控制系统

基于AT89C51单片机的交通灯模拟控制系统

基于AT89C51单片机的交通灯模拟控制系统一、概述随着城市化进程的加速,交通问题日益凸显,而交通灯作为城市交通的重要组成部分,其控制系统的设计和优化显得尤为重要。

基于AT89C51单片机的交通灯模拟控制系统,作为一种智能化、高效化的解决方案,正逐渐受到广泛关注和应用。

本系统以AT89C51单片机为核心控制器,结合外围电路和编程技术,实现对交通灯信号的有效控制。

AT89C51单片机以其高性能、低功耗、易编程等特点,在交通灯控制领域具有广泛的应用前景。

通过本系统的设计与实现,不仅能够模拟真实交通场景下的交通灯控制过程,还能够为实际交通灯控制系统的优化提供有益的参考和借鉴。

我们简要介绍了基于AT89C51单片机的交通灯模拟控制系统的研究背景和意义,以及系统的主要特点和优势。

本文将详细阐述系统的硬件设计、软件编程、功能实现以及性能优化等方面的内容,以期为相关领域的研究和实践提供有益的参考和启示。

1. 交通灯控制系统的重要性交通灯控制系统在现代城市生活中扮演着至关重要的角色。

随着城市化进程的加速和汽车保有量的不断增加,道路交通压力日益增大,交通拥堵和交通事故频发成为制约城市发展的重要因素。

一个高效、稳定的交通灯控制系统对于提高道路交通效率、减少交通事故发生率具有不可忽视的意义。

交通灯控制系统能够规范交通秩序,确保车辆和行人有序通行。

通过合理设置红绿灯的时长和顺序,交通灯控制系统能够实现对交通流的精确控制,避免车辆和行人之间的冲突,减少交通拥堵和混乱现象的发生。

交通灯控制系统能够提高道路通行能力,缓解交通压力。

通过优化交通灯的控制策略,可以减少车辆在交叉口等待的时间和次数,提高道路的通行效率。

这不仅可以缓解城市交通拥堵问题,还可以减少车辆尾气排放,有利于改善城市环境质量。

交通灯控制系统还具有一定的智能化和自适应能力。

随着物联网、大数据等技术的不断发展,交通灯控制系统可以实现对交通流量的实时监测和预测,并根据实际情况自动调整控制策略,以适应不同时间段和交通状况的需求。

基于单片机AT89C51的彩灯循环控制系统的设计

基于单片机AT89C51的彩灯循环控制系统的设计

目录摘要 (1)第1章绪论 (2)第2章系统设计方案 (3)2.1设计方案介绍 (3)2.2组成方案各部分的功能介绍 (3)第3章硬件电路设计 (5)3.1电源电路 (5)3.2主控器 (5)3.2.1 单片机的引脚及相关功能 (5)3.2.2 8051单片机内部结构 (7)3.3单片机最小系统的介绍 (8)3.3.1 单片机最小系统组成 (8)3.3.2 复位电路 (9)3.3.3 时钟电路 (10)3.4彩灯循环和数码管显示电路 (11)3.5模式控制电路 (12)3.6整机电路工作原理 (13)第4章系统软件设计 (14)4.1主程序设计流程图 (14)4.2彩灯循环模式转换程序设计 (15)4.3中断程序设计 (18)第5章电路仿真与调试 (20)5.1用K EIL C51软件编译程序 (20)5.2电路仿真 (21)总结 (25)参考文献 (26)附录1 整机电路原理图 (27)附录2 元件明细表 (28)附录3 源程序设计 (29)摘要本设计提出了一种基于AT89C51单片机的彩灯循环控制的方案,实现对LED灯的控制。

本方案以89C51单片机作为主控核心,以按键、显示、驱动等模块组成核心主控制模块。

进一步熟悉和掌握89C51单片机的结构及工作原理,掌握单片机的接口技术及相关外围芯片的外特性和控制方法。

通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。

本设计完成后,能掌握以单片机核心的电路设计的基本方法和技术。

根据用户需要可以编写各种亮灯模式的程序,用户可以根据不同场合选用不同的彩灯循环方式。

与普通LED彩灯相比,它具有体积小、价格低、低能耗等优点。

通过完成一个包括电路设计和程序开发完整过程,了解开发以单片机应用系统的全过程,为今后从事相应工作打下基础。

关键词89C51单片机;中断;循环第1章绪论当今社会中,循环彩灯在人们的日常生活中有着日益重要的作用。

它不仅能美化环境,渲染气氛,还可以用于娱乐场所和电子玩具中,并且在不同场所都各具特色。

利用AT89C51单片机实现的自动灭火控制器

利用AT89C51单片机实现的自动灭火控制器

2003年1月内蒙古大学学报(自然科学版)Jan.2003第34卷第1期A cta Scientiarum N aturalium U niversitatis N ei M ongo l V o l.34N o.1 文章编号:1000-1638(2004)0120088204利用A T89C51单片机实现的自动灭火控制器X周晓蕾,刘海江(内蒙古大学理工学院自动化系,呼和浩特010021)摘要:介绍了用于坦克内自动灭火装置中,以A T89C51单片机为核心的自动灭火控制器的硬件线路配置原理框图,并给出了控制程序框图及硬、软件设计中的抗干扰措施.关键词:A T89C51单片机;自动灭火;控制;掉电保护;抗干扰中图分类号:T P273 文献标识码:A1 自动灭火装置的组成 自动灭火装置主要由自动灭火控制器、火焰传感器、灭火瓶、继电控制盒等组成,如图1所示.当发生火灾时,火焰传感器输出电信号给自动灭火控制器,控制器接收到火警电信号后,立即向灭火瓶送出电信号,使灭火瓶中的电爆管引爆,灭火剂即从灭火瓶中喷出进而灭火.与此同时,自动灭火控制盒还输出电信号至警报器和继电控制盒,使电警报器报警,同时继电控制盒使风扇电动机停止旋转,以提高灭火效能.火灾熄灭后,火警信号消失,风扇电动机在控制盒作用下自行启动旋转,以排出燃烧后的烟雾.本灭火装置的功用是熄灭坦克内发生的火灾,以提高坦克的防护性能.本文将介绍其中的自动灭火控制器的组成及工作原理.图1 自动灭火装置结构图F ig.1 T he au tom atic fire ex tingu ish ing system2 自动灭火控制器工作过程及组成 原有坦克自动灭火控制器是由模拟电路实现的,故障率较高,经常产生误报警或误灭火,而且抗干扰性能较差.本文采用了电路简单、控制性能较高、抗干扰性能较强的单片机实现,在实现自动灭火的全过程中,提高了自动灭火的可靠性.2.1 工作过程当安装在坦克内动力室和战斗室的火焰传感器感受到火焰信号时,自动灭火控制器在5±1s内X收稿日期:2002210217作者简介:周晓蕾(1956~),女,浙江省永康市人,高级实验师.迅速作出反应.首先启动警报器,点亮火警指示灯,然后关闭通风口,使风扇停止,并准备喷药:1)如果是战斗室着火,则立刻喷药灭火.2)如果是动力室着火,则先延时5±1s 后再喷药灭火.3)如果第一瓶灭火剂用完后,火灾仍然存在,则延时10±1s 后,启动第二瓶灭火剂,继续喷药灭火,以此直至火警消除.当火警消除后,本装置将熄灭火警指示灯,关闭警报器,而且在火警指示熄灯灭后5±1s ,自动开启通风口,启动风扇进行排烟,同时启动发动机,坦克进入正常工作.2.2 系统组成 系统组成如图2所示. 系统采用美国A TM EL 公司生产的A T 89C 51片子作为主处理器,该芯片不仅具有M CS -51系列单片机的所有特性,而且片内集成有2K 字节的电擦除闪速存储器(F lash ROM ).A T 89C 51的工作频率为6~40M H z ,系统利用单片机内部振荡器外加石英晶体构成时钟源,晶体振荡频率选为12M H z .火警采集信号输入电路→电源监视及掉电保护电路→89C 51单片机→继电控制盒→火警警报输出→火警熄火控制输出电路图2 系统结构框图F ig .2 B lock diagram of the system 1)电源监视及掉电保护电路电源监视器及掉电保护电路由ADM 691和76C 88等构成,电路如图3所示.图3 电源监视及掉电保护电路F ig .3 T he schem e of pow er mon ito r and low pow er p ro tecti on ADM 691是AD 公司生产的一种高性能微处理器电源监视电路,其功能包括微处理器复位、备用电池切换、看门狗电路、C M O S -RAM 写入保护及电源故障告警等.上电时,当V CC 从0V 上升到复位门限4.65V 时,R ESET 输出仍将维持有效电平50m s ,以保证电源电压正常后系统的有效复位.正常工作时,CS 2为高电平.为提高系统的可靠性,在应用程序中插入看门狗触发指令,即P 1.7的置位复位指令,当程序正常执行时经常触发W D I .在程序“跑飞”超过1.6s 不能触发看门狗时,R ESET 变高使系统复位.在此期间V CC 通过二极管D 和电阻R 1给后备电池E 充电.掉电时,当V CC 从正常电压下降到复位门限4.65V 时,R ESET 立即有效,CS 2变成低电平,76C 88进入保护状态.2)火警采集输入电路用89C 51的P 1.0~P 1.3口作为火警信号的输入端,高电平有效.在产生火焰信号时,89C 51P 1.98第1期罗成等 利用A T 89C 51单片机实现的自动灭火控制器0~P 1.3口送入高电平的火警信号.89C 51CPU 巡回检测该火警信号.当采集到某一路为高电平时,立即采取相应的处理措施.3)火警熄火控制输出电路用89C 51的P 2.0~P 2.6分别启动动力室和战斗室的第一、第二、第三瓶灭火剂控制电路的输出端,低电平为启动信号.其中P 2.0为启动动力室第一瓶灭火剂控制电路的输出端.P 2.1、P 2.2分别为启动动力室第二、第三瓶灭火剂.同理P 2.3、P 2.4、P 2.5分别为启动战斗室第一,第二,第三瓶灭火剂控制电路的输出端.P 2.6口启动报警信号及开、关闭通风口,启动、熄灭发动机,开、关闭风扇控制电路的输出端.并且利用P 1.4及P 1.5口显示是那一室着火,低电平有效.同时P 2.0~P 2.6还是指示有几瓶灭火剂已用指示灯的输出端.在启动灭火瓶控制输出电路的同时,将点亮指示灯.3 硬件抗干扰技术 因为使用环境存在多种干扰源,为此从硬件和软件两方面采取了一些措施,硬件方面主要有:3.1 电源的抗干扰措施本系统是模拟电路和数字电路的混合体,为防止电源引入干扰,采用隔离电源,将模拟电路的直流电源与数字电路的电源分开,并使数字电路直流电源的内阻充分小,从而减少数字电路信号对模拟电路的影响.3.2 信号处理通道的抗干扰措施本系统中从输入输出口接受的干扰也是干扰引入的主要途径.采用光电耦合隔离措施,将输入、输出通道与CPU 完全隔离开来,以保证CPU 的可靠工作.4 程序设计4.1 主程序流程图系统工作时,将随时检测各路火焰传感器的输出状态,并送单片机处理.图4给出了主程序流程图.程序中包括报警电信号的采集,输出启动警报,熄火控制电路的主程序及自动保护复位电路的软件看门狗程序等.图4 主程序流程图F ig .4 T he flow chart of m ain p rogram09内蒙古大学学报(自然科学版)2004年4.2 抗干扰软件程序本系统要求具有较强的抗干扰性,因此不仅在硬件上设置了抗干扰电路而且在软件中设计了抗干扰程序.主要以下几方面:1)指令冗余程序弹飞后,可以落在ROM 中的任何一个地址,当弹飞来的程序落在用户工作程序ROM 区内时,可采用指令冗余的方法来使程序走上正轨.具体做法就是在一些对程序流向起决定性作用的指令(如SJM P 、L JM P 、L CALL 、A CALL 、A JM P 、JB 、等等)之前插入几条空操作指令.2)软件陷阱当弹飞的程序落在非用户程序ROM 区时,ROM 中未被使用的空间或程序中的数据表格区时,常采用软件陷阱的方法来使程序纳入正轨. 该软件陷阱除了安置在未使用的用户ROM 区外,还常常安置在未使用的中断向量区、表格区的最后和程序断裂点后(断裂点是指象L JM P 、SJM P 、A JM P 、R ET 、R ET 1等这类指令).3)程序运行监视系统当弹飞的程序既没有落在软件陷阱,又没有落在冗余指令,而是在用户程序之间或用户根本未使用的地址空间内跳来跳去,自动形成一个死循环,解决这一问题的方法是为系统设置了一个程序运行监视系统.利用它来使系统复位,重新初始化,重新执行主控程序或进入出错处理程序.5 结束语 在此灭火装置系统中应用单片机A T 89C 51,不仅具有反应速度快、自动化程度高的特点,与以往的模拟电路相比故障率几乎为零.而且本系统对灭火装置的抗干扰问题,从电路的设计、器件选择、信号处理方式、电源配置、印制电路板设计和布局等诸多方面来考虑,努力将干扰降到最低,以提高灭火装置的整体防护性能.再加上本灭火装置电路结构紧凑,设计合理,而且涉及有电源监视及掉保护电路,使得这套灭火装置更加安全可靠.可推广于其它的灭火系统中.参考文献:[1] 张毅坤,陈善久,裘雪红.单片微型计算机原理及应用[M ].西安:西安电子科技大学出版社,1997.[2] 孔蕙,徐国华,李贻斌,等.微机应用程序失控的若干防护措施[J ].工业控制计算机,1996,5:34~36.[3] 张长红.8098单片机应用系统的抗干扰设计[J ].工业仪表与自动化装置,1995,2:38~40.(责任编委 李树华)A u tom atic F ire Ex tingu ish ing Con tro llers I m p lem en tedby A T 89C 51SCMZHOU X iao 2lei ,L I U H ai 2jiang(D ep a rt m en t of A u to m a tion ,Colleg e of S ciences and T echnology ,N ei M ong ol U n iversity ,H ohhot 010021,PR C ) Abstract :T he hardw are configu rati on of au tom atic fire ex tingu ish ing con tro llers based on A T 89C 51SC M u sed in tank s is in troduced .T he softw are p rogram and the an ti 2distu rb m easu res u sed in the design of hardw are and softw are are p resen ted .Key words :A T 89C 51SC M ;au tom atic fire ex tingu ish ing ;con tro l ;low pow er p ro tecti on ;an ti 2distu rb19第1期罗成等 利用A T 89C 51单片机实现的自动灭火控制器。

AT89C51实现28路灯光控制程序

AT89C51实现28路灯光控制程序

用AT89C51实现28路灯光控制程序清单地址机器码指令注释0000 02003B LJMP 003B ;跳转至003BH003B 758000 MOV P,#00H ;初始化003E 75900F MOV P1,#0FH ;0041 75A000 MOV P2,#00H ;0044 75B000 MOV P3,#00H ;0047 1203CC LCALL 03CC ;调“嘀嗒”声子程序004A 758007 MOV P0,#07H ;点亮VD1至VD3作默认指示004D 20910F JB P1.1,005F ;判断SB2状态0050 1203F7 LCALL 03F7 ;延时去抖动0053 209109 JB P1.1,005F ;0056 1203CC LCALL 03CC ;确认并应答0059 3091FA JNB P1.1,0056 ;等待SB2释放005C 020100 LCALL 0100 ;默认进入第一种选择,2灯流动005F 2090EB JNB P1.0,004D ;判断SB1状态0062 1203E7 LJLP 03F7 ;去抖动0065 2090E5 JB P1.0,004D ;0068 1203CC LCALL 00CC ;确认并应答006B 3091FA JNB P1.1,0068 ;等待SB1释放006E 758003 MOV P,#03H ;点亮VD1和VD2作第二种选择指示0071 20910F JB P1.1,0083 ;判断SB2状态0074 1203F7 LCALL 00F7 ;去抖动0077 209109 JB P1.1,0083 ;007A 1203CC LCALL 03CC ;确认并应答007D 3091FA JNB P1.1,007A ;等待SB2释放0080 020200 LJMP 0200 ;进入第二种选择,4灯流动0083 2090EB JB P1.0,0071 ;判断SB1状态0086 1203F7 LCALL 03F7 ;去抖动0089 2090E5 JB P1.0,0071 ;008C 1203CC LCALL 03CC ;确认并应答008F 3091FA JNB P1.1,008C ;等待SB1释放0092 758001 FOV P0,#01H ;点亮VD1作第一种选择指示0095 02004D LJMP 004D ;返回判断SB2状态0100 758003 MOV P0,#03H ;点亮VD1、VD20103 1203EF LCALL 03EF ;延时0.1S0106 75800C MOV P0,#0CH ;熄灭VD1、VD2,点亮VD3、VD40109 1203EF LCALL 03EF ;延时0.1S010C 758030 MOV P0,#30H ;点亮VD5、VD6010F 1203EF LCALL 03EF ;延时0.1S0112 7580C0 MOV P0,#C0H ;点亮VD7、VD80115 1203EF LCALL 03EF ;延时0.1S0118 758000 MOV P0,#00H ;熄灭VD7、VD8011B 75A0C0 MOV P2,#C0H ;点亮VD9、VD10继续流动011E 1203EF LCALL 03EF ;0121 75A030 MOV P2,#30H ;0124 1203EF LCALL 03EF ;012A 1203EF LCALL 03EF ;012D 75A003 MOV P2,#03H ;0130 1203EF LCALL 03EF ;0133 75A000 MOV P2,#00H ;0136 75B0C0 MOV P3,#C0H ;点亮VD17、VD18继续流动0139 1203EF LCALL 03EF ;013C 75B030 MOV P3,#30H ;013F 1203EF LCALL 03EF ;0142 75B00C MOV P3,#0CH ;0145 1203EF LCALL 03EF ;0148 75B003 MOV P3,#03H ;014B 1203EF LCALL 03EF ;014E 75B000 MOV P3,#00H ;0151 7590CF MOV P1,#CFH ;点亮VD25、VD26继续流动0154 1203EF LCALL 03EF ;0157 75903F MOV P1,#3FH ;015A 1203EF LCALL 03EF ;015D 75900F MOV P1,#0FH ;0160 020100 LJMP 0100 ;返回点亮VD1、VD2循环流动0200 75800F MOV P0,#0FH ;点亮VD1至VD40203 1203CC LCALL 03CC ;调“嘀嗒”声延时0.2S0206 7580F0 MOV P,#F0H ;继续4灯流动0209 1203CC LCALL 03CC ;020F 75A0F0 MOV P2,#F0H ;0212 1203CC LCALL 03CC ;0215 75A00F MOV P2,#0FH ;0218 1203CC LCALL 03CC ;021B 75A000 MOV P2,#00H ;021E 75B0F0 MOV P3,#F0H ;0221 1203CC LCALL 03CC ;0224 75B00F MOV P3,#0FH ;0227 1203CC LCALL 03CC ;022A 75B000 MOV P3,#00H ;022C 7590FF MOV P1,#FFH ;0230 1203CC LCALL 03CC ;0233 75900F MOV P1,#0FH ;0236 020200 LJMP 0200 ;返回点亮VD1至VD4,循环4灯流动03CC 7B64 MOV R3,#64H ;设置脉冲周期数10003CE D292 SETB P1.2;使P1.2呈高电位03DD 1203F7 LCALL 03F7 ;延时0.5ms03D3 C292 CLR P1.2;使P1.2呈低电位03D5 1203F7 LCALL 03F7 ;延时0.5ms03D8 DBF4 DJNZ R3,03CE ;循环变换P1.2的高低电位03DA 7B32 MOV R3,#32H ;设置脉冲周期数5003DC D292 SETB P1.2;使P1.2呈高电位03DE 1203F7 LCALL 03F7 ;延时0.5ms03E1 1203F7 LCALL 03F7 ;延时0.5ms03E4 C292 CLR P1.2;使P1.2呈低电位03E6 1203F7 LCALL 03F7 ;延时0.5ms 03E9 1203F7 LCALL 03F7 ;延时0.5ms03EC DBEE DJNZ R3,03DC ;延回循环改变P1.2的电位03EE 22 RET ;子程序返回03EF 7BC8 MOV R3,#C8H ;置延时常数20003F1 1203F7 LCALL 03F7 ;延时0.5ms03F4 DBFB DJNZ P3,03F1 ;循环调用调时程序03F6 22 RET ;子程序返回03F7 7A32 MOV R2,#32H ;置延时常数03F9 00 NOP ;空操作03FA 00 NOP ;03FB 00 NOP ;03FC 00 NOP ;03FD DAFA DJNZ R2,03F9 ;循环空操作03FF 22 RET ;子程序返回详细技术周工:QQ:908174547 EMAIL stanley988@。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档