单片机的开发过程中一些技巧
联系方式见右侧悬浮框
【单片机】是根据客户需求而写的,非常具有代表性,在客户搜索【单片机】时,都能通过我们来了解相关资讯,而且【单片机】在客户有需求时提供参考意见。
单片机的开发过程中一些技巧,帮助学习单片机
单片机开发涉及到的几个概念:
1、DSP中介绍引脚时,注明PU,PD说是“内部上拉”和“内部下拉”,就是说内部已经配置了接电源的上拉电阻或是接地的下拉电阻。这样,当作为输入端口连接OC或COMS芯片或浮空时。信号线平是确定的高/低电平。而不是不确定的浮地电平。内部上拉,相当于输入和电源之间接了一个几十K的电阻;下拉,相当于用电阻和地相连。
2、在电子电路中,VCC是电路的供电电压,C = circuit,表示电路的意思;VDD是芯片的工作电压,D = device,表示器件的意思;VSS是接地或是负极,S = series,表示公共连接的意思。
3、时钟周期:也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
机器周期:计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。
总线周期:微处理器是在时钟信号CLK控制下按节拍工作的。8086/8088系统的时钟频率为4.77MHz,每个时钟周期约为200ns。由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存贮器或 I/O接口)进行一次访问所需时间称为一个总线周期。一个总线周期一般包含4个时钟周期,这4个时钟周期分别称4个状态即T1状态、T2状态、T3状态和 T4状态。
单片机开发中的基本技巧
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着,现归纳出单片机开发中应掌握的几个基本技巧。
1、如何减少程序中的bug.对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。
2、如何提高C语言编程代码的效率。用C语言进行单片机程序设计是单片机开发与应用的必然趋势,如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
3、如何解决单片机的抗干扰性问题。防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
4、如何测试单片机系统的可靠性。当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:测试单片机软件功能的完善性;上电、掉电测试;老化测试;ESD和EFT等测试。有时候,我们还可以模拟人为使用中,可能发生的破坏情况;例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力;用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机开发过程中的硬件调试技巧
在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。
当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。
1、硬件静态的调试
(1)、排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
(2)、排除元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
(3)、排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
2、联机仿真调试
联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。
信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。
这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1μs/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。
对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开,电平将变低。
总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。
下面结合在自动配料控制系统中键盘、显示部分的调试过程来加以说明。本系统中的键盘、显示部分都是由并行口芯片8155扩展而成的。8155属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。
(1)、显示器部分调试为了使调试顺利进行,首先将8155与LED显示分离,这样就可以用静态方法先测试LED显示,分别用规定的电平加至控制数码管段和位显示的引脚,看数码管显示是否与理论上一致。不一致,一般为LED显示器接触不良所致,必须找出故障,排除后再检测8155电路工作是否正常。对8155应进行编程调试时,分为两个步骤:第一,对其进行初始化(即写入命令控制字,最好定义为输出方式)后,分别向PA、PB、PC三个口送入#0FFH,这时可以利用万用表测试各口的位电压为3.8 V左右,若送入#00H,这时各口的位电压应为0.03 V;第二,将8155与LED结合起来,借助开发机,通过编制程序(最好采用“8”字循环程序)进行调试。若调试通过后,就可以编制应用程序了。
(2)、键盘调试一般显示器调试通过后,键盘调试就比较简单,完全可以借助于显示器,利用程序进行调试。利用开发装置对程序进行设置断点,通过断点可以检查程序在断点前后的键值变化,这样可知键盘工作是否正常。
教学设备网推荐使用:ZRDPX-238单片机技术应用实训考核装置
产品特点:
1.入门容易,简洁而不简单:为了使入门容易,我们采用简单易懂的版面设计,从最基本的一个跑马灯开始就让您无缝地切入教学。大部分的模块在保证安全的前提下反面是镂空的。这使得您可以让学生一目了然看到,并可以触摸到,这点很重要。因为我们深知,感性认识的重要性。
2、人体工学,美观而舒适:采用模块平放结构,使得视线趋于自然向下,如同平时读书写字。靠近用户侧又略带倾斜,使得操作时更加方便。同时抬头时视线使得毫无遮挡。可以方便地听讲,老师亦可观察实验情况。
3、高度开放,激发创新:采用模块化设计,我们并不简单的,单独设计模块,而是将模块间联系,可能性,功能性做了综合考虑,提供经典实训项目,我们建议用户利用高度开放性的模块,设计出自己的实验项目。
4、贴近实际,易于拓展:深知教学与实际生产结合的重要性。特别设计了多达几十种的实训包
技术性能:
1、输入电源:AC220V±10% 50Hz
2、工作环境:温度-10~+40℃ 相对湿度<85%(25℃)
3、装置容量:200VA
4、重量:100kg
5、外形尺寸:1600×750×1100mm
三、本设备各个功能模块功能特点
1、 主机模块
单片机采用爱特梅尔的AT89S52。该单片机内部设有256Byte的RAM和8KByte的FLASH、三个16位定时器,两个数据指针,片内集成了一个看门狗电路。64KRAM扩展空间、64KROM扩展空间;32个IO口,6个向量中断源;0~33MHz的工作频率,三级程序加密功能;工作电压4.0V~5.5V。使用DIP40封装便于更换芯片及仿真。并设计有在系统下载设计接口,通过USB下载器可以方便地进行编程,无需把单片机从电路上取下。
该模块上还放有串行通信接口,该接口已经加入升压电路,可以直接与计算机通信,飞利浦单片机和宏晶单片机也可以通过此口进行程序下载。复位电路上加有手动复位按扭,可以直接复位操作。模块上还设有有源蜂鸣器驱动电路,直接给固定电平就可以发出声响。
2、 电源模块
电源模块采用线性电源和开关电源两种电源。单片机等芯片采用线性电源供电,可以有效减少因电源干扰引的程序跑飞。电机等大功率器件采用开关电源供电,确保提供足够的功率。电源采用漏电保护开关作为总控制,安全可靠。用船形开关单独控制低压电,市电与低压电分开控制。该模块共有三组相互独立的低压电源,其中有两组是正负双电源输出。面板上放置了一个AC220输出插板,可以同时挂接三个仪器仪表。其中每组电源都有保险丝作过载保护。
3、仿真器模块
配备有高性能单片机仿真器,可以全功能仿真MCS51系列单片机,也可以软件仿真;软件为中国自主研发,可以很好的支持中文,支持关键字提示,自动完成符号配对等功能。支持64K程序地址断点、64K源程序有效行断点和64K临时断点,单片机内部寄存器状态一目了然。主机与计算机采用流行的USB接口。
4、 显示模块
该模块无论从最基本的显示元件LED发光二极管,还是到最高级的LCD显示屏都包含在内。具体配置为8位跑马灯(逻辑电平指示)、8位数码管动态显示、16×32点阵LED屏、1602字符型液晶显示屏、128×64绘图液晶显示屏。单片机常用的显示器件全部包含在内,使学习者可以接触所有的显示方案,设计人机界面时可以得心应手。
5、继电器模块
继电器是常用的执行元件,也是常用的隔离元件,它能用低压控制高压电路,远程切换强电电路状态优点,同时它的执行元件又是一个线圈,在通电及断电时会产生电磁干扰。为此继电器模块在集成了驱动电路的基础上增加了光电隔离措施。该模块共有6路继电器,每个继电器的开关触点全部引出,并明确标示;每个继电器还设有工作指示灯,那一路继电器在通电工作使人一目了然。六组继电器中有两组为AC220控制的继电器,可以控制交流电机的正反转及停止,通过转换头可以连接电子连线。另外四组为电子连线座输出。继电器触点容量250V/6A、DC28V/12A
6、 指令模块
指令模块上放置了单片机常用的输入元件,其中有8个独立键盘接口,8路8位开关量输入,4*4矩形键盘接口,可以满足学生从基础到高级,从简单到复杂的实训要求。如果用户需要更多的按键或需要更为复杂的设计,则可以采用该模块的PS2键盘鼠标接口进行扩展。
7、 ADC/DAC模块
ADC/DAC模块上设计了两种转换芯片ADC0809和DAC0832。为了便于调试程序和硬件,板载了三个功能子模块:0-5V模拟电压输出、8等级LED电平指示器和有源时钟发生器。ADC0809实验时可以用有源时钟发生器作为芯片的时钟,可以用0-5V模拟电压输出作为模拟量,用8等级LED电平指示用作模拟量大小的指示;DAC0832实验时,可以将芯片的输出接在8等级LED电平指示器上,转换结果是否正常一目了然。
8、 交直流电机控制模块
该模块可以完成两种电机的控制实验,分别是24V直流减速电机和220V交流减速电机。每种电机的转盘下面放有光电开关计数器,可以用单片机感知其位置和转动了多少圈。每个电机控制线路中设有超程保护输入端口,在与水平移动装置组合实验时可以有效保护电机和机构的安全。
9、步进电机控制模块
该模块设有一只24V两相步进电机和大功率步进电机驱动器。模块改变了电机的轴转式运行方式,采用了一个水平移动机构,该机构可以把电机的轴转改为水平直线运动,并用铝直尺的刻度指示。该模块还可以做闭环控制的实验项目,因为在运动机构上装有感知距离的闭环元件。同时设计了一个超程保护电路,当机构走到一个程序不可知状态时,可自动关闭电机电源,避免机构超程损坏。直线运动机构上带了左右限位输出端子,供单片机查询状态。
10、 传感器配接模块(4路传感器接口)
传感器配接模块是专为传感器的配接和电气隔离而设计的一块电路单元,该单元共有两组16路光电隔离IO口,每个光电隔离IO口均可仿PLC与24V电源供电的传感器连接。并配有四路传感器转换接口用于工业传感器的连接。
11、 扩展模块
因为82C55的控制方式仍有学习价值,目前在许多教材中仍有它的身影,扩展模块能满足实验的需求;82C55的三个端口全部引出,可以用电子连线连接,也可以用排线连接。控制端与数据通信口安排在一起,整体布局美观大方。另设有一片74LS245芯片,可以用来与82C55组合起来完成不同的实验功能。
12、 温度传感器模块
该模块配备有两种芯片型温度传感器:数字量温度传感器18B20和模拟量温度传感器LM35。LM35器件还加有运算放大器,放大的模拟量可以提高测量精度。每种传感器都有透明外壳加固保护,内有大功率加热电阻,加热指示器等。工作状态一清二楚。可以用来做恒温控制,温控器等实验。
13、 智能物料搬运装置
配置双轴机器人作为装配的执行机构,具有X轴、Y轴两个方向的执行能力,可完成智能抓取物料放料等功能;配置有行程开关,光电传感器,光纤传感器等,可确保各执行器的准确定位;超出最大行程时,具有硬件自动保护功能,确保系统安全及人身安全;本装置为通用的模块化的多功能装置,各功能端口完全开放,可以能过不同的接线来完成各种不同的功能,为学生的创新设计提供了广阔的发挥空间。
四、实训项目
实训一 灯光闪烁实训
实训二 跑马灯实训
实训三 独立按键输入实训
实训四 光隔离输入输出实训
实训五 金属检测实训
实训六 动态数码管显示实训
实训七 矩阵键盘接口实训
实训八 继电器隔离控制实训
实训九 蜂鸣器演奏实训
实训十 8255芯片扩展IO实训
实训十一 字符型液晶显示模块控制实训
实训十二 液晶显示模块控制实训
实训十三 点阵L E D屏汉字显示实训
实训十四 AD转换实训
实训十五 DA转换实训
实训十六 LM35温度传感器采集实验
实训十七 单总线温度传感器采集实训
实训十八 交直流减速电机控制实训
实训十九 步进电机开环控制实训
实训二十 RS232通信实训
实训二十一 PS2键盘通信实验
实训二十二 智能物料搬运装置实训
1. 传感器技术实训
2. 直流减速电机应用实训
3. 气动回路应用实训
4. 丝杆传动机构应用实训
5. 直线运动单元定位控制实训
6. 机械故障检测与排除实训气动电磁阀的控制实验
如对本产品/文章:单片机有任何疑问请随时联系我们,我们将尽力为您提供最全的实训室建设方案和最优质的服务
本文关键词:单片机
【单片机】是上海中人原创,如果您在了解产品的过程中受到启发,想要咨询相关设备的问题,我们将派专员为您解决疑问,或者您在阅读【单片机】中有想不通的问题,也可以咨询我们,我们将为您提供快速解决【单片机】问题的方案
相关热词: