




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌航空大学计算机课程设计题 目:基于单片机的抢答器系统设计 学 院: 测试与光电工程学院 专业名称: 电子科学与技术 班级学号: 09083110 学生姓名: XXX指导教师: 王庆2012年 6月基于单片机的抢答器系统设计摘要:单片机是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义 此次设计提出了用AT89C52单片机为核心控制元件,设计了一个简易的八路抢答器,本方案中AT89C52单片机与按键、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,利用汇编语言编程,以实现一些基本的功能,使设计的抢答器具有实时显示抢答成功的选手号和抢答后剩余时间以及选手抢答犯规报警的特点,并具有复位功能,使其能够开始新一轮的答题和比赛。本设计的系统实用性强、判断精确、操作简单、扩展功能强,它的功能实现由按键控制。比赛开始,主持人读完题之后按下开始抢答键,数码管立即实时显示30秒倒计时,直到有一个选手抢答时,相应的会在数码管上显示出该选手的编号和抢答所剩的时间,同时蜂鸣器发出声音,以提示有人抢答本题,如果在规定的30s时间内没有做出抢答,则此题作废,即开始新一轮的抢答。 关键字:AT89C52单片机、实时显示、按键控制、复位目录1 绪论32 整体设计方案32.1 单片机的选择32.2 电路设计方案43 系统硬件设计53.1 抢答器工作原理53.2 单片机最小系统设计53.3 控制系统及所需元件63.4 各部电路功能图64 系统软件设计84.1 抢答器流程图84.2 程序流程图95 系统仿真105.1设计思路105.2 电路仿真116 工作总结13参考文献13致谢13附录14源程序代码141 绪论二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”。在知识竞赛中,往往会用到抢答器,故此我们就选择利用单片机编程来设计抢答器,即使两个选手的抢答时间相差几微秒,也能轻松的分辨出哪个选手先抢答到题。本设计是由一个AT89C52单片机控制的八路抢答模拟器,由一组四位共阴数码管显示,其中1位数码管显示抢答成功的选手号,2位数码管显示剩余时间,抢答成功后蜂鸣器立即发出声音提示。本文主要介绍了单片机抢答器的设计过程和工作原理,以及它的实际用途。采用单片机AT89C52作为整个控制核心,其控制主要系统分为五个模块,分别为:显示模块、存储模块、语音模块、抢答开关模块、复位模块。该系统通过开关电路中的按键输入抢答信号,利用一个数码管来完成显示功能,用按键来让选手进行抢答,在数码管上显示哪一位选手先答题的,从而实现整个抢答过程。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,实现智能抢答。随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。2 整体设计方案2.1 单片机的选择1、ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.76.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C205151即可,而不选择89C52,因为后者的价格较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。2、AT89C52 与AT89C51的区别表2-1 51和52的比较单片机数据存储器程序存储器定时器中断51系列128B4KB2552系列256B8KB38RAM 空间增大:AT89C51 有128 字节的内部 RAM,称之为 DATA 存储区。AT89C52 的内部 RAM 扩展为 256 字节,其中高 128 字节,位于从 80H 开始的地址空间中,称之为 IDATA 存储区,但IDATA 区的访问只能是间接寻址方式。内部 FLASH 变大:AT89C51 有 4K 字节的内部 FLASH PERAM,而。AT89C52 的内部 FLASH PERAM 增加1倍,达到8K。中断源增加:在AT89C52 中P1.0和P1.1还可分别作为定时器/计数器2的外部计数输入(P1.0/T2)和(P1.1/T2EX),也就是说,P1.0同时可作为定时器/计数器 T2 的外部计数输入,和输出占空比 50% 的时钟脉冲端口,P1.1同时可作为定时器/计数器 T2 捕获/重新装载触发和方向控制端口。故,AT89C52 除了具备 AT89C51 的定时器/计数器 T0 和定时器/计数器 T1,还额外增加了一个定时器/计数器 T2。而定时器/计数器 T2 的控制和状态位单独位于T2CON、T2MOD,定时器/计数器 T2 在 16 位捕获方式或自动重新装载方式下的捕获/重载寄存器组是(TCAO2H、RCAP2L)。2.2 电路设计方案在本课题中,我们选用现在较为流行的52系列单片机,即选用ATMEL公司的AT89C52。该系统采用单片机AT89C52作为控制核心,可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。AT89C52单片机特点:可靠性好,单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU ,程序指令和数据都可以烧写在ROM许多信号通道都在同一芯片,因此可靠性高;易扩充:单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统;控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。3 系统硬件设计3.1 抢答器工作原理 智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机AT89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。AT89C52单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为8KB,片内数据存储器为256B个字节。AT89C52单片机有4个8位的并行I/O口:P0口,P1口,P2口和P3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。P3口也可作为AT89C52的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。3.2 单片机最小系统设计本课题采用了单片机最小系统来实现八路抢答器,下面是单片机最小系统的原理。单片机的主要功能是负责整个系统的控制,不承担复杂的数据处理任务,因此在设计单片机最小系统时通常选用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持ISP功能)等型号的8位单片机作为MCU。本单片机最小系统采用的是AT89C52。 一个典型的单片机最小系统一般由时钟电路、复位电路、片外RAM、片外ROM、按键、数码管、液晶显示器、外部扩展接口等部分组成,图3-1给出了单片机最小系统的原理图。图3-1 单片机最小系统的原理图3.3 控制系统及所需元件 1、控制系统:主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作。 2、所需元件:该系统的核心器件是AT89C52,在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。各元件为:晶振X1、电容C1、C2、C3、 电阻RP1等。P3.0和P3.1由裁判控制,分别是抢答开始和停止键。P1.0-P1.7是8组抢答的输入口,P2.0-P2.3口为数码管的段选口,位选口用的是P0.0-P0.6口输出, P3.6为蜂鸣器的控制口。3.4 各部电路功能图1、AT89C52的管脚图如下图3-2所示:图3-2 AT89C52管脚图2、外部振荡电路单片机必须在AT89C52的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。外部振荡电路见图3-3所示: 图3-3外部振荡电路3、复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的52单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般C取10f,R取1K。当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;复位电路采用图3-4所示:图3-4复位电路复位输入高电平有效。当振荡器工作时,RST引脚出现两个机器周期以上的高电平,使单片机复位。若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平。软件复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到指定程序。4、采用共阴极七段码7SEG-MPX4-CC显示,由高电平点亮。图形如下图3-5所示:图3-5 共阴极数码管5、采用八个BUTTON按钮作为抢答的选择按键,如图3-6所示:图3-6八个BUTTON按钮4 系统软件设计4.1 抢答器流程图硬件电路确定后,软件的编程要与硬件相匹配,软硬件才能结合完成所要实现的功能。由功能分析得到以下的软件结构图:系统初始化模块按键模块正确抢答模块块非法抢答模块调整时间模块显示模块图4-1 软件系统结构图4.2 程序流程图整个程序主要由定时器T0、定时器T1、外部中断0和主程序构成。1、定时器T0用于使扬声器发声,当需要响铃时,把响铃标志位置一,每次中断都对P3.6取反,扬声器发声,改变定时器初值,可改变扬声器频率。定时器程流程图如下:P3.6取反定时器重新赋值返回主函数响铃标志为1?NY图4-2 响铃程序流程图2、定时器T1用于倒计时,每次中断为50ms,当计数标志为20时即为一秒,显示数字减一。其流程图如下:返回主函数计时标志加一计数器重新赋值图4-3 倒计时中断流程图3、外部中断0用于调整倒计时时间,流程图如下:显示时间R1R1减1返回主函数R1置0R1增1R1置99加1键按下?减1键按下?R到0?R1到99?返回键按下?YNYYYNNNNY 图4-4 调整抢答时间流程图5 系统仿真5.1设计思路 1、主持人按“开始抢答”键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设30s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。数码管上只显示第一个抢答的选手号,倒数时间到小于10s会每秒响一下提示音。如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“开始抢答”进入下次抢答计时,下次抢答是先按复位键。 2、如果主持人未按开始抢答键,而有人按了抢答按键,犯规抢答,LED上不断闪烁“PP”和犯规选手号数并且蜂鸣器响个不停,直到按下“停止”键为止。 3、P3.0为开始抢答,P3.1为停止,P1.0P1.7为八路抢答输入,数码管段选为P0口,位选为P2口低3位,蜂鸣器输出为P3.6口。八路抢答器的源程序见附录1。5.2 电路仿真1、在proteus中画好其总电路图如下图5-1所示: 图5-1 八路抢答器总电路图2、利用keil软件编写源程序,其源程序见附录1,把keil软件中的源程序生成可执行文件,下载到proteus原理图中进行仿真,调试。其选手没有抢答时的状态如下图5-2所示:图5-2 选手准备抢答时的显示图 3、3号选手抢答成功如下图5-3所示:图5-3 3号选手抢答成功显示6 工作总结经过这些天的努力, 我们较好的完成了设计任务,通过此次课程设计,我再次认识到了自学的重要性,以及学以致用的道理。我在图书馆查阅了大量的资料,同时也认识到了图书馆的重要作用。通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识,及我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,克服了编程的枯燥感,让我受益匪浅。在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设计中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。 在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获,劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作(八路抢答器),可是平心而论,也耗费了我们不少的心血,这就让我不得不佩服专门搞单片机开发的技术前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊!但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有回报,就在这样的痛与快乐的交换中,我学到了知识, 学到了做人的道理。参考文献1. 刘教瑜、曾勇. 单片机原理及应用. 武汉理工大学出版社20112. 何立民. 单片机高级教程 第1版北京:北京航空航天大学出版社2001 3. 赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社2001.3 4. 李广第. 单片机基础 第1版北京:北京航空航天大学出版社1999 5. 徐惠民、安德宁. 单片微型计算机原理接口与应用第1版北京:北京邮电大学出版社1996 6. 何立民. 从Cygnal 80C51F看8位单片机发展之路 单片机与嵌入式系统应用 2002年, 第5期:P58 7. 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社 2001 致谢首先衷心地感谢我的指导老师王老师。本文从选题到完成,从理论上的探讨到实际问题的解决,无处不饱含着王老师的心血。王老师的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅,在此论文完成之际,谨向王老师致以深深的谢意和崇高的敬意。我还要感谢我的队友郭海君同学,这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。刚开始的时候,我们就分配好了各自的任务,有的绘制原理图,进行仿真实验,有的积极查询相关资料,并且经常聚在一起讨论各个方案的可行性。在课程设计中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的一项非常重要的保证,而这次设计也正好锻炼我们这一点,这也是非常宝贵的。附录 源程序代码 OK EQU 20H;抢答开始标志位 RING EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 000BH AJMP TT0 ORG 001BH AJMP TT1 ORG 0040H ;避开中断向量区MAIN: MOV R1,#30 ;初设抢答时间为30s MOV TMOD,#11H ;设置定时器/方式1 MOV TH0,#0F0H MOV TL0,#0FFH ;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H ;50ms为一次溢出中断/F=12MHz SETB EA ;设置EA=1,启动总中断 SETB ET0 SETB ET1 ;允许2个中断,T0/T1 CLR OK;使OK=0,禁止抢答 CLR RING SETB TR1 SETB TR0 ;一开始就运行定时器,以开始显示PPP。如果想重新计数,重置TH1/TL1就可以了;=查询程序=START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;未开始抢答时候显示PPP JB P3.0,FEIFA ;若未按下开始抢答键即P3.0=1则跳转到FEIFA ACALL DELAY JB P3.0,FEIFA ;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送R1-R6,因为R1中保存了抢答时间 SETB OK ;抢答标志位,用于COUNT子程序中判断是否查询抢答 MOV R3,#0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT里面FEIFA: JNB P1.0,FALSE1 ;若P1.0=0则转移到FALSE1 ,即有人非法抢答 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START;=非法抢答处理程序=FALSE1: ACALL BARK;按键发声 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERRORFALSE7: ACALL BARK MOV R3,#07H AJMP ERRORFALSE8: ACALL BARK MOV R3,#08H AJMP ERROR;=倒计时程序(抢答倒计时跳到改程序)=COUNT: MOV R0,#00H ;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器RECOUNT: MOV A,R6 ;R6保存了倒计时的时间,之前先将抢答时间给R6 MOV B,#0AH DIV AB ;即A/B,商在A中,余数在B中,除十后分出个位/十位 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于(31H) MOV R5,30H ;取十位 MOV R4,31H ;取个位 MOV A,R6 SUBB A,#0CH ;带借位减,A=A-016H-Cy JNC LARGER ;若Cy=0则转移,即大于10s跳到LARGER/小于等于10s会提醒 MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计数 SETB RING MOV A,R6 JZ QUIT;计时完毕 MOV R0,#00H DEC R6;一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查停/显示 DEC R6;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT ;如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT ;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT: JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6,TRUE7 JNB P1.7,TRUE8 AJMP RECOUNTQUIT: CLR OK;如果按下了停止键执行的程序 CLR RING ACALL BARK AJMP START;=正常抢答处理程序=TRUE1: ACALL BARK;按键发声 MOV R3,#01H CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2: ACALL BARK; MOV R3,#02H CLR OK AJMP COUNTTRUE3: ACALL BARK; MOV R3,#03H CLR OK AJMP COUNTTRUE4: ACALL BARK; MOV R3,#04H CLR OK AJMP COUNTTRUE5: ACALL BARK; MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV R3,#06H CLR OK AJMP COUNTTRUE7: ACALL BARK; MOV R3,#07H CLR OK AJMP COUNTTRUE8: ACALL BARK; MOV R3,#08H CLR OK AJMP COUNT;=犯规抢答程序=ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3;犯规号数暂存于(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH;A!=0AH则转移,0.5s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三灯全灭 AJMP CHECK1 FLASH: CJNE A,#14H,CHECK1;下面是1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示pp和号数 AJMP CHECK1CHECK1: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START;=显示程序=DISPLAY: MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2口低三位做位选码输出 MOV A,R3 MOVC A,A+DPTR MOV P2,#0feH MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0fdH MOV P0,A ACALL DELAY MOV A,R4 MOVC A,A+DPTR MOV P2,#0fbH MOV P0,A ACALL DELAY RETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H ;灭,1,2,3,4,5,6,7,8,9,灭,pDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H ;第一个为零,其他与上相同,因为十位如果为零显示熄灭;=报警延时=DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 ;若(35H)-1非0循环 8次 RET;=延时(显示和去抖动用到)=DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 ;若(33H)-1非0则跳转 DJNZ 32H,LOOP RET;=发声程序=BARK: SETB RING ;使RING=1 ACALL DELAY1 ACALL DELAY1 CLR RING;按键发声 RET;=TO溢出中断(响铃程序)=TT0: MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT; CPL P3.6;RING标志位为1时候P3.6口不断取反使喇叭发出一定频率的声音OUT: RETI;=T1溢出中断(计时程序)=TT1: MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 染发师强化班培训课件
- 枯树生花课件
- 果蔬种植培训课件
- 2-4-4-Trimethylpentanoyl-CoA-2-4-4-Trimethylpentanoyl-coenzyme-A-生命科学试剂-MCE
- 化工材料知识培训课件
- 杨老师奇石鉴赏课件讲解
- 杨伦普通地质学课件
- 化工岗位知识培训
- 杜甫简介课件app
- 部编人教九年级下册语文听评课记录17《屈原》(节选)教师版
- 2025年新版《食品安全法》知识竞赛试题(附答案)
- 2025至2030中国保护器行业发展趋势分析与未来投资战略咨询研究报告
- 学堂在线 高职实综合英语 章节测试答案
- 劳动教育主题活动课说课稿
- 2025年电商行业直播带货研究报告:直播电商产业链分析
- TSG-T7001-2023电梯监督检验和定期检验规则宣贯解读
- JB T 6527-2006组合冷库用隔热夹芯板
- GB-T 1040.2-2022 塑料 拉伸性能的测定 第2部分:模塑和挤塑塑料的试验条件
- 城镇燃气安全管理专业知识
- 一页纸的劳动合同范本(5篇)
- 免疫缺陷病PPT精品课件
评论
0/150
提交评论