基于工作过程的单片机应用技术实训1安徽电气工程职业技术学院基于工作过程的单片机应用技术自动化与信息工程系信息技术教研室2009-12实训工作流程基于工作过程的单片机应用技术实训2工作流程工作过程1:方案论证和单片机硬件选型工作过程2:硬件电路原理图设计工作过程3:程序设计和仿真调试工作过程4:印刷电路板PCB设计工作过程5:电路元件安装焊接工作过程6:将程序移植到实际硬件工作过程7:构造目标程序下载到单片机的程序存储器中工作过程8:功能测试工作过程1:方案论证和单片机硬件选型根据设计要求拟定设计方案,并进行比较论证,核心是选择单片机芯片,主要考虑因素有:(1)字长:8、16、32位,根据计算精度要求选择。(2)片内资源:尽量使所选芯片内可以包含所需的全部功能,以简化外围电路、降低成本、提高可靠性。片内存储器类型和大小:ROM、RAM、EEPROM程序下载和调试方式GPIO口数量和驱动能力总线和通信接口(I2C、SPI、UART、USB)、定时/计数器中断源及其优先级数A/D和D/A转换精度、速度、通道数;看门狗定时器WDT、PWM、3、开发工具和资料、资源:选择4、封装、工作电压、功耗5、工作温度范围等级:商业、工业、汽车、军用6、价格工作过程2:硬件电路原理图设计一般利用EDA软件在计算机上进行,如Protel、AD6、ProteusISIS等。从支持单片机仿真角度,功能最强的是ProteusISIS;基于工作过程的单片机应用技术实训3工作过程3:程序设计和仿真调试根据所选芯片,选择一种开发工具和程序设计语言,对采用51内核的单片机用Keil集成环境较为合适,用C语言或汇编语言均可。(数值计算较多的建议用C语言,简单控制可用汇编语言)工作过程4:印刷电路板PCB设计一般使用原理图设计相同的EDA软件,这样可以直接从原理图生成电路板图。目前使用最多的有Protel的PCB设计模块或Proteus的PCB设计模块ARES将设计好的印刷电路板图发给电路板生产厂家制版。工作过程5:电路元件安装焊接对照原理图、电路板图和元件实物,明确各元器件的作用、参数、封装、极性和安装位置。功能(参考原理图)外形封装(如DIP28(Dualln-linePackage)、SOP24(SmallOutlinePackage)、0805参数值(如331、105)焊接位置(参见电路板图)方向(IC插座)或极性(LED、电解电容、蜂鸣器)。按正确顺序和操作方法进行元件的手工焊接。(1)焊接准备焊前应使络铁头保持清洁和上锡(可在湿海绵上擦拭去除污垢,沾少量松香、镀上一层锡)。(2)焊接操作步骤和要点:1)焊接时络铁头先靠在焊盘和元件引脚上使之加热2)将焊锡丝点涂在焊盘上,靠焊件温度融化焊锡并润湿焊件。3)适当用锡后移开焊锡丝。4)稍后移开络铁头。(3)注意基于工作过程的单片机应用技术实训41)用锡量合适(少而均匀、四周完整)2)时间控制(保证焊锡充分融化并润湿焊件的条件下越短越好。)(4)元件焊接顺序1)按元件高度从低到高依次安装焊接2)从Bottom面焊接时可用夹板固定元件防止脱落,使之高度整齐。3)表贴电阻电容焊接时,先在一个焊盘上镀锡,用镊子夹住元件焊接在该焊盘上,然后再焊另一端。(5)、完成焊接后1)用放大镜检查焊点,不要有虚焊和短路现象;2)用万用表等测量电路板是否存在短路,对单片机电路板还可以插入带自检程序的芯片进行自检。3)焊锡中含有铅、锡等有害金属,焊后应洗手后再拿食物。工作过程6:将程序移植到实际硬件由于EDA软件仿真模型不可能很全,往往实际使用的单片机芯片与仿真时采用的型号有些出入,如本次实训采用的STC54系列单片机,是在51内核的基础上,内部扩展了一些功能,ProteusISIS没有提供该系列的仿真模型,故在电路和程序仿真时可以借用89C52的模型,然后设法将仿真源程基于工作过程的单片机应用技术实训5序进行一些移植工作后再进行目标程序的构造和下载,以适合实际的芯片。注:对汇编语言编写的源程序要求必两者指令系统必需兼容,而C语言程序可以在不同指令系统的单片机之间移植。移植方法如下:1、包含必要的头文件(.h)各种单片机和可编程器件都会由厂家提供一些关于定义片内资源或某些特定功能的过程(子程序或函数)的头文件,在用户程序中用包含指令将有关的头文件包含到自己程序中即可在程序中使用这些符号和过程。例如为了使用STC系列单片机的内部资源,应在程序开始处用包含指令#includeSTC.H;该头文件中定义了STC单片机的SFR,并在Keil中将工程属性的A51选项中去除“Define8051SFRNames”前的勾,以免两者重复定义。在程序最后用#includeCH452.H“其中包含了对芯片CH452的各种操作子程序(或函数)。2、用伪指令定义变量地址和I/O口线根据情况用伪指令定义变量和IO口线,这样当硬件或程序变动时易于修改。如:BUFEQU3EH;显示缓冲区首地址(对应显示数据的最低位,BUF+7对应最高位,保存功能号.CH452_KEYEQU;保存按键值SECEQU47HPTEQU48H;温度设定值单元根据I/O引脚分配,用伪指令定义输入输出位变量。HeatBITP2.6;加热器开关BEEPBITP2.7;蜂鸣器SECUPBIT13、正确安排中断入口和定时器、中断的初始化,如:ORG0JMPMAINORG0003H;键盘使用外部中断INT0JMPCH452_INTERORG000BHJMPT0_INTORG001BHJMPT1_INT4、程序中正确调用头文件所提供的子程序(或函数)明确功能、入口和出口参数、资源使用,如:1字节二进制数转换为3字节BCD数子程序B2D入口参数:A=待转换的二进制数,R0=BCD百位数地址基于工作过程的单片机应用技术实训6显示子程序DISP8将缓冲区数据(每字节一位数据0~F不需要译码)显示在8位LED上,无需循环扫描。入口参数:R0=数据最低位地址头文件CH452.h所提供的部分子程序(或函数)CH452初始化子程序CH452_INIT启动某通道AD转换子程序:Set_AD入口参数A=通道读取ADC结果子程序:READ_AD读取所启动的通道ADC结果出口参数:A=转换结果高8位工作过程7:构造目标程序下载到单片机的程序存储器中在软件集成开发环境下构造目标,排除语法错误,通过调试排除逻辑错误后,通过一定的方法将目标程序下载到单片机的程序存储器中,常用方法有:使用编程器,主要是针对一些不支持ISP的老型号单片机。使用ISP下载电缆,目前大多数单片机都支持某种方式的ISP,需要相应的ISP下载电缆(接口方式有:LPT、COM、USB等)和配套的ISP软件。如对AT89S系列单片机可采用ATMEL公司提供的LPT或USB接口的电缆和程序AT89ISP进行程序下载,STC单片机可以采用宏晶公司提供的STC-ISP程序和普通RS-232电缆进行程序下载。操作方法可见课本有关章节。工作过程8:功能测试对已下载程序的装置进行实际功能测试,以发现各类错误并回到前述某环节进行修改,排除错误,实现设计要求。