1、. .学校代码 10126 学号本科学年论文 题 目 基于51单片机摇摇棒的设计 院 系 专业名称 年 级 学生XX 指导教师2014年06月20日 学年论文指导教师评阅意见学 生姓 名专 业班 级学号论文题目 基于51单片机摇摇棒的设计指导教师教师职称学年论文评语评定成绩: 指导教师签名: 年 月 日摘要随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。“摇动显示装置,俗称“摇摇棒,是
2、基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进展摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而到达在该视觉平面上传达信息的作用。本文以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计的根本构造和根本原理。关键字:单片机,发光二极管,传感器AbstractAs peoplematerial standardof living rise, people pur
3、suit to cultural life also beesstrong,the desire of information have bee the people of the essential needs, more forthright and novel the information transfer modewillundoubtedlybring people to find everything new and fresh feeling. And modern tools to the simple, portable, therefore, shaking the di
4、splay device, the arrival of will give people brings a kind of new convenient cultural transfer mode.Shake display device,calledto shake the great, it is to be based on visual temporarily leave the principle, through the timeshare refresh 16ledsto display text or design output information display de
5、vice. The output signal frequency control through the single-chip microputer to realize, withshaking sensor test current moved state. When shaken, as themens vision for a principle, will be in the light emitting diode shaking area produce a visual plane, the plane within the vision of different freq
6、uency refresh diode through,will producean image in shaking area, so as to achieve the vision in the plane ofconveying information function.Based on the sensor and MCU applicationfor background, introduces the single-chip microputer and sensor as the core system moved sensor and display design the b
7、asic structure and the basic principle.Key words:microcontroller,leds,sensor目录绪论11系统设计方案21.1设计目的21.2设计要求21.3设计思路22系统硬件设计42.1根本原理图为:42.2 各局部功能52.2.1 按键模块52.2.2 LED显示模块52.3系统硬件52.3.2 显示功能D1D1662.4 传感器系统63系统软件设计83.1 软件设计思路83.2 主程序流程图83.3 软件实现功能的完善164系统的硬件调试及软件调试174.1常见的硬件故障174.1.1逻辑错误174.1.2 器件失效174.1.
8、3 可靠性差174.1.4 电源故障174.2 硬件调试方法184.2.1 脱机调试184.2.2 联机调试184.3 软件调试方法18致 22参考文献23. .word. .绪论单片机是随着大规模集成电路的出现极其开展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:1最小应用系统是指能维持单片机运行的最简单配置的
9、系统。这种系统本钱低廉,构造简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.2最小功耗应用系统是指为了保证正常运行,系统的功耗最小.3典型应用系统是指单片机要完成工业测控功能所必须的硬件构造系统。本文将使用单片机对摇动显示进展实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进展摇动控制的方法。输出信号频率的控制通
10、过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光二极管进展不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进展摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而到达在该视觉平面上传达信息的作用。LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技玩具。可以用“静如处子,动如脱兔来形容它,即当静止时,它只是几个LED发光二极管后简称LED,而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化亮或灭,最终显示一幅图片或字符串。1系统设计方案1.1设计目的本次设计制作的是一个
11、显示棒,根本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。 通过本次设计,加强学生对MCS-51单片机的深刻理解,提高学生的设计能力和动手能力。1.2设计要求设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片。1.3设计思路 本系统要求设计一个LED显示棒且需要有按键进展内容切换,它主要是由中央控制局部,LED驱动局部,LED显示局部以及电源局部组成,如图1.1所示。图1.1 单片机将提取的字模进展存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整
12、的显示在摆动的显示屏中。1.3.1 LED灯的选择:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济。1.3.2 外部中断信号产生方式:通过外部中断可以控制数据开场传输的时刻。选择好外部中断来源是本次制作的难点及重点。使用惯性开关。通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。1.3.3抗重影方案的选择:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进
13、入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,防止了重影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以到达省电的效果。2系统硬件设计2.1根本原理图为:图2.1根本原理与硬件电路设计: 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象看到的是一幅完整的画面。与LED点阵的显示有几分相仿。其硬件电路如上图中所示: 系统电源VCC为5V,下载程序和调试时一定要保证5V电压,MCS-51单片机作为控制器,在它的P1,P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P1口,P2口的上拉电阻不能少。串在LE
14、D公共端的二极管D1会产生一定的压降,用来保护LED,经试验测试LED点亮时两端电压为3V左右,在LED的平安承受X围之内。2.2 各局部功能2.2.1 按键模块 使用一个按键对显示的所有内容进展切换,通过按钮按下的次数确定显示的内容。 S1:水银开关功能为棒在摇动时,只能在朝某一方向摇动时显示,否那么会出现镜像字或镜像画面,所以通过接一支水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。 S2:画面切换开关功能为用于切换显示不同内容。 S3:手动复位开关功能为可以控制系统的启停2.2.2 LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我
15、们的字模数组通过点阵屏的行驱动进展输入,然后通过列对每一行进展扫描,当列为低高电平、行为高低电平时那么表示该点为图案的一局部,将其读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进展读取,然后行再次送数据,列再次读取依次循环下去,一幅完整的图案就显示在了显示屏上。而本次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行1列。数据传输时我们同样使用行送数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方
16、向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动出来了。2.3系统硬件2.3.1单片机控制STC89C051本装置采用了STC12C2051单片机,它支持直接通过串口线下载程序,对于本设计而言,显示文字需经常改变,STC12C2051方便许多,因此选择STC12C2051作为本设计所用的单片机。2.3.2显示功能。D1D16信息传递主要由显示来完成,本设计显示功能由16个发光二极管来完成。16个发光二极管分为4组,以共阳的方式连接,共用P1口和P2口作为输出口。2.4 传感器系统硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构
17、成。可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发生破裂,水银外泄,平安性较差。滚珠开关稳定性稍差,但不容易损坏,平安度很高。考虑到实际应用环境,应选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不稳定性可以通过软件进展弥补。 经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图2.2 整套系统以STC12C2051单片机为核心控制系统,使用16只LED灯作为显示屏,其中16只直接与单片机I/O口相连。当惯性开关触发中断T1时,单片机向16只LED传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成
18、的扇形区域。系统的元器件明细表2.1:1单片机STC12C2051 1片2发光二极管 16只312M晶振 1个4电阻、电容 假设干5USB接口 1个6按钮及开关 假设干表2.13系统软件设计3.1 软件设计思路 在摇动LED棒的时候单片机必须单程传送数据否那么显示的图形会产生重影,影响视觉效果。因此当系统开场工作后通过惯性开关的位置来使单片机实现单程传送数据给LED。如果惯性开关位于右边,那么进入外部中断1并将一变量置1,。在变量为1期间让单片机以一定的频率将数据传送给LED。如果惯性开关位于左边,那么进入外部中断0并将变量置0,。在这期间单片机不会传送数据给LED。在送数据时,数据送完后应延
19、时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED并开场重新判断惯性开关的位置。3.2 主程序流程图 通过软件设计思路分析,得到该系统的主程序流程图3.1如下: 图3.1系统开场运行,内部进展初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开场显示。显示完成返回主程序,等待下一个摇动周期的到来。经过文字取模后,系统的源程序编制如下:#include #define uchar unsigned char#define uint unsigned int /宏定义#define KEY P3_0 /定义画面切换按键uchar KY; /KY
20、作用在后面说明 uchar disp; /显示汉字指针uchar pic=0,num=0; /pic为按键次数;num为中断次数uchar code love = /*- 文字: -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0x00,0x00,0x80,0x48,0x28,0x98,0x88,0x7F,0x4C,0xD4,0x24,0x24,0x40,0x40,0x40,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x46,0x3B,0x02,0x02,0x02,0x02,0x02,0x00,0/*- 文字: 好 -
21、*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0x80,0x80,0x80,0x7E,0x40,0xE0,0x40,0x88,0x88,0xA4,0xD4,0x4C,0x44,0x40,0x40,0x00,0x00,0x10,0x08,0x05,0x02,0x05,0x08,0x00,0x00,0x10,0x3F,0x00,0x00,0x00,0x00,0x00,x00,uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
22、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xF
23、E,0x03,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形图案*/;uchar code hehe = 0x00,0
24、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0
25、x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
26、x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵o(_)o图案*/;unsigned char code hanzi = /- 欢 - 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01, 0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, 0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10, 0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,/- 迎 - 0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F, 0x00,0x
27、20,0xFC,0x47,0x04,0x42,0x02,0x41, 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42, 0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,/- 使 - 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, 0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29, 0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21, 0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,/- 用 - 0x00,0x8
28、0,0x00,0x60,0xFE,0x1F,0x22,0x02, 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, 0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,/- 神 - 0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF, 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F, 0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08, 0x88,0x08,0xFC,
29、0x1F,0x08,0x00,0x00,0x00,/- 奇 - 0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E,0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, 0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, 0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00,/- 魔 - 0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A, 0xCB,0x0F,0xAA,0x
30、7A,0xFE,0x8A,0x9A,0xAA, 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,/- 幻 - 0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60, 0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80,0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,/- 摇 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05
31、,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 摇 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 棒 - 0x10,0x04,0x10,0x03,
32、0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,/- ! - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x
33、00,0x00,0x00;/*函数声明*/void display1(void);void display2(void);void display3(void);void display4(void);/*nus延时子程序*/void DelayUs(uint N) uint x; for(x=0; x10)disp+;num=0; /12个汉字分为3次显示完每次显示4个,每中断10次切换 if(disp2)disp=0; DelayUs(5200); /此处延时时间依各硬件差异而各不一样,试着调整使得显示内容居中即可 for(i=0;i64;i+) P0=hanzidisp*128+i*2;
34、 P2=hanzidisp*128+i*2+1; DelayUs(100); /*显示子程序2LOVE*/void display2(void) uchar i; DelayUs(4000); for(i=0;i64;i+) P0=lovei*2; P2=lovei*2+1; DelayUs(120); /*显示子程序3心形图案*/void display3(void) uchar i; DelayUs(4000); for(i=0;i64;i+) P0=loveyoui*2; P2=loveyoui*2+1; DelayUs(120); /*显示子程序4呵呵o(_)o图案*/void dis
35、play4(void) uchar i; DelayUs(4000); for(i=0;i3)pic=0; /*END*/3.3 软件实现功能的完善本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。第二个难点是当显示较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送完毕后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有连续的问题。 综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。4系统的硬件调试及软件调试 单片机应用系统的硬件调试和
36、软件调试是分不可的,许多硬件故障是在调试软件时才发现的。但通常是先排除系统中明显的硬件故障后才和软件结合起来调试的。其一般的调试过程如下:4.1常见的硬件故障4.1.1逻辑错误 样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括:错线,开路,短路等几种,其中短路时最常见的故障。在印刷电路板布线密度高的情况下,极易因工艺原因造成短路。4.1.2 器件失效 元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组装错误而造成的元器件失效,如电解电容,二极管的极性错误,集成块安装方向错误等。4.1.3 可靠性差 引起系统不可靠的因素很多,如金属化孔,接插
37、件接触不良会造成系统时好时坏;内部和外部的干扰,电源纹波系数过大,器件负载过大等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。4.1.4 电源故障 假设样机中存在电源故障,那么加电后将造成器件损坏。电源的故障包括:电压值不符合设计要求,电源引出线和插座不对应,电源功率缺乏,负载能力差。4.2 硬件调试方法4.2.1 脱机调试 脱机调试是在电路板加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号,规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查拓展系统总线是否存在相互间的短路或其他信号线的
38、短路。 对于样机所用的电源事先必须单独调试,调试好后,检查其电压值,负载能力,极性等均符合要求,才能加到系统的各个部件上。在不插片子的情况下,加电检查各插件上引脚的电位,仔细检查各地点电位是否正常,尤其应注意单片机插座上的各点电位是否正常,假设有高压,联机时将会损坏开发机。4.2.2 联机调试 通过脱机调试可排除一些明显的硬件故障。有些硬件故障还是要通过联机调试才能发现和排除。 联机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常,即可翻开电源。通电后执行开发机读写指令,对用户机的存储器、I/O端口进展读写操作、逻辑检查,假设有故障,
39、可用示波器观察波形。通过对波形的观察分析,寻找故障原因,并进一步排除故障。可能的故障有:线路连接上的逻辑错误、有断线或短路现象、集成电路失效等。4.3 软件调试方法 软件调试与所选用的软件构造和程序设计技术有关。如果采用模块程序设计技术,那么逐个模块调试好以后,再进展系统程序总调试。如果采用实时多任务操作系统,一般是逐个任务,下面进一步予以说明。 对于模块构造程序,要一个个子程序分别调试。调试子程序时,一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步运行方式和断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求。通过检测,可以
40、发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过后,可以把各功能块联系起来一起进展整体程序综合调试。在这阶段假设发生故障,可以考虑各子程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建立和去除在设计上有否失误,堆栈区域有否溢出,输入设备的状态是否正常,等等。假设用户系统是在开发系统的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。 单步和断点调试后,还应进展连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部完成后,应反复运行屡次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时还要做适当修正。对于实时多任务操作系统的应用程序是由假设干个任务程序组成,一