1、第10章 单片机应用系统设计,10.1 单片机应用系统设计的开发步骤,一个完备的单片机应用系统包括硬件和软件两大部分,其中硬件部分包括扩展的存储器、键盘、显示、前向通道、后向通道、控制接口电路以及相关芯片的外围电路等,软件的功能就是指挥单片机按预定的功能要求进行操作的程序。,10.1.1 系统总体设计,系统总体设计是单片机系统设计的前提,合理的总体设计是系统成败的关键。总体设计关键在于对系统功能和性能的认识和合理分析。系统单片机及关键芯片的选型,系统基本结构的确立和软、硬件功能的划分也是系统总体设计的重要组成部分。,10.1.2 硬件设计,1程序存储器 2数据存储器 3I/O接口 4总线驱动器
2、 5抗干扰电路,10.1.3 软件设计,1系统定义,(1)定义说明各输入/输出口的功能。 (2)在程序存储器和数据存储器区域中,合理分配存储空间。(3)对面板控制开关、按键等输入量以及显示、打印等输出量也必须给予定义。 (4)针对可能出现的由干扰引起的错误进行容错设计,给出错误处理方案。,2软件结构设计,10.1.4 系统总体调试,(1)硬件调试 (静态调试和动态调试)(2)软件调试 (3)系统联调 (4)现场调试,10.1.5 程序固化,系统独立运行 将程序固化在单片机系统的程序存储器当中,目标系统就可以独立运行了。目标样机独立运行一段时间进行老化后,如果没有故障产生,即可认为整个系统开发成
3、功。,10.2 设计实例1步进电机的控制,1.设计目的(1)掌握单片机对步进电机的控制方法(2)掌握步进电机正转、反转、速度及步数控制的方法2.技术要求(1)使用三向六拍步进电机,编程使步进电机正向/反向旋转10圈(2)旋转时间为2秒(3)旋转方向由手动控制,步进电机控制原理 (1)单相三拍方式:按单相绕组施加电流脉冲正转:ABCA反转:ACBA(2)双相三拍方式:按双相绕组施加电流脉冲正转:ABBCCAAB反转:ACCBBAAC(3)三相六拍方式:单相绕组和双相绕组交替施加电流脉冲正转:AABBBCCCAA反转:AACCCBBBAA,3.设计方案,步进电机速度控制的方法就是改变各通电脉冲的时
4、间间隔,由脉冲延时程序控制即可。在输出控制电平后,由延时程序控制每一步的时间,即可达到控制步进电机速度的目的。如本设计要求2秒旋转10圈,则每一步需要的时间为:t=2s/10NZr=2000ms/103240=833s。其中N=MCC,即运行拍数,其中MC为绕组相数(本题为三相),C为状态系数。三拍时,C=1;六拍时,C=2。Zr为转子齿数(40个)。步进电机的步数控制由要求旋转圈数除以每一步旋转的角度即可。设计要求旋转10圈,则10360o/1.5=2400圈(960H)。,4.电路,5.参考程序 ORG1000HAA1:MOVR3,#960H;确定步进电机前进步数AA2: MOVR4,#0
5、0H MOVDPTR,#STEP;控制模型首地址送DPTR JNBP1.4,FAN;判断正转还是反转ZHENG:MOVA,R4 MOVCA,A+DPTR JZAA2;旋转一圈后转回AA2 MOVP1,A;控制步进电机旋转 ACALLDELAY;延时,控制速度 INCR4;控制步数加1 DJNZ R3,ZHENG ;步数未完继续 RET,FAN: MOVA,R4;取反向控制模型偏移量 ADDA,#07H MOVR4,A AJAMPZHENGDELAY:(延时833s)STEP:DB 01H,03H,02H,06H,04H,05H,00H;正向控制模型 DB 01H,05H,04H,06H,02H,03H,00H;反向控制模型,10.3 设计实例2数字电压表的设计,END,