




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 说 明 书课程名称: 单片机原理及应用 设计题目: 抢答器设计 院 系: 电子信息与电气工程 学生姓名: 学 号: 专业班级: 07自动化二班 指导教师: 2010年 5 月 14日课 程 设 计 任 务 书设计题目抢答器设计学生姓名所在院系电子信息与电气工程专业、年级、班自动化07级二班设计要求:1.设计一个具有表决选择的选择器;2.具有电源开关及指示灯,有复位按键;3.用一位数码管显示抢答选手,用八个LED灯作为选手抢答指示灯;4.利用查询方式扩展8个外部中断源,由74ls09组成优先权选择电路识别最先输入的信号,显示选号,并有声音提示;5.在主持人未按下开始抢答按键时,抢
2、答无效;当有选手抢答时蜂鸣器响一声,其他人抢答无效;6.当有两人同时抢答时,八号选手优先级最高,一号最低;学生应完成的工作:1.硬件电路设计以及程序的编写;2.软硬件结合仿真;3.实物制作并调试;4.课程设计说明书的书写;5.我主要负责硬件焊接与制作。参考文献阅读:1 张毅刚,彭喜元,董继成。单片机原理及应用.高等教育出版社,2003.2 童诗白,华成英.模拟电子技术基础.高等教育出版社。20063 张大明,刘振鹏.单片微机控制应用技术实操指导书。机械工业出版社,2007.4 徐晨,陈继红,王春明,徐慧.微机原理及应用。高等教育出版社。2004.工作计划:5.7进行软硬件联机调试 5.85.任
3、务下达日期: 2010 年 5 月 4 日 任务完成日期: 2010 年 5 月 14 日指导教师(签名): 学生(签名): 抢答器设计摘 要:本组设计目标为以AT89C52单片机作为主要模块、数码管做为显示模块组成的用于表决选择的抢答器。本抢答器主要是通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个按键的扫描中。通过数码管来显示抢答选手的号数,并由蜂鸣器发出抢答产生信号。具体功能为:主持人读完题目后按下允许抢答开关,才能进行选手抢答,否则摁键抢答无效,抢答时,首先有时间优先,之后有位置优先。本抢答器的主要特点有硬件比较简单,造价便宜,软件原理通俗易懂。关键词:单片机; 抢答器;
4、显示;功能;优先目 录1.设计背景 011.1 专业背景 01 课题提出 012.设计方案 01 硬件设计方案 01 软件设计方案 023.方案实施 033.1 硬件方案实施 033.2 软件方案实施 084.结果与结论 154.1 总体设计过程分析 154.2 总体结论 155.收获与致谢 166.参考文献 167.附件 17 7.1 元器件清单 17 7.2 硬件原理图 18 7.3 程序清单 181. 设计背景1.1专业背景随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强学生动手能力重视实践应该是电子发展需求的必
5、然趋向。实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。本次实习设计的题目为基于单片机的抢答器。1.2课题提出抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。普通抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单
6、,特别是当抢答路数很多时,实现起来就更为困难。这个学期我们开设了单片机课程,为了进一步巩固我们的相关知识,老师精心组织了这次课程设计。我们设计了以单片机为核心的新型的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。通过这次抢答器设计,是我们进一步掌握相关专业知识的综合应用,提高我们的实际设计能力和动手能力。硬件设计方案根据课程设计要求可以大概构思出硬件电路图:数码管与单片机的P0口的低七位相连接;P0.7口与蜂鸣器相连接;P1口接八个按键;P2口接八个LED灯分别显示八位选手抢答的指示信号。1)主控部分的方案设计用以AT89C52为核心的单片机控制方案,通过相应的
7、程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低。2)优先级的设定对于八位选手的优先级的设置有两种方案。方案一:利用一片74LS09芯片分别把P1口的八个抢答信号个一组相与之后接到单片机的除主持人外的其他的中断,并有软件的编写来控制八个抢答信号的优先级。方案二:利用两片74LS09先把八个抢答信号各一组相与后,再把相与后的信号个一组再次相与,最后把相与的结果的一个信号接到单片机的外部中断0上,当有抢答信号时,通过软件编写查询各个选手顺序可以设置八个抢答的优先级。显然,方案一虽然少用了一片74
8、LS09芯片但它需要四个中断,甚是麻烦。而方案二只需要设置两个中断的开通与关断以及内部查询顺序就可以设置八个抢答信号的优先级。因此选择方案二。2.2软件设计方案1)中断的开通与关断设计为达到在主持人未按下按键前抢答无效应该设置外部中断为开中断,外部中断0为关中断。当开始抢答信号发出后,开外部中断0以接收选手抢答中断信号。选手抢答后,开外部中断1从而使主持人再次按下按键后可以开始下一次抢答。2)数码管的显示方案一:采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED都对应一个单片机口线。方案二:采用动态显示,对于多位数码管显示时,每一位数码
9、管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮
10、度较静态显示器低。通过以上分析,结合本课题只提供一位数码管,所以采用方案一。3)抢答信号指示灯对于这一位LED灯的闪烁可以通过软件程序的编写,交替送出电平高低控制其闪烁。3. 方案实施3.1硬件方案实施1)相关应用软件的介绍本次设计要用到的软件包括:电路模拟仿真软件Proteus软件,汇编语言的编译器软件keil软件,布线制板软件dxp软件。首先对于Proteus软件的用法:如图1中所示,区域为菜单及工具栏,区域为预览区,区域为元器件浏览区,区域为编辑窗口,区域为对象拾取区,区域为元器件调整工具栏,区域为运行工具条。首先点击启动界面区域中的“P”按钮(Pick Devices,拾取元器件)来打
11、开“Pick Devices”(拾取元器件)对话框从元件库中拾取所需的元器件。在对话框中的“Keywords”里面输入我们要检索的元器件的关键词,比如我们要选择项目中使用的AT89C52,就可以直接输入。输入以后我们能够在中间的“Results”结果栏里面看到我们搜索的元器件的结果。搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器件加入到我们的文档中,那么接着我们还可以用相同的方法来搜索并加入其他的元器件。当我们已经将所需的元器件全部加入到文档中时,我们可以点击“OK”按钮来完成元器件的添加。添加好元器件以后,下面我们所需要做的就是将元器件按照我们的需要连接成电路。首先在元器件浏览区
12、中点击我们需要添加到文档中的元器件,这时我们就可以在浏览区看到我们所选择的元器件的形状与方向,如果其方向不符合你的要求,你可以通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线。事实上Proteus的自动布线功能是如此的完美以至于我们在做布线时从来都不会觉得这是一项任务,而通常像是在享受布线的乐趣。布线时我们只需要单击选择起点,然后在需要转弯的地方单击一下,按照你所需走线的方向移动鼠标到线的终点单击即可。Proteus中单片机芯片默认已经添加电源与地,所以我们可以省略。 图1. proteu
13、s 启动界面图修改好各组件属性以后就要将程序(HEX文件)载入单片机了。这里就要用到汇编语言的编译器软件keil软件了。应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文件设置工程编译/汇编、连接,产生目标文件程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名
14、.asm(.a51)或.c;然后选择菜单Project-New Project,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前
15、面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for TargetTarget1(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。 2)硬件电路框图本系统采用AT89S52单片机作为控
16、制核心,对按键开关送来的信号进行分析处理,最终控制数码管显示相应的数值。本系统主要的单元电路有单片机主控电路、键盘控制电路、LED显示电路模块等。系统硬件框图如下图图2所示。复位电路时钟电路LED显示电路蜂鸣器电路数码管显示电路电源电路 AT89C52单片机图2.系统硬件框图3)时钟电路单片机必须在时钟电路的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源,就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,其振荡频率主要由石英晶体的频率决定。两个电容的作用是帮助振荡器起振,并对振荡器的频率
17、进行微调。电路如图3所示图3.时钟电路图4) 复位电路外部中断和内部中断并存,单片机有硬件复位端,输入一定周期的高电平即可实现复位。复位后单片机的各个状态都恢复到了初始状态。电路如图4所示: 5)数码管的设计: 图中数码管采用的是1位七段共阳数码管,其中a f段分别接到单片机的P0.0 P0.6口,由单片机输出的P0口数据来决定段码值,还有八个300欧姆的电阻,连接在P0口上,用作P0口的上拉电阻。6)电源电路电源电路由桥堆2w10和7805构成。电源电路主要用用于为整个系统提供电源。我们日常用电都是220V的交流电,所以在设计电源时要先把交流电整成直流,然后再经过稳压管输出整个系统所需的稳定
18、的直流电压。整流主要采用2W10桥堆和电容滤波以得到基本稳定的输出电压。稳压部分是采用常用的稳压管W7805得到稳定的输出正5V电压。如图5所示:图5.电源电路图7)LED和数码管显示 LED显示主要是给发光二极管送一恒定的电流,这种方法需要有寄存器、译码器、驱动电路灯逻辑部件。而单片机的P0口每一位可以驱动八个TTL型LS型负载,所以可以采用直接由P0口驱动数码管,P2对应每一口接一个发光二极管。 由于采用的是阳极接5V电源的接法,所以需要限流电阻与发光二极管串联。发光二极管允许通过的电流是3mA至10mA左右,为了使发光二极管亮度高点,所以,选择了串联300欧电阻。8)蜂鸣器 蜂鸣器的发声
19、主要用于对有抢答时的报警信号,以提示主持人。蜂鸣器的发声由三极管放大电压、电流来驱动,其中三极管的基集接单片机的口,以提供导通基集电流,从而经放大后达到蜂鸣器的发声电压、电流。其电路图如6所示:图6. 蜂鸣器电路3.2软件方案实施1) 抢答器流程图流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理;平行四边形表示:输入;不规则图形代表输出
20、;菱形表示:判断。对整个系统的功能分析知,汇编语言程序分为三大部分:主持人未按允许抢答时没有响应,主持人按键为外部中断1,之后有抢答信号为外部中断0。得到系统的流程图如下图。初始化开始是否有外部中断0?中断初始化外部中断1子程序外部中断0子程序结束是否有外部中断1?是否有外部中断1? 图7.主程序流程图2) 主要程序分析我们组所采用的编程语言是单片机汇编语言,汇编语言的特点是程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。汇编语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构
21、化。它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括主持人按键处理程序,主选手抢答处理程序,一号选手抢答处理程序,LED灯闪烁程序,键盘消抖延时程序以及蜂鸣器发声时间和LED闪烁间隔时间程序。程序分析如下:a初始化程序抢答器的程序初始化主要完成中断初始化,数码管显示初始化。中断初始化主要是对主持人按键中断信号和抢答中断信号的初始化,首先设置为主持人中断优先,抢答中断其后,即只有主持人按下按键后才允许选手抢答。而对于数码管的初始化显示在本课题中是使数码管全灭。初始化程序如下:MOV A,#7FH ;初始化MOV P0,ASETB EA ;CPU开中断SETB EX1 ;开外
22、部中断1 SETB IT1 ;外部中断1设为电平触发方式CLR EX0 ;关外部中断0b外部中断1处理程序程序主要是用来处理主持人按键发出的抢答信号的显示和选手抢答按键的允许:在主持人按下按键后,使数码管显示0以示意选手可以开始抢答,同时开外部中断0,即允许选手抢答中断。同时,数码管显示0就说明主持人已经按下按键,所以在这里没有调用键盘消抖延时程序。处理程序和流程图如下:SETB EX0 ;开外部中断0SETB IT0 ;外部中断0设为电平触发方式MOV A,#40H MOV P0,A ;主持人按键显示段码送到P0口显示RETI ;中断返回外部中断0处理程中断初始化显示开外部中断0有外部中断0
23、?返回 图8. 外部中断1处理程序 也就是选手抢答中断处理程序。首先调用键盘消抖延时程序,确定有键按下后。当有两位选手同时抢答时根据要求的八号选手优先级,一号选手优先级最低的要求,所以在编写软件的时候首先检测八号选手对应的口线、如果是该键按下,就直接跳转到对应按键处理程序,否则就检测下一位,依次检测下去。例如八号选手的检测程序如下:SETB EX1 ;开外部中断1SETB IT1 ;外部中断1设为电平触发方式CLR EX0 ;关外部中断0 CLR IT0MOV A,P1 ;把抢答状态送到累加器 LCALL DEL0;调用延时程序,软件消抖CJNE A,P1,IN0;没有抢答,跳转再次检测键盘状
24、态MOV A,#7FH;八号选手抢答的数值送到CJNE A,P1,K6;不是八号选手抢答,转到K6AJMP KEY7;是八号抢答,转到KEY7外部中断0处理程序的流程图如下:开外部中断1有抢答?P1.7低电平?P1.6低电平?键盘消抖数码管显示8、LED闪烁、蜂鸣器响一声P1.5低电平?P1.3低电平?P1.2低电平?P1.1低电平?有中断1?返回数码管显示7、LED闪烁、蜂鸣器响一声数码管显示6、LED闪烁、蜂鸣器响一声数码管显示5、LED闪烁、蜂鸣器响一声数码管显示4、LED闪烁、蜂鸣器响一声数码管显示3、LED闪烁、蜂鸣器响一声数码管显示2、LED闪烁、蜂鸣器响一声数码管显示1、LED闪
25、烁、蜂鸣器响一声中断1处理程序图9. 外部中断0处理程序d按键处理程序此过程就是蜂鸣器响一声,数码管显示选手号,对应选手LED闪烁五次。数码管显示就是给P0送入选手号对应段码; P高电平,使蜂鸣器发声,再调用蜂鸣器发声时间延时程序,然后使P为低电平关闭蜂鸣器发声。LED闪烁是给P2口对应的口线交替送高低电平,同时调用延时程序用来控制闪烁的时间间隔。例如一号选手的处理程序如下: MOV A,#0F9HMOV P0,A ;数码管显示一号选手抢答LCALL DEL1;调用蜂鸣器响声时间延时程序;关闭蜂鸣器响声MOV R0,#00HLCALL FLASH ;一号选手对应LED灯闪烁程序RETI ;中断
26、返回e延时程序 延时程序用来控制LED闪烁的时间间隔、蜂鸣器响声时间和按键消抖。延时程序的编写就是利用给寄存器赋值,然后利用DJNZ指令判断寄存器是否为零,再利用几个DJNZ嵌套,结合指令执行所占用的机器周期,计算延时程序的延时时间。根据延时时间的不同来设置寄存器的值。例如消抖程序如下:DEL0: MOV R2,#40 LOP0: MOV R3,#125LOP1: DJNZ R3,LOP1DJNZ R2,LOP0RETf闪烁程序 这部分程序中采用了查表程序,表格中的不同值赋给P2口控制等的亮与灭;其中也调用了延时程序。主要是控制选手指示灯的闪烁。闪烁程序和流程图如下:FLASH: MOV DP
27、TR,#TAB ; 转移表首地址送DPTRMOV R1,#05H ;闪烁次数到R1LOP: MOV 30H,R0 ;查表偏移量到寄存器30HMOV A,30HMOVC A,A+DPTR ;查表MOV P2,A ;对应查表结果的LED灯亮LCALL DEL1 ;调用闪烁延时程序INC 30H ;查表偏移量增1MOV A,30HMOVC A,A+DPTR ;查表MOV P2,A ;对应查表结果的LED灯灭LCALL DEL1 ;调用闪烁延时程序DJNZ R1,LOP ; 闪烁次数减1不为0转移RET ; 返回 查表首地址送给DPTR闪烁次数送给R1查表偏移量送给30H查表值送给P2口查表偏移量30
28、H加1查表值送给P2口R1减1为0?返回图10. 闪烁程序流程图4. 结果与结论4.1总体设计过程分析首先,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是课堂授课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?很明显做类似的课程设计就为我们提供了良好的实践平台。其次,这次课程设计大概持续了两周时间,由于刚开始时一直很轻视这些或那些问题,或者说有点心虚,猛然间面对一个挺大的问题:从设计到实现全靠我们几个!什么只想着去问问老师,没想到大家都很牛,很快就有人有思路了,我们也不能
29、甘心落于人后,只能费尽心思的做了!我们设计的课题是八路抢答器,抢答器主要是由单片机、主持人按键和选手抢答按键以及显示部分组成;抢答器主要功能是:实现主持人按下允许抢答按键后数码管显示0,并允许选手抢答;当有有选手抢答时,其他选手再抢答无效;当有两位以上选手同时抢答时,八号选手优先级最高,一号选手最低。在有选手抢答后,数码管显示抢答选手号,对应选手抢答指示LED灯闪烁五次,同时蜂鸣器响一声。当主持人再次按下按键后数码管显示0,又开始下一题的抢答。说真的,整个过程不够流畅,专业知识与实际问题结合的不够灵活,思维不够敏捷,确实费了不少心思,设计结果也不是太理想。最后,总结出以下要点:在设计程序之前,
30、设计者必学对所用单片机的内部结构有一个系统的了解,知道该单片 机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。4.2总体结论经过近十天的努力,在老师帮助下,我们这一组较好的完成了设计任务,通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。我在图书馆
31、及网络上查阅了大量的资料,同时也认识到了团队合作的重要作用。此次的抢答器的设计,让我重新认识了以前所学习的专业知识,我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,克服了工作的枯燥感,让我受益匪浅。在学习单片机这门课程的时候,我们应该好好的记笔记,课下好好的做练习题才能把汇编语言程序设计灵活的运用到单片机的应用上,在单片机这门课程的学习上,我们还应该知道一种常用的仿真软件proteus软件,可以让你我们更为清晰的掌握C89C52单片机的实际应用上的设计。在今后的学习过程中,应该多看一些专业方面的书籍,以丰富自己的知识。由于知识水平的局限和动手能力不足,设计中可能会存在着一
32、些不足,我真诚的接受老师和同学的批评和指正。5. 收获与致谢这两个周的单片机课程设计实习很快要结束了,在这个过程中我深刻的认识到了自己的不足,也获得了很多难得的经验和知识。在本课程设计即将完成之际,我要对所有支持和帮助我的老师和同学表示衷心的感谢。我要感谢我们的指导老师、老师,作为一个平时和她接触很少的普通学生,她的平易近人和认真负责的态度让我深受感动,她也给了我们精确地的指导,让我学到了很多知识,掌握了Keil的编程和Proteus的仿真的方法,也获得了实践锻炼的机会。这次课程设计,由于我们经验的匮乏,有许多想不到的地方,如果没有高老师的督促指导,以及本组的同学们的团结合作,想要完成这个设计
33、是不太可能的。高老师平日里还要授课,但在我们做课程设计的每个阶段,从查阅资料到设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我们悉心的指导。其次要感谢我们的单片机课程老师段老师,她平时授课认真,对我们要求严格负责,在相关知识的积累和应用上给了我们极大的帮助!我们都很喜欢她带的课!然后要感谢本组同学的帮助,他们都是知识储量丰富,做事认真的合作伙伴!最后还要感谢周围同学的帮助!谢谢大家! 6. 参考文献1 张毅刚,彭喜元,董继成。单片机原理及应用.高等教育出版社,2003.2 童诗白,华成英.模拟电子技术基础.高等教育出版社。20063 张大明,刘振鹏.单片微机控制应用
34、技术实操指导书。机械工业出版社,2007.4 徐晨,陈继红,王春明,徐慧.微机原理及应用。高等教育出版社。2004.7. 附件7.1 元器件清单器件名型号与规格数量单片机AT89C521晶振1瓷片电容33pF4电解电容22uF和1000uF各2LED指示灯8数码管共阳极数码管1位1三极管9013174LS092电阻4电阻30020电阻1K2电阻68011稳压管78051蜂鸣器1桥堆2W101插座40脚IC插座1开关拨动开关1开关按键10万用板17.2 硬件原理图选手抢答按键复位按键主持人按键图10 硬件原理图 ORG 000H ;复位入口 LJMP STARTORG 0003H ;外部中断0入
35、口LJMP IN0ORG 0013H ;外部中断1入口LJMP IN1ORG 1000H ;主程序入口START: MOV A,#7FH ;初始化MOV P0,ASETB EA ;CPU开中断SETB EX1 ;开外部中断1 SETB IT1 ;外部中断1设为电平触发方式CLR EX0 ;关外部中断0SJMP $;=主持人按键处理程序=IN1: SETB EX0 ;开外部中断0SETB IT0 ;外部中断0设为电平触发方式MOV A,#40H MOV P0,A ;主持人按键显示段码送到P0口显示RETI ;中断返回SJMP $;=主选手抢答处理程序=IN0: SETB EX1 ;开外部中断1S
36、ETB IT1 ;外部中断1设为电平触发方式CLR EX0 ;关外部中断0 CLR IT0MOV A,P1 ;把抢答状态送到累加器 LCALL DEL0;调用延时程序,软件消抖CJNE A,P1,IN0;没有抢答,跳转再次检测键盘状态MOV A,#7FH;八号选手抢答的数值送到CJNE A,P1,K6;不是八号选手抢答,转到K6AJMP KEY7;是八号抢答,转到KEY7K6: RR A;累加器循环右移一位CJNE A,P1,K5;不是七号选手抢答,转到K5AJMP KEY6;是七号抢答,转到KEY6K5: RR ACJNE A,P1,K4;不是六号选手抢答,转到K4AJMP KEY5;是六号
37、抢答,转到KEY5K4: RR ACJNE A,P1,K3;不是五号选手抢答,转到K3AJMP KEY4;是五号抢答,转到KEY4K3: RR ACJNE A,P1,K2;不是四号选手抢答,转到K2AJMP KEY3;是四号抢答,转到KEY3K2: RR ACJNE A,P1,K1;不是三号选手抢答,转到K1AJMP KEY2;是三号抢答,转到KEY2K1: RR ACJNE A,P1,K0;不是二号选手抢答,转到K0AJMP KEY1;是二号抢答,转到KEY1K0: AJMP KEY0;一号选手抢答,转到KEY0;=一号选手抢答处理程序=KEY0: MOV A,#0F9HMOV P0,A;数
38、码管显示一号选手抢答LCALL DEL1;调用蜂鸣器响声时间延时程序;关闭蜂鸣器响声MOV R0,#00HLCALL FLASH;一号选手对应LED灯闪烁程序RETI;中断返回SJMP $KEY1: MOV A,#0A4HMOV P0,A;数码管显示二号选手抢答LCALL DEL1;调用蜂鸣器响声时间延时程序;关闭蜂鸣器响声MOV R0,#02HLCALL FLASH;二号选手对应LED灯闪烁程序RETI;中断返回SJMP $KEY2: MOV A,#30HMOV P0,A;数码管显示三号选手抢答LCALL DEL1;调用蜂鸣器响声时间延时程序;关闭蜂鸣器响声MOV R0,#04HLCALL FLASH;三号选手对应LED灯闪烁程序RETI;中断返回SJMP $KEY3: MOV A,#99HMOV P0,A;数码管显示四号选手抢答LC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新知识产权法试题及答案
- 2025年实验医学检验技术操作模拟测试答案及解析
- 2025年世界知识产权日知识竞赛试题及解析答案
- 2025年放射科常见X线影像解读能力考核试卷答案及解析
- 外单位安全培训签到表课件
- 2025年神经外科神经外科手术技术专项试卷答案及解析
- 2025年江西申论真题试卷及答案
- 2025年皮肤科疑难病例讨论考核答案及解析
- 2025年呼吸内科肺部感染诊疗情景模拟题答案及解析
- 2025年儿科常见感染疾病预防知识考察答案及解析
- 排污许可条例培训课件
- 陕西物业资质管理办法
- 婴儿配方奶粉管理办法
- 甘油二酯油与心脏健康科学指南
- 英语电影配音教学课件
- 办公场所消防培训课件
- 中央厨房体系管理制度
- 2025-2030年中国铜包铝线行业市场现状供需分析及投资评估规划分析研究报告
- 2025至2030中国医疗服务行业产业运行态势及投资规划深度研究报告
- JG/T 333-2011混凝土裂缝修补灌浆材料技术条件
- 宾馆内部治安管理制度
评论
0/150
提交评论