版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论第一节单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词--“智能型”。在知识竞赛中,往往会用到抢答器。故此我们就选择利用单片机编程来设计抢答器,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题。第二节单片机抢答器的意义本系统采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号,利用一个数码管来完成显示功能,用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用89C52单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号,利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,单片机控制的智能抢答器设计。第三节抢答器的应用随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。第二章整体设计方案第一节单片机的选择一、什么是单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。单片机是将中央处理器,随机存储器。只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。单片机也被称为微控制器,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELI960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。二、单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。三、如何选择单片机ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。表2.151和52的比较数据存储器程序存储器定时器中断51系列128B4KB2552系列256B8KB38在本课题中,我们选用现在较为流行的52系列单片机,即选用ATMEL公司的STC89C52。第二节单片机的基本结构一、单片机的引脚分布及功能MCS-52系列单片机中的8032、8052及8752均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:图2.1STC89C52的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。8052的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图2.2复位电路和晶振电路图1、8位微处理器和控制器;2、内部含有4KB的程序ROM;3、2个16位的计数/定时器;4、内部时钟振荡器;5、全双工方式的串行接口(UART)种寻址方式;6、最高时钟振荡频率可达12MHZ,大部分指令执行时间为1s,乘、除指令为4s。二、信号引脚介绍:1.输入/输出口线。2.ALE地址锁存控制信号。3.在系统扩展时,ALE用于控制把口输出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以十二分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。4.外部程序存储器读选通信号。5.在读外部ROM时有效(低电平),以实现外部ROM单元的读操作。6.访问程序存储器控制信号。7.当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储。8.RST复位信号,当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。9.XTAL1和XTAL2外接晶体引线端,当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10.VSS地线。11.VCC+5V电源。三、单片机的存储器配置图2.3单片机的内部存储器配置从用户的角度存储器分3个逻辑地址空间:1.片内外统一编址的64KB程序存储器地址空间0000H~FFFFH即(a)图;2.256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间)即(b)图;3.64KB的外部数据存储器或扩展I/O接口地址空间0000H~FFFFH如(c)图。4.画出RAM的组成,RAM共有256个单元,按功能分为两部分低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。其中高128单元是供给专用寄存器使用,因这些寄存器的功能已作为专门规定故此称之为特殊功能寄存器SFR-11个SFR有位寻址作用,而且要说明低128单元是单片机的真正RAM存储器。表2.2RAM的组成图30H~7FH通用RAM区20H~2FH位寻址区(00H~7FH)18H~1FH工作寄存器3区(R7~R0)10H~17H工作寄存器2区(R7~R0)08H~0FH工作寄存器1区(R7~R0)00H~07H工作寄存器0区(R7~R0)低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:⒈通用寄存器区,通用寄存器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。此外,使用通用存储器还能提高程序编制的灵活性,因此在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。⒉位寻址区,内部RAM的20H~2FH单元,即可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。⒊工作寄存区,用户存储数据的。第三章硬件设计第一节单片机的最小系统图3.1单片机的最小系统图说明:(1)复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10,R取8.2K。当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;(2)复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;(3)晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的方波便于12分频,方便定时操作);(4)单片机:一片AT89S51/52或其他51系列兼容单片机;注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行;(5)电源部分:接+5伏特的电压。第二节数码管显示电路LED显示器,实现七段数码管的显示三位十六进制数。来进行倒计时,即来限制抢答的时间。其中数码管的显示可以分为两种:静态显示和动态显示。静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的CPU时间少。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共端COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图3.2数码管显示电路图第三节按键控制电路在一些按键控制电路中,人机接口通常是LED显示器和小型按键。常见的工作方式有两种:一是直接使用系统中的CPU对显示器进行动态显示和键盘检测;二是专用的显示、键盘芯片。但这两种方式存在着不能及时响应、价格较高等缺点。介绍了一种性价比高的显示/键盘电路的结构及工作原理。以ATMEL89C51系列单片机为核心构成的显示/键盘电路,他具有功能强、价格低廉等特点。按键可直接连接到STC89C52的P1口,这样其电路结构最为简单,工作时可使用中断方式,但使用STC89C52在不用扫描方式时最多只可以有8个按键,此次设计抢答器利用六个按键与P1.0~P1.5相连。如图3.3按键控制电路。图3.3按键控制电路第四章软件设计第一节抢答器流程图流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理(Process)平行四边型表示:代表资料输入(Input)不规则图形代表资料输出(Output)或报表输出(Print)菱形表示:决策或判断(例如:If...Then...Else)图4.1抢答器主程序流程图图4.2抢答器定时器中断流程图图4.3外部中断程序图第二节主程序我们组所设计的抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序,程序设计如下:#include<reg52.h>sbitk0=P1^0;sbitk1=P1^1;sbitk2=P1^2;sbitk3=P1^3;voiddelay(unsignedint);main(){TMOD=0X01;/*采用方式一,即十六位计数器*/TH0=(65536-50000)/256;/*设置初始值*/TL0=(65536-50000)%256;IT0=0;EA=1;ET0=1;/*开启总中断源*/EX0=1;/*启动外部中断0*/{while(1){display();if(kz==0)TR0=1;/*开启定时器0中断*/if(num==20){num=0;time++;if(time==60)/*60秒的计时*/time=0;}}}}voidexter0()interrupt0/*外部中断程序*/{EA=0;l0=0;if(k0==0)/*开关0按下*/{d0=0;qiangdanum=1;B0=1;}/*1号选手抢答成功,数码管显示1,蜂鸣器响,第1个二极管亮*/if(k1==0)/*开关1按下*/{d1=0;qiangdanum=2;B0=1;}/*2号选手抢答成功,数码管显示2,蜂鸣器响,第2个二极管亮*/if(k2==0)/*开关2按下*/{d2=0;qiangdanum=3;B0=1;}/*3号选手抢答成功,数码管显示3,蜂鸣器响,第3个二极管亮*/if(k3==0)/*开关3按下*/{d3=0;qiangdanum=4;B0=1;
}/*4号选手抢答成功,数码管显示4,蜂鸣器响,第4个二极管亮*/}voidtime0()interrupt1{num++;TH0=(65536-50000)/256;TL0=(65536-50000)%256;}/*1秒定时函数*/voiddelay(unsignedintz){unsignedintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/*延迟函数*/voiddisplay(void){shi=time/10;ge=time%10;P2=0xef;P0=table[ge];delay(5);P2=0xf7;P0=table[shi];delay(5);P2=0xFE;P0=table[qiangdanum];delay(5);}/*显示函数:来显示0-60的计数*/第三节中断程序一、什么是中断中断是指由于某种随机事件的发生,计算机暂停现行的程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。有五种中断源:外部中断0、外部中断1、定时器中断0、定时器中断1、串行中断。它们的描述如表4.1所示:表4.1五种中断源的表示中断源符号名称终端引起的原因中断矢量地址INT0外部中断0由P3.2低电平或下降沿信号0003HT0定时器中断0定时/计数器0回零溢出P3.40013HINT1外部中断1由P3.3低电平或下降沿信号000BHT1定时器中断1定时/计数器1回零溢出P3.5001BHTI/RI串行中断串行口接收或发送完帧数据引起的中断0023H中断源符号名称终端引起的原因中断矢量地址:INT0外部中断0由P3.2低电平或下降沿信号0003H;T0定时器中断0定时/计数器0回零溢出P3.40013H;INT1外部中断1由P3.3低电平或下降沿信号000BH;T1定时器中断1定时/计数器1回零溢出P3.5001BH;TI/RI串行中断串行口接收或发送完帧数据引起的中断0023H。二、中断所用到的寄存器介绍定时器/计数器中所介绍的寄存器:(1)定时器/计数器控制寄存器TCON,TCON的作用是控制定时器的启动停止,标志定时器的溢出和中断情况;(2)中断允许控制寄存器IE,对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,即可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清零。(3)串行控制寄存器SCON,定时/计数器的控制方法:在启动定时/计数器工作之前CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数的初始化。(定时/计数器的初始化通过定时/计数器的方式寄存器TMOD和控制寄存器TCON来完成。①定时/计数器方式寄存器TMODGATEC/TM1M0GATEC/TM1M0GATEC/TM1M0GATEC/TM1M0表4.5选择定时方式表工作方式功能说明0010方式013位计数器1001方式116位计数器1100方式2自动再装入8位计数器1111方式3定时器0:分成两个8位计数器;定时器1:停止计数M1M0工作方式功能说明:00方式013位计数器;01方式116位计数器;10方式2自动再装入8位计数器;11方式3定时器0:分成两个8位计数器;定时器1:停止计数。②中断程序的编写的步骤:(1)根据要求设置IE(中断允许寄存器)的对应位EA(EA-总中断允许位EA=1开放所有的中断;EA=0禁止所有的中断),某个中断源还有相应的中断允许位①、当=1时:允许相应中断源的中断;②、当=0时:禁止相应中断源的中断;(2)INT0、INT1设定触发方式IT0(外部中断触发方式控制位)当为0时:低电平触发;当为1时:下降沿触发;(3)返回值是Void中断函数名()interrupt()。三、为什么采用中断控制方式CPU与外部设备的数据传送方式:(1)无条件传送方式,CPU总认为外设处于准备好的状态,外设比较简单(2)程序查询传送方式,外设有一个状态(状态存储在寄存器内)缺点:CPU工作效率低,CPU处于等待的状态,为解决此缺点便出现了第三种传送方式(3)中断传送方式,中断是指由于某种随机事件的发生,计算机暂停现行的程序,转去执行另一程序以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。优点:(1)实现分时操作,CPU分为多个I/O设备服务,提高计算机的利用率(提前安排好的函数而中断不同);(2)实时响应,CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;(3)可靠性高,CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统的可靠性提高。定时器的初始化(1)确定工作方式-对TMOD赋值;(2)设置初始值-直接将初值写入THO,TLO;(3)开启定时器的中断-{ETO=1EA=1};(4)启动定时器-将TR0或TRI置“1”。此程序为51单片机中断部分参考程序#include<reg51.h>#defineucharunsignedcharunsignedcharstatus;bitflag;voidservice_int1()interrupt2using2{flag=1;status=P1;}voidmain(void){uchara,b,c,d;IP=0x04;IE=0x84;for(;;){if(flag){switch(status){case0:a=1;break;case1:b=0;break;case2:c=0;break;case3:d=0;break;default:a=10;break;}flag=0;}}}第五章调试功能说明第一节系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。第二节软件调试问题及解决首先对所用软件及使用方法介绍如下:1、Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。2、总调,即应用软件的链接调试,程序固化,软、硬件结合的应用系统,软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。(1)安装keil与proteus;(2)把安装proteus\MODELS目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN目录中;(3)修改keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL("ProteusVSMMonitor-51Driver"),保存;(注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。)3、打开proteus,画出相应电路,在proteus的debug菜单中选中useremotedebugmonitor。4、在keil中编写C语言程序。5、进入KEIL的project菜单optionfortarget'工程名'。在DEBUG选项中右栏上部的下拉菜单选中ProteusVSMMonitor-51Driver。6、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)这样就可以像使用仿真器一样调。问题:有时候在自己创建的元器件的管脚上无法实现连线。回答:应该是管脚的间距太小了。因为在ISIS中,每个元器件的管脚都要占据一块区域(就像自己的保护区一样,不容别人随意侵犯),该区域会排斥外部的走线。解决问题的方法是在走线的同时按住“CTRL”键,直到走线绕过狭窄的保护区。当然最根本的办法是重新编辑元器件,把其管脚间距调大一些。主持人按键来控制总开关,主持人按下开关那么选手开始抢答,此时数码管开始0-60计数,并且选手们必须在规定的时间内进行抢答,若过了60秒还没抢答那么抢答失效,选手们若有一个在规定的时间内抢答成功则其余的选手不可以再抢答,即该选手抢答成功。第三节焊接的问题及解决一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:①焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。②冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的,则要"吃"净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。④焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。⑤焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。⑥焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当浩成的内。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。第四节单片机的通信图5.1MAX323与RS232D连接图(1)RS232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连线器,我们一般采用9芯引脚的。信号线的引脚和功能如下:TXD(第2脚):发送数据线,输出。发送数据到MODEN。RXD(第3脚):接受数据线,输入。接收数据到计算机或终端。RTS(第7脚):请求发送,输出。计算机通过此引脚通知MODEN,要求发送数据。CTS(第8脚):允许发送,输入。发出作为对的回答,计算机才可以进行发送数据。DSR(第6脚):数据装置就绪(即MODEN准备好),输入。表示调制解调器可以使用,该信号有时直接接到电源上,这样当设备连通shir时即有效。CD(第1脚):载波检测(接收线信号测定器),输入。表示MODEN已与电话线路连接好。RI(第9脚):振铃指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省枣庄市幼儿园教师招聘笔试备考题库及答案解析
- 2026年营口市站前区街道办人员招聘笔试参考题库及答案解析
- 2026年揭阳市榕城区幼儿园教师招聘笔试备考试题及答案解析
- 2025年安徽省阜阳市幼儿园教师招聘考试试题及答案解析
- 2026年漯河市源汇区幼儿园教师招聘笔试备考试题及答案解析
- 2026年衢州市衢江区街道办人员招聘考试参考试题及答案解析
- 2025年葫芦岛市连山区幼儿园教师招聘考试试题及答案解析
- 2026年营口市老边区幼儿园教师招聘笔试参考题库及答案解析
- 2026年吕梁地区孝义市街道办人员招聘考试参考试题及答案解析
- 2025年阳泉市郊区幼儿园教师招聘笔试试题及答案解析
- 2024年西藏自治区中考物理试题卷(含答案)
- 《底层逻辑》刘润
- 驻场服务计划方案
- 与信仰对话为青春导航
- 腹泻与便秘通用课件
- 米粉切割机-毕业设计
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GA/T 947.2-2015单警执法视音频记录系统第2部分:执法记录仪
- GA 1409-2017警用服饰硬式肩章
- 2021年山东省鲁信投资控股集团有限公司校园招聘笔试试题及答案解析
- 大拉机连续退火机介绍
评论
0/150
提交评论