毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc

上传人:仙人指路1688 文档编号:3978726 上传时间:2023-03-30 格式:DOC 页数:26 大小:201.50KB
返回 下载 相关 举报
毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc_第1页
第1页 / 共26页
毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc_第2页
第2页 / 共26页
毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc_第3页
第3页 / 共26页
毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc_第4页
第4页 / 共26页
毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89S51单片机的国旗自动升降系统设计.doc(26页珍藏版)》请在三一办公上搜索。

1、07届 分类号:TN6 单位代码:10452 毕业设计国旗自动升降系统设计姓 名 学 年 级 2003 专 业 电气工程及其自动化 系(院) 物理系 指导教师 2007年03月14日目录摘要英文摘要1. 绪论11.1 升降系统的现状1.2 课题的提出及意义2.系统的总体设计 2.1单片机的简介.22.2步进电机的简介. 2.3步进电机的单片机控制.3.系统硬件选择与设计3.1系统的电源选择. 3.2 单片机的型号选择. 3.3 步进电机的选择 . 3.4 系统硬件的总体设计 4.系统的软件设计.4.1设计系统数据库与数据表.4.2国旗升降系统的.4.2.系统运行主程序.5.总结 .谢辞.参考文

2、献附录摘要现代升降系统总的发展趋势是提高自动化,提高柔韧灵活性,技术含量和先进的程度不断提高。将单片机用于升降系统中,使控制技术和单片机技术相结合,从而可实现机电一体化控制,提高升降系统的自动化程度及运行可靠性和稳定性。 本设计是由单片机(AT89S51)、步进电机、AV6532E-067语音芯片、按键等基本的部分组成的控制国旗升降的系统。采用由单片机控制的步进电机带动国旗升降,实现对国旗升降的自动控制。本系统可以实现以下功能:1.可以通过手动按键来实现控制国旗的匀速升降。2.可以按照要求上升或下降国旗,并可在任意位置停止。3.国旗在上升过程中能准确与国歌乐曲同步。4.能实现半旗的升降功能。5

3、.可以通过改变步进电机的转动速度来改变国旗上升或下降的速度。本系统只是一个简单的国旗升降系统,它不是一个先进的系统,现在升降国旗已经实现完全自动化了,可以用微机来实现声光控一体化升降国旗了。关键词 :单片机; 步进电机 ; 升降系统ABSTRACTThe development current of the model raising and downing system is to improve automatization,productivity,and flexibility.Tts technique and predominance degree is heightening g

4、radually.Using SCM in raising and downing system ,tying automotive technique in with SCM technique,thereby can realize meachanics and electronics are controlled together.The raising and downing systemsautomatic degree operational realiability and stability will improve distinctlyThe national movemen

5、t control system is made up of SCM(AT89S51)、stepper moter、AV6532E-067voice chip、keyboards and other basic comments.With the stepper which is controlled by SCM,to driver the flag rising and lowing, thus to a chieve the flag automatic controlling. 1.It can be manually operated.That is,though the butto

6、ns to control movements can be achieved.2.in accordance with the requirements of the user to the designated location and increase or decrease in any position to stop.3.The flag raises while the voice is running.4.Achive the half-mast to functional movments.5.By changing the rotational speeds of the

7、stepper motor,the flag raising or downing speeds can be changed Key word : MCU; Stepper motor; Raising and downing system1绪论1.1升降系统的现状本世纪50至70年代,电子技术和现代控制技术的迅速发展,对国旗的升降系统产生了很大的影响,出现了一系列以采用电机为升降动力的新型的升降系统。如机电密切结合的自动升降系统,高度和速度调整方便的多功能的智能化系统的大量出现,使国旗升降系统成为一个独立的领域出现在现代控制工业中。一个完整的机电一体化系统,将机械、微机、微电子、传感器等多

8、种学科的先进技术融为一体,给升降系统在设计、制造和控制方面都带来了深刻的变化,从根本上改变了升降系统的面貌。我国的升降系统要想在竞争中谋求发展,应努力提高升降系统的总体技术水平,发展机电一体化技术、自动控制技术,提高产品的可靠性和稳定性,促进升降工业向现代化发展。1.2 课题的提出及意义现代生活对自动化的要求越来越重要,而单片机的应用满足人们的日常生活需求。而单片机的主要应用是实现计算机控制和嵌入式应用领域。由于计算机处于系统当中,单片机体积小,质量轻,功耗低和可靠性高等要求,给系统设计降低成本。单片机控制的升降系统实现了对国旗升降的自动化,摆脱了传统由人来手动升降旗帜的不便,使功能更加完善,

9、更加智能化和易于使用,是现代学校,公司等必不可少的设备。系统的总体设计为了对使读者对本系统有比较深的了解,有必要对本系统的硬件部分作一个简单的介绍。由于单片机和步进电机是本系统的核心部分,这里把单片机和步进电机作一些必要的说明。2.1单片机的简介单片机又称单片微控制器,就是把中央处理器CPU、随机存取器RAM、只读存储器ROM、定时器/计数器以及I/O接口电路等主要计算机部件,集成在一块集成电路芯片上的微型计算机。单片机具有体积小、速度快、功耗低、性能可靠、使用方便、价格、低廉等特点,为应用和开发提供了便利的条件,因而在工业生产、科技教育以及日常生活等诸多领域,得到了日益广泛的应用。可以说,二

10、十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是智能单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器,电子万年历,到计时器,定时器,计数器,频率计,电子秤,电子血压表等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,

11、常在产品名称前冠以形容词“智能型”,“电脑型”,如智能型洗衣机,电脑温控冰箱等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气 也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB 板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有

12、天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!本设计选择AT89S51单片机(选择理由见下章)。AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2

13、.1 单片机AT89S51引脚2.1.1主要特性: 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2.1.2管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIA

14、SH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于

15、外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S51的一些特殊功能口,P3口管脚 备选功能如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3

16、.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意

17、的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序

18、存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.1.3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.1.4芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片

19、擦操作中,代码阵列全被写1且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2步进电机简介步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出机械位移增量和输入数字脉冲对应的驱动器件。步进电机具有快速起停的能力,只要电机的负荷不超过它所能提供的动态转矩,就能通过输入脉冲来控制它在一瞬间启动和停止,

20、步进电机的步距角和转速只和输入的脉冲频率有关,和环境温度、气压、冲击以及振动无关,也不受电网电压的波动和负载的变化的影响,它每转一周都有固定的参数。步进精确和步距误差不会长期积累。因此,步进电机在需要精确定位的场所应用广泛。2.2.1步进电机的工作原理由于反应式步进电机工作原理比较简单,因此,下面先叙述三相反应式步进电机的工作原理。三相反应式步进电机定子上均匀地分布有6个磁极,相临两个之间的夹角为60,线圈绕过相对的两个磁极构成一相(、)。此外各磁极上还有个均匀分布的矩形小齿。电机转子上没有绕组,它上面有个矩形小齿均匀分布在圆周上,相邻的两个小齿之间的夹角为。当某相绕组通电时,相应的两个磁极就

21、分别形成N-S极,产生磁场,并与转子形成磁路。如果这时定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。2.2.2步进电机的控制根据步进电机的工作原理,若按顺序给步进电机的绕组施加有序的脉冲即可控制步进电机的转动,从而进行数字到角度的转换。转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲的频率成正比,而转动的方向则与脉冲的顺序有关。对于三相反应式步进电机来说,电流脉冲的施加有三种方式:(1)单相三拍方式:按单相绕组施加电流脉冲。正转:反转:(2)双相三拍方式:按双相绕组施加电流脉冲。正转:反转:(3)三相六拍方式:按

22、单相绕组和双相绕组交替施加电流脉冲。正转:反转:单相三拍方式的每一拍步进角为3,三相六拍的步进角为1.5。因此,在三相六拍方式下,步进电机的运行要平稳柔和一些,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需要提高一倍,对驱动开关管的开关特性要求较高。2.2.3步进电机的驱动方式步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压。为了防止电机过流及改善驱动特性,需加限流电阻。由于步进电机锁步时,限流电阻要消耗掉大量的功率,故限流电阻要有较大的功率容量,并且开关管也要有较高的负载能力。此外,为防止驱动开关管关断时步进电机绕组产生的感应电势击穿开关管,应在电机绕组两端并联续

23、流二极管。如:图2.2。图2.2 步进电机的全电压驱动步进电机的另一种驱动方式是高低压驱动,即在电机移步时,加额定或超过额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加低于额定值的电压,只让电机绕组流过锁步所需的电流值。这样,既可以减少限流电阻的功率消耗,又可以提高电机的运行速度,但这种驱动方式的电路要复杂一些。如:图2.3。图2.3 步进电机的高低电压驱动电机移步时,单步机除向T2、T3、T4发出相应控制信号外,还通过P1.0使T1导通。+24V驱动电压经过T1加到步进电机的相应绕组上,实现高压移步。经过一段时间的延迟后,单片机将关闭,这样,锁步电压就经D1加到步进电机

24、相应绕组上,实现低压锁步。驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。现在,脉冲分配器已经标准化、芯片化、市场上可以买到。但硬件方法结构复杂,成本也较高。步进电机控制(包括控制脉冲的产生和分配)也可以使用单片机实现,这样既简化了电路,也降低了成本。使用单片机这一软件方式驱动步进电机,不但 可以 通过编程方法,在一定范围内自由设定步进电机的转速、往返转动的角度以及转动次数等,而且还可以方便灵活地控制步进电机的运行状态,以满足不同的用户的要求,因此常把单片机步进电机控制电路称为可编程步进电机控制驱动器。2.3步进电机的单片机控制步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机

25、的运动不产生旋转量的误差积累。由单片机实现的步进电机控制系统如:图2.4单片机系统驱动电路步进电机负载图2.4 单片机控制步进电机3系统硬件选择与设计本系统是以单片机为核心并选用必要的外围设备构成单片机对步进电机的控制系统。在硬件设计中进行单片机和存储器的配置、键盘和定时电路的设计、步进电机驱动电路的设计和存储器地址映像等工作,生成步进电机控制系统的硬件原理图。3.1系统硬件的选择3.1.1 电源的选择3.1.2 单片机的选择采用AT89S51单片机实现,该单片机内部资源丰富,集成了内部看门狗、双数据指针、在系统编程(串行下载目标程序)等功能,软硬件调试方便,给电子设计带来很多方便,故该系统设

26、计选用AT89S51单片机。3.1.3 电机的选择电机的选择可以有两种方案:方案一:采用直流电机控制升降国旗运动,直流电机力量大,能够获得较大的启动转矩,转动速度较快,但由于存在机械触点,直流电机容易产生噪声,而且单独使用时不能完成位置控制,需要配以传感器才能控制定位。方案二:采用步进电机控制升降国旗运动,步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定矩运动较精确。虽然步进电机不能实现高速转动,但根据时间和移动距离的要求,步进电机完全可以满足本设计的要求。基于上述理论上的分析,采用步进电机控制国旗升降运动。3.2系统硬件设计根据系统设计要求及上面的论证,可

27、画出本系统框图如:图3.1 微机处理系统步进电机按键发声电路图3.1 系统框图本设计采用的是四相六拍反应式步进电机,运用单四拍控制方式,即通电方式为A-B-C-D-A,电机步距角为15。AT89S51单片机控制步进电机运转时,不采用脉冲分配器,而是使AT89S51的1口循环输出适当的代码,经功放后送到步进电机的四相绕组。 图3.2 系统电路图图3.2 12V直流稳压电源图3.3 5V直流稳压电源LM386作音频功率放大器电路R1,C1作阻容网络是为了设定电路增益而加的。当与脚开路时,电路电压增益为20。仅用C1=10uF时,增益为200;用1.2k时与10Uf串接时,增益为50图3.4 LM3

28、86作音频功率放大器电路3.3系统的软件设计在对该国旗升降系统的设计过程中,根据升降系统要完成的任务,以模块化的设计思想,完成系统的设计。AT89S51是整个系统的主CPU,它协调整个系统的工作。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(源程序)最终都必须翻译成机器语言的程序(目标程序),计算机才能“看懂”,然后逐一执行。但是机器语言只是一种二进制代码,人们很难用它来进行程序设计。用汇编语言编制程序时,程序的每一个语句都与计算机的某一种具体指令相对应,用汇编语言编出的程序其质量优于用高级语言编出的程序。故本设计采用汇编语

29、言编程。 总结通过本次设计,我们认识:(1)单片机的应用,有助于提高设计效率和精确率,减少有人为来控制所带来不便。(2)单片机技术能降低系统设计的复杂性和难度,并显著地增强设计的灵活性。(3)单片机技术获取的软件模拟仿真结果具有同传统硬件实验数据一样的重要性和可信度。随着单片机技术的进展,单片机系统设计的完整方案将越来越受人们的重视,从而取代传统设计方案。本设计仅仅是对步进电机的简单控制,现代生活中设计对铃声采用音频压缩技术,以MP3,WAV,WMA等格式存储音频数据,可以根据用户的需要更换音乐,彻底抛弃传统的语音录音芯片的种种缺陷,并且采用智能功放电源管理,延时开关等多种性能开始系统初始化有

30、键按下吗?保持原工作状态清除转动标记是否处于转动设置状态标记设置状态标记国旗正常降旗国旗正常升旗改变延时参数停止电机转动国旗半旗状态下升旗设置状态标记设置状态标记国旗半旗状态下降旗谢辞本课题在选题及研究过程中得到冯老师的悉心指导。冯老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。这里,我要感谢在大学四年里所有指导、帮助过我的老师、同学,谢谢在这四年里与我同行。四年里我学会的不仅仅是课本上的东西,还有做人的道理,对生活的感悟。谢谢物理系为我们提供的良好的学习、生活环境。大四的这半年里,开发国旗升降系统得到了各个方面的帮助,在这里,我要感谢在毕业设计期间对我严格要求的

31、各位老师,更感谢给我提供了指导性意见的冯老师,感谢实验室给予设计环境的提供,感谢小组其他成员在设计项目上的帮助,以及在代码调试期间班上同学的帮助。最后,我要向我的父母致谢,感谢他们对我的养育,感谢他们给了我上大学的机会,感谢他们对我的理解和支持。参考文献1.张永枫.单片机应用实训教程.西安:西安电子科技大学出版社,2005年2月.125-135.2.胡学海.单片机原理及应用系统设计.北京:电子工业出版社,2004年4月.176180.3.胡辉.单片机应用系统设计与训练.北京:中国水利水电出版社,2005年6月.80145.4.陈明义.电子技术课程设计应用教程.长沙:中南大学出版社,2004年8

32、月.130143.5.何希才.稳压电源电路的设计与应用.北京:中国电力出版社,2006年2月.34766.何应民.单片机初级教程。北京:北京航空航天大学出版社,2000年6月。251657.户川治明(日).实用电源电路设计.北京: 科学出版社,2006年1月.31378.张洪润,易涛.单片机应用技术教程(第二版).北京:清华大学出版社,2003年12月.1861929.冯育长,晋思孝.单片机系统设计及工程应用.西安:西安电子科技大学出版社,2005年5月.18124010.张红润,张亚凡.单片机原理及应用.北京:清华大学出版社,2005年4月.22425111.林伸茂.8051单片机彻底研究基

33、础篇.北京:人民邮电出版社,2004年5月.15717312.林伸茂.8051单片机彻底研究实习篇.北京:人民邮电出版社,2004年5月.8999附录1.源程序ORG 0000HAJMP STARTORG 000BHLJMP 0200hORG 001BHLJMP 0300HZZMK1 BIT 00HFZMK1 BIT 01HZZMK2 BIT 02HFZMK1 BIT 03H ;ORG 0100HSTART: MOV SP,#70H MOV IE,#00H MOV DPTR,#PORT ;8155初始化 MOV A,#43H MOVX DPTR,A MOV R7,#50 CLR ZZMK1 C

34、LR FZMK1 CLR ZZMK2 CLR FZMK2MAIN: LCALL KS ;调按键查询子程序,判断是否有键按下 JNZ K1 ;有键按下,转移 LCALL DELAY1 ;无键按下,调延时子程序 JNB ZZMK1,MAIN1 ;第0行无键按下,转查第1行 LJMP ZZ1 ;国旗正常升至180CM处MAIN1: JNB FZMK1,MAIN2 ; 第1行无键按下,转查第2行 LJMP FZ1 ;国旗从旗杆顶降下MAIN2: JNB ZZMK2,MAIN3 ; 第2行无键按下,转查第3行 LJMP ZZ2 ;半旗状态下升国旗MAIN3: JNB FZMK2,MAIN4 ; 第3行无

35、键按下,转查第4行 LJMP FZ2 ; 半旗状态下国旗在旗杆上降下MAIN4: LJMP TZ;*按键判断子程序*K1: LCALL DELAY1 ;键盘去抖延时 MOV A, #0FEH ;首列扫描字送R3 MOV DPTR,#PORTA ;PA口地址送DPTR,开始列扫描 MOVX DPTR,A ;列扫描字送PA口 INC DPTR ; INC DPTR MOVX A,DPTR ;读取行扫描值 MOV B,A JB ACC.0,L1 ;第0行无键按下,转查第1行 SETB ZZMK1 CLR FZMK1 CLR ZZMK2 CLR FZMK2 LJMP ZZ1 ;国旗正常升起 L1: J

36、B ACC.1,L2 ;第1行无键按下,转查2行 CLR ZZMK1 SETB FZMK1 CLR ZZMK2 CLR FZMK2 LJMP FZ1 ;国旗正常状态下从旗杆顶降下 L2: JB ACC.2,L3 ;第2行无键按下,转查3行 CLR ZZMK1 CLR FZMK1 SETB ZZMK2 CLR FZMK2 LJMP ZZ2 ;国旗在半旗状态下升旗 L3: JB ACC.3,L4 ;第3行无键按下,转查4行 CLR ZZMK1 CLR FZMK1 CLR ZZMK2 SETB FZMK2 LJMP FZ2 ;国旗在半旗状态下降旗L4: L4:JB ACC.4,L5 ; LJMP J

37、SL5:JB ACC.5,NEXT ; LJMP TZ NEXT:LJMP MAIN; *按键查询子程序* KS: MOV DPTR,#PORTA ;置8155PA口地址 MOV A, #00H ;全扫描字#00H送PA口 MOVX DPTR,A INC DPTR INC DPTR ;指向PC口 MOVX A,DPTR ;读入PC口状态 CPL A ;变正逻辑,高电平表示有键按下 ANL A,#0FH ;屏蔽高4位 RET ; 返回 A0表示有键按下;*国旗正常升旗子程序*ZZ1: MOV 30H,#00H ;设初始步序号 MOV R3,#6 ;因步矩角为15,4*15=60,360/60=6

38、次,即要重复6次ZZ1A: MOV R1,#4 ;4步相序 MOV R0,30H ;取初始步序号ZZ1B: MOV A,R0 ; MOV DPTR,#TAB ; MOVC A,A+DPTR ;查步序码 MOV P1,A ;送P1口驱动 SETB P1.4 LCALL DELAY2 ;延时 INC R0 ;修改步序 DJNZ R1,ZZ1B ;检查步序数 DJNZ R3,ZZ1A ;检查相序重复次数 LJMP MAIN *国旗正常降旗子程序*FZ1: MOV 30H,#04H ;设初始步序号 MOV R3,#6 ;因步矩角为15,4*15=60,360/60=6次,即要重复6次FZ1A: MOV R1,#4 ;4步相序 MOV R0,30H ;取初始步序号FZ1B: MOV A,R0 ; MOV DPTR,#TAB ; MOVC A,A+DPTR ;查步序码 MOV P1,A ;送P1口驱动 LCALL DELAY2 ;延时 INC R0 ;修改步序 DJNZ R1,FZ1B ;检查步序数DJNZ R3,FZ1A ;检查相序重复次数LJMP MAIN;*国旗半旗状态下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号