第8章-单片机应用系统开发与实例课件.ppt
《第8章-单片机应用系统开发与实例课件.ppt》由会员分享,可在线阅读,更多相关《第8章-单片机应用系统开发与实例课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 单片机应用系统开发与实例单片机应用系统开发与实例 单片机是面向工业控制设计的微型计算机,单片机是面向工业控制设计的微型计算机,由于其由于其“面向控制面向控制”、使用灵活等一系列特点而、使用灵活等一系列特点而广泛应用于工业自动控制系统、智能化产品、家广泛应用于工业自动控制系统、智能化产品、家电、通信和军事等领域。单片机在工业控制中是电、通信和军事等领域。单片机在工业控制中是以单片机系统形式来运行的。在前面的章节中已以单片机系统形式来运行的。在前面的章节中已经系统地介绍了经系统地介绍了MCS-51MCS-51系列单片机的内部结构、系列单片机的内部结构、指令系统、存储器扩充和主要接口技
2、术。这一章指令系统、存储器扩充和主要接口技术。这一章主要介绍单片机应用系统的开发设计,内容包括主要介绍单片机应用系统的开发设计,内容包括开发过程、开发工具以及实用设计分析等,这些开发过程、开发工具以及实用设计分析等,这些内容能够说明如何应用单片机组成一个实用的系内容能够说明如何应用单片机组成一个实用的系统。统。81 单片机应用系统的开发步骤和单片机应用系统的开发步骤和过程过程n n1.课题、项目的提出n n2.项目总体分析与论证n n3.总体方案设计n n4.硬件设计与软件设计n n5.联机调试n n6.脱机运行考核n n7.产品(项目)定型n n8.交付使用或投入批量生产8.1.1 项目总体
3、分析和论证项目总体分析和论证 n n1、对项目的可行性进行调研分析,即对所研制任务的功能和技术指标详细分析、研究,明确功能的要求;对技术指标进行一些调查、分析和研究。n n2、对产品或项目的先进性、可靠性、可维护性、可行性以及功能/价格比进行综合考虑;同时还要对国内外同类产品或项目的应用和发展情况予以了解。8.1.2 系统总体方案设计系统总体方案设计n n单片机应用系统的总体方案设计主要包括:1、系统功能(任务)的分配 2、确定软硬件任务及相互关系 3、单片机系统的选型和拟定调试方案和手段8.1.3 硬件设计硬件设计n n硬件部分是单片机系统的运行平台,设计开发的第一步是电路原理图的设计,主要
4、是对单片机及其外围功能电路进行原理设计,设计可以采用多种EDA软件,如常用的PROTEL99、PROTUS等等,根据软件版本和功能还可以采用软件模拟仿真。8.1.4 软件设计软件设计n n首先是设计语言的选择,单片机设计语言常规的主要是采用厂家提供的针对单片机的汇编语言进行的,也就是说不同系列的单片机汇编语言也是不同的,但是汇编语言语法冗长,内容抽象,还需了解内部的硬件结构,学习应用有一定难度,随着单片机的广泛应用,出现了能用高级语言C进行编程的解决办法。目前针对不同单片机的C编译器能编译多种常用的单片机程序,如Franklin/Keil编译器。8.1.5 联机调试联机调试n n联机调试,就是
5、借助开发工具对所设计应用系统的硬件进行检查,排除设计和焊接装配的故障。确认应用系统的硬件没有问题后,可将软件装入进行综合调试阶段。该阶段主要任务是排除软件逻辑设计错误,也解决硬件遗留下的问题。8.1.6 脱机运行脱机运行 n n联机调试完成后,可将程序写入EPROM或片内ROM中,脱机运行考核。看应用系统能否可靠、稳定地工作,这个过程一般没有问题。若有问题则大多出在复位、晶体振荡、“看门狗”电路或电源方面,可针对性地予以解决。然后可将系统样机现场运行考核,进一步暴露问题。82 单片机应用系统开发工具单片机应用系统开发工具8 82 21 1 单片机单片机EDAEDA设计工具设计工具1 1、PRO
6、TELPROTEL软件软件 ProtelProtel 公司推出的基于公司推出的基于Windows Windows 平台软件平台软件 凭借其强大的功能,能对实际电子电路进行仿凭借其强大的功能,能对实际电子电路进行仿真分析,可极大地提高产品的可靠性,缩短设真分析,可极大地提高产品的可靠性,缩短设计周期,节省设计费用,已成为最流行的计周期,节省设计费用,已成为最流行的EDA EDA 工具。工具。ProtelProtel 随着时代的发展新的版本不断涌随着时代的发展新的版本不断涌现,现,ProtelProtel 99SE 99SE 是其第是其第6 6 代产品,其主要的代产品,其主要的功能模块,包括电路原
7、理图设计、印制电路板功能模块,包括电路原理图设计、印制电路板设计、可编程逻辑器件设计、电路图模拟设计、可编程逻辑器件设计、电路图模拟/仿真仿真等。等。(1)电路原理图设计的步骤n n设置原理图设计环境n n放置元件 n n原理图布线 n n编辑和调整 n n检查原理图 n n生成网络表 单片机最小系统(2)印刷电路板设计的步骤 n n规划电路板 n n设置参数 n n装入网络表 n n元器件布局 n n自动布线 n n手工调整 2、Proteus软件n nProteus是英国Labcenter公司开发的电路分析与实物仿真软件。它可以仿真、分析(SPICE)各种模拟器件和集成电路,其最大的特点是
8、可以支持许多型号的单片机仿真,该软件的单片机仿真库里有51系列、PIC系列、AVR系列、摩托罗拉的68MH1l系列等,另外还提供了SCH(原理图)与PCB(印制板)设计功能,我们可以用该软件模拟通过后再制作印制板。822 单片机程序开发工具Keil软件n n德国德国KeilKeil Software Software公司针对公司针对5151系列单片机推出系列单片机推出了基于了基于3232位位WindowsWindows环境、以环境、以5l5l系列单片机为开系列单片机为开发目标、高效率的发目标、高效率的C C语言集成为基础开发平台的语言集成为基础开发平台的KeilKeil Vision2 IDE
9、 Vision2 IDE,即通常所说的。,即通常所说的。Vision2Vision2是一个功能强大的单片机集成开发平台,主要包是一个功能强大的单片机集成开发平台,主要包括:括:C51C51交叉编译器、交叉编译器、A51A51宏汇编器、宏汇编器、BL51BL51连接连接重定位器、重定位器、LIB51LIB51库管理器、库管理器、OH51 Intel OH51 Intel HEXHEX格式文件转换器、格式文件转换器、RTXRTX一一5 15 1实时操作系统以实时操作系统以及单片机软件仿真器及单片机软件仿真器DseopeDseope 51 51。Vision2 IDEVision2 IDE将项目管理
10、、源代码编辑、程序调试等集成到一将项目管理、源代码编辑、程序调试等集成到一个功能强大的个功能强大的windows 32windows 32平台中。平台中。(1)单片机的硬件和软件仿真n n仿真有两种方式:1、通过硬件仿真器与试验样机联机进行的“实时”在线仿真。2、在微机上通过软件进行的模拟仿真。n n“实时”在线仿真的优点是可以利用仿真器的软、硬件完全模拟样机的工作状态,使试验样机在真实的工作环境中运行,可以随时观察运行结果和解决问题,缺点是价格较高。n n软件模拟仿真的方式简单易行,它是在PC机上通过运行仿真软件来创造一个模拟目标单片机的模拟环境,不需单独购买硬件仿真器。(2)单片机在kei
11、l c51集成开发环境下的软件模拟仿真n nKEIL公司的 内嵌的软件模拟仿真器可以仿真ATMEL公司的89C(S)51、89C(S)52、89C58和华邦公司的W78E51、78E52以及PHILIPS公司的绝大多数标准51内核的单片机。除了可以模拟单片机的IO口、定时器、中断外,甚至可以仿真单片机的串行通信。进行软件仿真的一般过程n n仿真参数设置仿真参数设置 :选择菜单选择菜单ProjeetProjeet(工程工程)OptionforTargetSimulatorOptionforTargetSimulator(目标属性选择目标属性选择)n n程序的编译和修改程序的编译和修改 :proj
12、ect project build build tagettaget 完成程序编译完成程序编译 n n软件仿真时的单片机内部参数及其状态查看程序软件仿真时的单片机内部参数及其状态查看程序文件的模拟仿真:文件的模拟仿真:源文件编译通过后,选择源文件编译通过后,选择Debug(Debug(调试调试)菜单中的菜单中的开始开始(Start)(Start),停止,停止(StopDebugStopDebug)项,便可进入模项,便可进入模拟仿真状态拟仿真状态 83 单片机应用系统设计开发实践单片机应用系统设计开发实践n n实例实例1 单片机流水灯设计单片机流水灯设计n n1系统硬件设计系统硬件设计 单片机采
13、用AT89C51,P1口作LED发光管输出控制用,P3.0P3.2为闪烁方式控制开关K1、K2、K3按键接口,P33口的按键作备用,限流电阻为310,发光管工作电流约为10 mA,采用12MHz晶振。如下图所示。2系统主要程序的设计n n(1)主程序 通过扫描通过扫描P3.0P3.2P3.0P3.2口,判断是否有按键按下,口,判断是否有按键按下,然后在然后在20H20H内存单元的低内存单元的低3 3位的对应位置位的对应位置l l标志,标志,确定应执行的闪烁功能。确定应执行的闪烁功能。当当20H20H0 0为为1 1时,发光管轮流点亮;当时,发光管轮流点亮;当20H20H1 1为为1 1时,发光
14、管逐点点亮;当时,发光管逐点点亮;当20H20H2 2为为1 1时,发时,发光管间隔闪亮。在主程序对光管间隔闪亮。在主程序对20H20H的低的低3 3位进行使值位进行使值判定后,转入相应的闪烁控制程序。上电初始化判定后,转入相应的闪烁控制程序。上电初始化时,对时,对20H20H的最低位置的最低位置1 1,系统进入轮流点亮方式。,系统进入轮流点亮方式。n n(2)键扫描子程序 因按键较少,采用直接端口扫描键开关,用软件延时因按键较少,采用直接端口扫描键开关,用软件延时去抖动确认后,对去抖动确认后,对20H20H内存单元相应的位置内存单元相应的位置1 1,并把其余,并把其余位清零。位清零。n n(
15、3)闪烁控制程序 闪烁控制程序用来控制闪烁控制程序用来控制P1P1口的发光管发光变化方式,其口的发光管发光变化方式,其中:中:执行功能程序执行功能程序0(FUN0)0(FUN0)时的时的P1P1口输出值变化为口输出值变化为1111111011111110一延时一延时111111101111111101一延时一一延时一1111101111111011一一延时一延时一1111011111110111一延时一延时111101111111101111一延时一延时111011111111011111一延时一一延时一l0111111l0111111一延时一一延时一0111111101111111延延时结束
16、转主程序。时结束转主程序。执行功能程序执行功能程序1(FUN1)1(FUN1)时的时的P1P1口输出口输出1111111011111110一延时一一延时一1111110011111100延时延时111111000111111000一延时一一延时一1111000011110000一延时一一延时一1110000011100000延时结束转主程序。延时结束转主程序。执行功能程序执行功能程序2(FUN2)2(FUN2)时的时的P1P1口输出变化为口输出变化为101010101101010101延时延时0101010101010101延时结束延时结束转主程序。转主程序。n n(4)延时子程序 延时子程序
17、有延时子程序有10m s10m s和和0.5s0.5s两个用作键两个用作键扫描消抖及发光管闪烁延时。发光管闪烁的快慢扫描消抖及发光管闪烁延时。发光管闪烁的快慢可由可由R4R4寄存器内的初值进行改变。寄存器内的初值进行改变。主程序流程图实例实例2 单片机电子时钟的设计单片机电子时钟的设计n n单片机电子时钟可实现24h计时方式,时、分、秒用六位数码管显示的功能。该电路采用AT89C52单片机,使用9V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。1时钟电路硬件的设计n n采用AT89C52单片机最小系统应用设计,LED显示采用动态扫描方式实现,Pl口输出
18、段码数据,P3.0P3.5口作扫描输出,P3.7接按钮开关。为了提供LED数码管的驱动电流,用三极管9012作电源驱动输出。为了提高秒计时的精确性,采用12MHz晶振。原理图如下。2系统主要程序的设计n n(1)主程序 本设计中的计时采用定时器本设计中的计时采用定时器T0T0中断完成,其余状态循环中断完成,其余状态循环调用显示子程序,当调用显示子程序,当P3P37 7端口开关按下时,转入调时功端口开关按下时,转入调时功能程序。如能程序。如下图下图所示。所示。n n(2)显示子程序 数码管显示的数据存放么内存单元数码管显示的数据存放么内存单元70H70H一一75H75H中,其中中,其中70H70
19、H一一71H71H存放秒数据,存放秒数据,72H72H一一73H73H存放分数据,存放分数据,74H74H一一75H75H存放时数据,每一地址单元内均为十进制存放时数据,每一地址单元内均为十进制BCDBCD码。由码。由于采用软件动态扫描实现数据显示功能,显示用十进制于采用软件动态扫描实现数据显示功能,显示用十进制BCDBCD码数据的对应段码存放在码数据的对应段码存放在ROMROM表中。显示时,先取表中。显示时,先取出出70H70H一一75H75H某一地址中的数据,然后查得对应的显示用某一地址中的数据,然后查得对应的显示用段码从段码从P1P1口输出。口输出。P3P3口将对应的数码管选中,就能显示
20、口将对应的数码管选中,就能显示该地址单元的数据值。该地址单元的数据值。n n(3)定时器T0中断服务程序 定时器定时器T0T0用于时间计时。定时溢出中断周期设用于时间计时。定时溢出中断周期设为为50 ms50 ms,中断累计,中断累计2020次次(即即1s)1s)时对秒计数单元时对秒计数单元进行加进行加1 1操作。时间计数单元地址分别在操作。时间计数单元地址分别在70H70H一一71H(s)71H(s)、76H76H一一77H(min)77H(min)、78H78H一一79H(h)79H(h),7AH7AH单元内存放单元内存放“熄灭符熄灭符”数据数据(#0AH)(#0AH)。在计数。在计数单元
21、中采用十进制单元中采用十进制BCDBCD码计数,满码计数,满6060进位。进位。T0T0中中断服务程序流程图如断服务程序流程图如下图下图所示。所示。n n(4)T1中断服务程序 T1T1中断服务程序用于指示调整单元数字的亮闪。中断服务程序用于指示调整单元数字的亮闪。在时间调整状态下,每过在时间调整状态下,每过0.3s0.3s,将对应单元的显,将对应单元的显示数据换成示数据换成“熄灭符熄灭符”数据数据(#0AH)(#0AH)。这样,在调。这样,在调整时间时,对应调整单元的显示数据就会间隔闪整时间时,对应调整单元的显示数据就会间隔闪亮。亮。n n(5)调时功能程序 调时功能程序的设计方法是:按下按
22、键,若按下调时功能程序的设计方法是:按下按键,若按下时间小于时间小于l sl s,进入省电状态,进入省电状态(数码管不亮,时钟不数码管不亮,时钟不停停),否则进入调分状态,等待操作此时计时器,否则进入调分状态,等待操作此时计时器停止走动。当再次按下按钮时,若按下时间小于停止走动。当再次按下按钮时,若按下时间小于0.5s0.5s,则时间加,则时间加1min1min;若按下时间大于;若按下时间大于0.5s0.5s,则进入小时调整状态。在小时调整状态下,当按则进入小时调整状态。在小时调整状态下,当按键按下的时间大于键按下的时间大于0.5s0.5s时退出调整状态,时钟继时退出调整状态,时钟继续走动。续
23、走动。实例实例3 多路模拟信号数据采集系统多路模拟信号数据采集系统设计设计n n采用单片机AT89C52为核心的多路模拟信号数据采集系统可自动轮流采集显示8路输入模拟信号05V的数值,最小分辨率为0.02V,最大显示数值为255(输入为5v时),可作为数字电压表用。1系统硬件电路的设计n n8 8路输入模拟信号路输入模拟信号AD1AD1AD8AD8由由A/DA/D转换电路、单片机最转换电路、单片机最小系统及小系统及4 4位位LEDLED显示等组成。显示等组成。A ADD转换由转换由A/DA/D转换芯片转换芯片ADC0809ADC0809完成。完成。ADC0809ADC0809具有具有8 8路模
24、拟输入端口,选端路模拟输入端口,选端口地址线口地址线(23(232525脚脚CBA)CBA)接单片机的接单片机的P2.0/P2.1/P2.2P2.0/P2.1/P2.2,三者组合可决定对哪一路模拟输入作三者组合可决定对哪一路模拟输入作A ADD转换。第转换。第2222脚脚ALEALE为地址锁存控制,当输入为高电平时对地址信号进为地址锁存控制,当输入为高电平时对地址信号进行锁存接单片机行锁存接单片机P2.3P2.3;6 6脚脚STRATSTRAT为为ADAD启动控制,当输启动控制,当输入一个入一个2s2s宽高电平脉冲时,就开始宽高电平脉冲时,就开始A ADD转换接转换接P2.4P2.4;7 7脚
25、脚EOCEOC为为A ADD转换结束标志,当转换结束标志,当A ADD转换结束时,转换结束时,7 7脚脚输出高电平接输出高电平接P3.7P3.7;9 9脚脚OEOE为为A ADD转换数据输出允许控转换数据输出允许控制,当制,当OEOE脚为高电平时,脚为高电平时,A ADD转换数据从端口输出接转换数据从端口输出接P2.5P2.5;1010脚脚CLKCLK为为ADC0809ADC0809的时钟输入端,利用单片机的时钟输入端,利用单片机3030脚脚ALEALE的六分频晶振信号再通过的六分频晶振信号再通过1402414024二分频得到。二分频得到。单片机的单片机的P1P1、P3P3端口作四位端口作四位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 系统 开发 实例 课件
限制150内