第13章单片机开发板设计本章主要介绍单片机应用系统的设计思想、设计理念和设计一个单片机应用系统要考虑的一些问题。本章中还介绍了笔者自主设计的一款基于proteus仿真平台的单片机开发板13.1单片机开发概述单片机应用系统的开发是以单片机为核心,选择一定的外部电路,并进行软件设计,从而实现特定测量及控制功能的应用系统。一个完整的单片机应用系统设计包括分析测控系统、单片机选型、硬件资源分配、单片机程序设计、仿真测试并最终下载到实际硬件电路中执行,其中单片机的选型、资源分配及程序设计是整个系统设计的关键。13.1.1分析测控系统①可行性分析可行性分析主要是分析整个设计任务的可行性。②系统总体方案设计当完成可行性分析并确认方案可行后,便可以进入系统整体方案设计阶段。13.1.2单片机的选型在进行正式的单片机应用系统开发之前,需要了解各个不同型号单片机的特性,从中做出合理的选择。在单片机选型时,主要需要注意以下几点:①根据应用系统对硬件资源的要求,在满足性能指标的情况下,尽量选择硬件资源集成在单片机内的型号②调查市场,尽量选用广泛应用、货源充足的单片机型号,避免使用过时或缺货的型号,使得硬件投资不过时。③对于手持式设备或其他需要低功耗的设备,应选择低电压、低功耗的单片机型号。④在条件允许的情况下,尽量选择功能强的单片机,这样便于以后的升级扩展。⑤对于商业性的最终产品,尽量选择体积小的贴片封装的单片机型号,这样可以减小单片机板面积,从而降低硬件成本。13.1.3硬件资源分配需要注意以下几点:①如果单片机的硬件资源丰富,尽量选择使用单片机内部集成的硬件资源来实现,这样可以提高系统的可靠性。②对于一些常用的功能部件,尽量选择标准化、模块化的典型电路,这样可以提高设计的合理性,确保系统设计的成功率。③合理规划单片机的硬件及软件资源,充分发挥单片机的最大功能。④硬件上最好留出扩展的接口,以方便后期的维护及升级。⑤要仔细考虑各部分硬件的功率消耗及驱动能力,如驱动能力不够将导致系统无法正常运行。13.1.4程序设计主要需要从以下几点来考虑。采用结构化的程序设计,将各个功能部件模块化,用子程序来实现,其优点是便于调试及后续的移植和修改等。合理使用单片机的资源,包括RAM、ROM、定时器/计数器、中断等。除非特殊要求,尽量选择使用C语言来进行程序开发和设计,这样可以使程序易懂,便于交流和后期维护。程序中应添加注释,提高程序的可读性。13.1.5仿真测试单片机仿真测试和程序设计是紧密相关的。可以选择Keil公司的μVision系列、Labcenterelectronics公司的PROTEUS等编译仿真环境,也可以选择硬件仿真器进行在线调试。13.1.6实际硬件测试当程序设计通过后,便可以将其下载到单片机中进行硬件电路测试。在实际硬件电路测试阶段,主要检查单片机程序和外部硬件接口是否正常,单片机的驱动能力是否够用,以及整个硬件电路的逻辑时序配合是否正常等。硬件测试通过后,便可以投入使用或生产。13.2单片机开发硬件设计本书设计的开发板能进行12个实验,分别为:流水灯、数码显示、ADC0804模数转换、单键识别、4x4矩阵键盘、DAC0832数模转换、蜂鸣器、RS232串口通信、DS18B20温度采集、IIC总线、8x8点阵、LCD1602显示。13.2.1开发板基本配置1、6位数码管(做动态扫描及静态显示实验);2、8位LED发光二极管(做流水灯实验);3、RS232通信接口(可以作为与计算机通讯的接口同时也可作为C51下载程序的接口);4、蜂鸣器(做单片机发声实验);5、ADC0804芯片(做模数转换实验);6、DAC0832芯片(做数模转换实验);7、DS18B20温度传感器(做温度测量实验);8、AT24C00芯片(做IIC总线元件实验);9、字符液晶1602(做LCD字符显示实验);10、4*4键盘另加四个独立键盘(键盘检测实验);11、8*8点阵(做点阵实验)。开发板端口分配表配置端口名称实验备注P1.1~P1.7、P2.5流水灯P2.5~U3的LEP3.2~P3.5单键识别P0.0~P0.7、P2.6、P2.7数码管显示P2.6~数码管段选LEP2.7~数码管位选LEP1.0~P1.7、P0.7、P2.7、P3.6、P3.7A/D转换实验P3.7~ADC0804的RDP3.6~ADC0804的WRP0.7~数码管位选的D7P2.7~数码管位选LEP3.0~P3.74*4键盘检测P3.0~P3.3行P3.4~P3.7列P0.0~P0.7、P3.2、P3.6D/A转换实验P3.2~DAC0832的CSP3.6~DAC0832的WRP2.3蜂鸣器P2.3~FMP2.2温度传感器P2.2~18B20P3.0、P3.1RS232串口通信P3.0~COMPIM的RXDP3.1~COMPIM的TXDP2.0、P2.1IIC总线实验P2.0~24C00的SDAP2.1~24C00的SCkP0.0~P0.7、P1.0~P1.78*8点阵实验P0接点阵的阳极P1接点阵的阴极P0.0~P0.7、P3.5、P3.4LCD1602显示实验P3.5~LCD的RSP3.4~LCD的E表13.2.1开发板端口分配表13.3实验指导13.3.1流水灯实验一、实验目的1、熟悉开发板的基本操作;2、初步了解单片机I/O口基本操作方法;3、学会控制延时函数的延时时间;4、结合程序的调试掌握keilc编译软件的基本使用方法。实验原理图图13.3.1流水灯原理图13.3.2单按键识别一、实验目的1、了解I/O口输入输出功能;2、了解单键按键识别原理。实验原理图图13.3.2单键识别实验原理图13.3.3数码管显示一、实验目的练习进位操作,了解数码管的静态显示和动态显示。实验原理图图13.3.3数码管显示实验原理图13.3.4A/D转换实验一、实验目的1、学习如何用单片机控制ADC0804芯片进行模数转换;2、掌握数码管动态扫描原理。实验原理图图13.3.4A/D转换实验原理图13.3.5D/A转换实验一、实验目的学习使用单片机控制DAC0832芯片进行数模转换。实验原理图图13.3.5D/A转换实验原理图13.3.6蜂鸣器一、实验目的学习、掌握控制蜂鸣器发声的原理。实验原理图图13.3.6蜂鸣器实验原理图13.3.74*4矩阵键盘一、实验目的1、学习掌握矩阵键盘的扫描原理;2、掌握数码管的静态显示原理。实验原理图图13.3.74*4矩阵键盘原理图13.3.88*8点阵一、实验目的1、学习掌握点阵显示图形的原理;2、了解视觉暂留原理及其效果。实验原理图图13.3.8点阵实验电路图13.3.9LCD1602显示实验一、实验目的1、了解LCD1602的显示原理;2、学习掌握LCD1602的控制步骤和方法。实验原理图图13.3.10LCD1602显示实验原理图13.4小结本章的重点在于实验,实验是培养同学们动手能力的重要手段,之所以要在本章设计一个单片机开发板,目的就是为让同学们在学习单片机理论的过程中能自己动手进行实验,以此提高同学们的动手能力,同时也为同学们在日后单片机电路设计中提供一个便利平台。