(可参照这个)抢答器的设计(1602显示)

上传人:痛*** 文档编号:149195447 上传时间:2022-09-06 格式:DOC 页数:28 大小:1,011KB
收藏 版权申诉 举报 下载
(可参照这个)抢答器的设计(1602显示)_第1页
第1页 / 共28页
(可参照这个)抢答器的设计(1602显示)_第2页
第2页 / 共28页
(可参照这个)抢答器的设计(1602显示)_第3页
第3页 / 共28页
资源描述:

《(可参照这个)抢答器的设计(1602显示)》由会员分享,可在线阅读,更多相关《(可参照这个)抢答器的设计(1602显示)(28页珍藏版)》请在装配图网上搜索。

1、沈阳航空航天大学课程设计论文基于单片机的四路抢答器的设计2序言电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。 随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成

2、的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能。并简化其电路结构。控制系统的三个模块为:显示模块、存储模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号,利用1602液晶屏来完成显示功能,用按键来让选手进行抢答,在液晶屏上显示抢答最快的号码及时间,从而实现整个抢答过程。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用AT89C52单片机作为核心。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输

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

4、能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍

5、了抢答器的工作原理及设计,以及它的实际用途。目 录0.摘要31. 四路抢答器的基本理论32.方案设计43. 硬件电路的工作原理54. 软件编程145. 系统调试和结果分析216. 结论及进一步设想24参考文献25附录1 元件清单26课设体会28摘要:抢答器可以在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答成功者。通过抢答者的指示灯、液晶屏显示和声音显示等手段指示出第一抢答者。一般抢答器由单片机以及外围电路组成,分为四路、八路等不同,四路和八路的差别是,抢答器背面的接口有几组,和外形没有关系。通过自主的设计、编程和调试出一个简单的四路抢答并在液晶屏显示抢答成功者号码;熟悉C语

6、言编程;了解单片机仿真系统的使用方法,达到提高综合运用相关知识的能力;进一步熟悉和掌握Proteus7的使用方法;掌握单片机系统设计全部过程的目的。关键字: 抢答 单片机 液晶屏显示Abstract: responder can be in competition, sports entertainment ( answer activity ), accurate, impartial, visually judged successful answer. The responder indicating lamp, liquid crystal display screen and sou

7、nd display means is indicative of a first responder. The general answer is controlled by single chip microcomputer and the peripheral circuit, divided into four road, eight road, four road and eight road difference is, responder on the back of the interface has several groups, and the shape of it do

8、esnt matter.Through the independent design, programming and debugging a simple four way contest and in the liquid crystal display screen successful answer number; familiar with C programming language; understand the MCU simulation system the use of methods, to improve the comprehensive use of knowle

9、dge related to ability; further familiar with and master the use of Proteus7 method; the master MCU system design whole process objective.Keywords : Vie for answering ,the MCU LCD ,screen display。1. 四路抢答器的基本理论本设计是采用单片机设计的四人比赛用抢答器系统。它具有电路简单、功能齐全、制作成本低、性价比高等特点,是一种经济、实用的比赛用抢答器。硬件部分主要由单片机AT89c52、74HC573

10、锁存器、1602液晶屏、主持人操作键盘和其它基本外围电子电路组成。2.方案设计抢答器的设计方案要实现以下功能:(1)抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 S3表示。(2)设置一个系统清除S1和抢答控制开关S2,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在1602液晶屏上显示,同时蜂鸣器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如10秒)。当主持人启动开始键后,定时器进行减计时 (5)如果定时时间已到,无人抢答,本次抢答无效,

11、系统禁止抢答,定时显示器上显示01s。该设计采用AT89C52单片机作为控制系统核心。该系统可以完成信号识别,运算控制以及显示功能。抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。通过抢答按键模块,连接按键进行抢答。此电路完成的功能如图1所示,当主持人宣布抢答开始的时候,按下开始按钮,此时电路进入抢答状态,选手的输入采用了扫描式的输入,之后把相应的信息送往单片机,再由单片机输出到显示输出电路中。此时有人第一按下相应的抢答按钮,经过单片机的控制选择,在液晶屏上显示相应的号码,并锁存,同时禁止其他按钮的输入。系统是采用模块化设计的智能抢答器,主控与参赛者设为终端分系统。主控分系统有:开

12、始与结束控制按钮、时限设定、各种相关显示调控功能等。参赛者分系统设有:抢答按纽、计时显示、提示功能等。图1 抢答器原理图3. 硬件电路的工作原理3.1抢答器的电路图如图(2)所示为电路图,其工作原理为:接通电源后主持人将开关拨到“清零”状态,抢答器处于禁止状态,定时器设定时间,主持人将开关置“开始”,宣布抢答开始时,选手要在规定时间内完成抢答;定时器倒计时优先判断,编号锁存,扬声器提示。 图2 抢答器仿真电路图若按了清零键后,仿真图为如下所示:硬件电路应能完成以下功能:参加竞赛者对主持人提出的问题要在最短的时间内作出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示此竞赛者的

13、号码并进行声音提示,同时电路将其他抢答按键封锁,使其不起作用。若有人在可以抢答之前按键,应该有违规提示。电路应该具有倒计时功能,倒计时时间可以设置并显示,在规定时间内没有人抢答则本题作废。回答完或超时后,由主持人将所有按键恢复,重新开始下一轮。完成上述功能的电路包括时间设定开关、声光显示、按键控制以及按键锁存等部分,如图13.6所示。各电路模块的功能如下。 单片机部分:通过读取P3.7P3.3的状态决定倒计时时间;通过读取P1.3P1.0的状态读取按键情况;通过P2.4P2.2控制显示模块以显示按键者的号码和倒计时所剩时间;通过P0.1控制蜂鸣器。 时间设定模块:以拨码开关U3作为倒计时时间的

14、选择信号。若P3.7通过U3接地,倒计时时间为10s;若P3.6通过U3接地,倒计时时间为8s,若P3.5通过U3接地,倒计时时间为6s,若P3.4通过U3接地,倒计时时间为4s。判断时P3.7优先级最高,P3.4优先级最低。 按键模块:KEY1KEY4的信息可以直接传输到P1.3P1.0。单片机一旦检测到有按键按下,立即将P1.4置为低电平,将按键信息锁存,以免后来的按键对其产生影响。KEY1KEY4为抢答按键,KEY5为主持人控制按键。 数码管显示模块:数码管显示模块由一片MAX7219和3个数码管组成。其中U5用来显示按键者的编号,U6、U7在倒计时时显示还有多长时间,如果有人犯规抢答,

15、U6U7显示“FF”。 蜂鸣器模块:蜂鸣器在主持人发出可以抢答信号、有人按下抢答按键和倒计时时间到等3种情况下发出蜂鸣声。3.2 单片机的最小系统52单片机的最小系统电路图: 图3-1-1 单片机的最小系统图说明: 复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周

16、期的高电平;复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的方波便于12分频,方便定时操作); 单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执

17、行; 电源部分:接+5伏特的电压。3.3 时钟频率电路的设计单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。图3-2 外部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为

18、时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12s。3.4复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4所示:值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让

19、它跳转到程序执行的起始地址。3.5系统复位使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。上电复位,人工按钮复位和硬件看门狗复位均为硬件复位。硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作,这样一个事实却容易为不少编码人员所忽视。软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。对各专用寄存器的复

20、位操作是容易的,也没有必要完全模拟,可根据实际需要去主程序初始化过程中完成。而对中断激活标志的清除工作常被遗忘,因为它没有明确的位地址可供编程。有的编程人员用020000(LJMP 0000H)作为软件陷阱,认为直接转向0000H地址就完成了软件复位,就是这类错误的典型代表。软件复位是使用软件陷阱和软件看门狗后必须进行的工作,这时程序出错完全有可能发生在中断子程序中,中断激活标志已置位,它将阻止同级中断响应。由于软件看门是高级中断,它将阻止说要中断响应,由此可见清除中断激活标志的重要性。在所有的指令中,只有RETI指令能够清除中断激活标志。前文各处提案到的出错处理程序ERR主要完成这一功能,其

21、他的善后工作交由复位后的系统去完成。这部分程序如下:POWER DATA 67H ;上电标志存放单元 ERR: CLR EA ;关中断 MOV DPTR,#ERR1 ;准备返回地址PUSH DPLPUSH DPHRETI ;清除高级中断激活标志ERR1: MOV POWER,#0AAH;重建上电标志 CLR A ;准备复位地址 PUSH ACC ;压入复位地址0000HPUSH ACCRETI ;清除低级中断激活标志,从程序0000H开始执行。这段程序先关中断,以便后续处理能顺利进行,然后用两个RETI指令代替两个LJMP指令,从而清除了两级中断激活标志。有相应软件陷阱捕捉来的程序可能没有全部

22、激活两个标志,这也无妨。3.6 数码管显示电路LED显示器,实现七段数码管的显示三位十六进制数。来进行倒计时,即来限制抢答的时间。其中数码管的显示可以分为两种:静态显示和动态显示。静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的CPU时间少。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,

23、另外为每个数码管的公共端COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显

24、示是一样的,能够节省大量的I/O端口,而且功耗更低。从电路上,按数码管的接法不同又分为共阴和共阳两种。图1-1 是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。其数码管的外形如下图所示: 图3-2 数码管的共阴和共阳极接法3.7液晶屏显示电路使用液晶屏显示抢答成功者号码、时间。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。1602LCD的特性+3.3V电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有80字

25、节显示数据存储器DDRAM 内建有192个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780

26、液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 管脚功能 LCD1602引脚图1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)

27、端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602LCD特征及应用微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。 操作控制注:关于E=H脉冲开始时初始化E为0,然后置E为1。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 因为1

28、602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。 以下是1602的16进制ASCII码表地址: 读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制) 指令集1602通过D0D7的8位数据端传输数据和指令。 显示模式设置: (初始化) 0011 1000 0x38 设置162显示,57点阵,8位数据接口; 显示开关及光标设置: (初始化) 0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效) 0000 01NS N=1(读或写一个字

29、符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1), S=1 且 N=1 (当写一个字符后,整屏显示左移) s=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H) 其他设置: 01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。按键控制电路键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,

30、非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。独立式键盘,键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如图3所示。图3 独立式键盘原理图最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的I/O

31、口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。4. 软件编程本设计的抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括时钟设计程序,定时器中断子程序,数码管显示程序以及按键控制子程序。抢答器主流程图如图4所示:图

32、4 抢答器主程序流程图抢答器定时中断流程图如图5:图5 抢答器定时器中断流程图源程序设计:#include#define uchar unsigned char#define uint unsigned intuchar num;/定义中断变量,num计满20表示1秒时间到uchar num1;/十秒倒计时显示初始值uchar flag1,flag2;/清零键及开始键按下标志位uchar flag3,flag4=0;/定义键盘按下标志位#define LCDPORT P0sbit LCD1602_RS = P20;sbit LCD1602_EN = P21;sbit sp=P22;/定义蜂鸣器

33、端口sbit clear=P10;/定义清零键sbit start=P11;/开始键sbit key1=P12;sbit key2=P13;sbit key3=P14;sbit key4=P15;/key2到key5为选手按键void delay(uint z)/延时函数uint i,j;for(i=z;i0;i-)for(j=110;j0;j-);void WriteCmd_1602(unsigned char cmd)LCD1602_RS = 0;LCDPORT = cmd;delay(1);LCD1602_EN = 1;delay(1);LCD1602_EN = 0;void Write

34、Byte_1602(unsigned char date)LCD1602_RS = 1;LCDPORT = date;delay(1);LCD1602_EN = 1;delay(1);LCD1602_EN = 0;void Init_1602()LCD1602_EN = 0;WriteCmd_1602(0x38);WriteCmd_1602(0x0c); /光标不显示地址 WriteCmd_1602(0x06);WriteCmd_1602(0x01);void beep()/定义蜂鸣器函数sp=0;delay(500);sp=1;/delay(500);void dis(uchar * p)w

35、hile(*p != 0)WriteByte_1602(*p+);void display_init()WriteCmd_1602(0x80);dis(Serial Number:);WriteCmd_1602(0x80 + 0x40);dis(Surplus Time:);WriteCmd_1602(0x80 + 0x40 + 13);dis(00s);void display_num(uchar a) /选手编号显示函数 WriteCmd_1602(0x80 + 15);WriteByte_1602(a);void clr()/清零函数(主持人按下清零键后数码管显示0) WriteCmd_

36、1602(0x80 + 15);WriteByte_1602(0);void dis10s()/十秒倒计时显示函数uchar shi,ge;shi=num1/10;ge=num1%10;WriteCmd_1602(0x80 + 0x40 + 13);WriteByte_1602(shi + 0x30);WriteCmd_1602(0x80 + 0x40 + 14);WriteByte_1602(ge + 0x30); void player()/选手按键检测函数if(key1=0&flag4=0)delay(10);if(key1=0&flag4=0)display_num(1);TR0=0;

37、flag1=flag2=0;flag4=1;beep();while(!key1);if(key2=0&flag4=0)delay(10);if(key2=0&flag4=0)display_num(2);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key2);if(key3=0&flag4=0)delay(10);if(key3=0&flag4=0)display_num(3);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key3);if(key4=0&flag4=0)delay(10);if(key4=0&fl

38、ag4=0)display_num(4);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key4);void keyscan()/检测按键if(clear=0&flag2!=1)/判断清零键,判断语句的作用是按下开始键清零键失效delay(10);if(clear=0&flag2!=1)while(!clear);/等待按键释放flag1=0;flag2=0;flag3=0;flag4=0;num=0;num1=10;clr();/清零flag1=1;/按下清零键标志位if(flag1=1)/如果按下清零键if(start=0&flag3=0)/判断开始键

39、,判断语句的作用是按下开始键后开始键失效delay(10);if(start=0&flag3=0)flag2=1;flag3=1;while(!start);if(flag2=1)/按下开始键TR0=1; /启动定时器0dis10s();player();void main()TMOD=0x01;/设置定时器0工作方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开总中断ET0=1; /开定时器0中断Init_1602();display_init();while(1)/一直检测按键keyscan();void T0_ser() inte

40、rrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;num+;if(num=20)num=0;num1-;if(num1=0)TR0=0; flag1=0;flag2=0;num=0;num1=10;clr();beep();5. 系统调试和结果分析系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进

41、行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行。硬件联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该 程序功能块已调试完毕,可去掉附加程序段。

42、其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。具有清零装置和抢答控制,可由主持人操纵。具有定时功能,在10S内无人抢答表示所有参赛选手对本题

43、弃权。10S时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。电路中的六个按键从上到下分别是清零键、开始键和四组选手的按键。仿真现象及调试结果如图6、图7、图8所示。1)图6为主持人按下清零键后的截图,此时液晶屏两项均显示0.5.1软件调试问题及解决首先对所用软件及使用方法介绍如下:1、Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一

44、个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。2、 总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统 软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。(1)、安装keil 与 proteus。(

45、2)、把安装proteus MODELS目录下 VDM51.dll文件复制到Keil安装目录的 C51BIN目录中。(3)、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver),保存。(注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意)3、打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor4、在keil中编写C语言程序5、进入KEIL的project菜单option for t

46、arget 工程名。在DEBUG选项中右栏上部的下拉菜单选中 Proteus VSM Monitor-51 Driver。6、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示)这样就可以像使用仿真器一样调。问题:有时候在自己创建的元器件的管脚上无法实现连线。回答:应该是管脚的间距太小了。因为在ISIS中,每个元器件的管脚都要占据一块区域(就像自己的保护区一样,不容别人随意侵犯),该区域会排斥外部的走线。解决问题的方法是在走线的同时按住 “CTRL”键,直到走线绕过狭窄的保护区。当然最根本的办法是重新编辑元器件,把其管脚间距调大一些。主持人按键来控制总开关,主持人

47、按下开关那么选手开始抢答,此时数码管开始060计数,并且选手们必须在规定的时间内进行抢答,若过了60秒还没抢答那么抢答失效,选手们若有一个在规定的时间内抢答成功则其余的选手不可以再抢答,即该选手抢答成功。图62)主持人按下启动键后的截图,液晶屏显示从10秒开始倒计时。如图7:图73)选手按下时的截图,显示对应的选手编号,例如2号选手,如图8所示:图86. 结论及进一步设想本设计可以实现四路抢答并在液晶屏显示抢答成功者号码及时间,可用于娱乐节目等活动当中。但是这只是个简易的四路抢答器,还可以加入蜂鸣,报警等功能,更可实现多路抢答的功能。我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控

48、制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。参考文献1 李光飞.单片机课程设计实例指导M.北京:北京航天航空大学出版社,20042 李朝青.单片机原理及接口技术(第3版)M.北京:北京航空航天大学出版社,20023 胡伟.单片机C程序设计及应用实例M.北京:人民邮电出版社,20034 冯育长.单片机系统设计与实例指导M.北京:西安电子科技大学出版社,20075 高伟.AT89单片机原理及应用M.北京:国防工业出版社,20086 何

49、利民.单片机应用系统设计M.北京:北京航空航天大学出版社,19917 李朝青主编.单片机原理与接口技术M.北京:北京航空航天大学出版,19948 黄正谨.综合电子设计与实践M.东南大学出版社,2002-39 李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版,199310 Control Circuit Design of AC Frequency Conversion Systems for Speed GoverningA.Proceedings of 4th International Symposium on Test and Measurement(Volume

50、2)C,200111 The measurement of oil consumption on engineA.Proceedings of 4th International Symposium on Test and Measurement(Volume 2)C,200112 胡汉才.单片机原理与接口技术M.北京:清华大学出版社,199813蔡朝阳.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,200614丁建伟.抢答器电路设计J.兰州工业高等专科学校学报,2008,(04)15胡学海.单片机原理及应用系统设计M.北京:北京电子工业出版社,200516魏小龙.MSP430系列

51、单片机接口技术及系统设计实例M.北京:北京航空航天大学出版社,2002附录1 元件清单元件名称型号数量单片机AT89C521锁存器74HC5731开 关Button7电 阻R(1k)1电 阻R(10k)1晶 振CRYSTAL1电 容10uf2液晶屏16021电 源5v2 课设体会 本次课程设计历时三周,在这三周的时间中,我广泛的查找资料,在图书馆借阅单片机书籍,也在网上观看了郭天祥老师的十天学会单片机的讲课视频。初期,根据所学的和查到的资料,能够做出实现四路抢答的部分,但因对液晶屏1602不甚了解, 进度有些缓慢。我们的指导教师蒋老师仔细、耐心的给我介绍了一些1602的基本知识,并指导我怎么进

52、行下一步的课程设计。我又仔细的钻研几天,终于实现了液晶屏显示部分。在这里,我要对我的指导老师蒋丽英老师说声谢谢,谢谢您百忙之中能给予指点,让我顺利完成这次课程设计。这次课程设计让我对学习也有了更深刻的认识,只有打下良好的基础才会学以致用,才会发挥出作用。完成这次课程设计,让我深刻的认识是单片机对于我们专业的重要性,我对单片机的学习还是不够精通,有了这次课程设计的体会,我一定会利用课余时间更深的了解单片机知识 。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准,所以这个课程设计对我们的作用是非常大的。经过三个星期课程设计制作,过程曲折可谓一语难尽,在此期间我们也失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。没有经过实践永远都不会知道结果是怎样的,当实践的结果证实了你要得到的结论时那种心情真是不知如何表达。我也非常的坚信只要付出了一定会有收获,并且这个过程是很美的享受!汗水预示着结果也见证着收获。通过本次课程设计,我真正感受到了那种快乐和喜悦!并且懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。第28页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!