C51单片机一看就会的精品课件.ppt

上传人:牧羊曲112 文档编号:5417006 上传时间:2023-07-05 格式:PPT 页数:77 大小:477.50KB
返回 下载 相关 举报
C51单片机一看就会的精品课件.ppt_第1页
第1页 / 共77页
C51单片机一看就会的精品课件.ppt_第2页
第2页 / 共77页
C51单片机一看就会的精品课件.ppt_第3页
第3页 / 共77页
C51单片机一看就会的精品课件.ppt_第4页
第4页 / 共77页
C51单片机一看就会的精品课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《C51单片机一看就会的精品课件.ppt》由会员分享,可在线阅读,更多相关《C51单片机一看就会的精品课件.ppt(77页珍藏版)》请在三一办公上搜索。

1、第10章 单片机系统开发,教学目标10.1 单片机系统设计步骤10.2 单片机应用系统开发工具10.3 单片机开发系统应用实例10.4 课程设计本章小结思考题与习题,1.了解单片机应用系统设计的过程和要求;知道单片机应用系统硬件设计的内容和要求;知道单片机应用系统软件设计的步骤和要求;理解软件设计与硬件设计的关系。2.了解单片机开发工具的主要作用;了解单片机开发系统的分类;知道单片机开发系统的功能;理解单片机应用系统软、硬件调试的方法。,教学目标,3.理解单片机应用系统设计实例:数码管数字时钟电路的设计、数字式音乐盒设计设计步骤、设计方案、硬件设计、软件设计等知识。举一反三,具备简单常用单片机

2、系统的设计开发能力。,10.1 单片机系统设计步骤,一个完备的单片机应用系统包括硬件和软件两大部分,硬件是躯体,软件是灵魂。只有系统的软、硬件紧密配合、协调一致才能发挥其高性能作用。在单片机应用系统的开发过程中,涉及多种开发技术和工具,需要反复修改调整软、硬件,以便尽可能提高系统的工作效率。单片机应用系统的功能不同,其硬件和软件结构也不相同,但研制、开发的方法和步骤基本一致。,10.1.1 总体设计,1.可行性调研 可行性调研的目的,是分析完成该项目的可能性。进行这方面的工作,可参考国内外有关资料,看是否有人进行过类似的工作。如果有,则可分析他人是如何进行的,有什么优缺点,有何值得借鉴的地方;

3、如果没有,则需作进一步的研究,此时的重点应放在能否实现目标这个环节,首先从理论上进行分析,探讨实现的可能性,所,要求的客观条件是否具备(环境、测试手段、仪器设备、资金、人员等),然后结合实际情况,确定能否立项的问题。,2.拟制设计任务书 设计者首先应对系统的任务、控制对象、工作环境作周密的调查研究,必要时还要勘察工业现场,明确系统的各项指标。进而编写设计任务书,整个系统的设计开发都要围绕着如何达到技术指标来进行。,3.建立数学模型 设计任务书拟定后,接下来应对被控对象的物理过程和计算任务进行全面分析,并从中抽象出数学表达式,即建立数学模型。数学模型的形式是多种多样的,可以是一系列的数学表达式,

4、可以是数学推理和判断,也可以是运行状态的模拟等。数学模型要能真实描述客观控制过程,要精确而简单。,4.总体方案设计,在上述基础上,对系统各部分构成进行总体规划。主要考虑以下几个问题:系统组成:根据系统功能,确定系统主要由哪些功能模块构成:如键盘、显示、输入/输出通道、通信等。单片机选型:根据系统的精度和速度要求合理选择单片机机型。可以综合考虑单片机的实用性、性价比、开发工具和研发人员的熟悉程,等方面因素。软硬件功能分配:确定哪些功能由硬件实现,哪些功能由软件完成。在不影响系统技术指标的前提下,提倡尽量用软件实现。,10.1.2 硬件设计,根据总体方案画出硬件电路原理图,然后在单片机开发仪或实验

5、板上搭出电路,并且在调试和运行软件中随时加以修改和补充,最后制作印制电路板并装成样机。,为使硬件设计合理,系统的电路设计应注意以下几个方面:尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。,尽量选用功能强、集成度高的电路或芯片。选择通用性强、市场货源充足的元器件。系统扩展及各功能模块在设计满足应用系统功能要求基础上,应适当留有余地。尽量采用新技术。充分考虑各部分的驱动能力。系统的抗干扰设计。,10.1.3 软件设计,在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合。当系统硬件电路确定后,软件的任务也就明确了。系统中的应用软件是根据系统功能要求设计的。一般地

6、讲,软件的功能可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系,统软件中充当组织调度角色。由于应用系统种类繁多,程序编制者风格不一,因此应用软件因系统而异。尽管如此,作为优秀的系统软件还是有其共同点及规律的。,1.程序的总体设计 程序总体设计是指从系统的高度考虑程序结构、数据形式和程序功能的实现方法和手段。,在拟定总体设计方案时,设计者必须合理选择切合实际的程序设计方法。常用的程序设计方法有三种:,模块化程序设计:把一个复杂的应用程序按整体功能划分成若干相对独立的程序模块,各模块可以单

7、独设计、编程、调试,然后装配起来联调,最终成为一个有实用价值的程序。,结构化程序设计:在编程过程中,对程序结构进行适当限制,特别是限制转移指令的使用,用于控制程序的复杂程序,使程序上下文与执行流程保持一致。这是一种比较理想的程序设计方法。,自顶向下程序设计:从系统一级的主干程序开始,集中精力解决全局问题,然后层层细化逐步求精,最终完成一个复杂的程序。,2.画程序流程图 不论采用哪种设计方法,程序总体结构确定后,应结合数学模型确立各子任务的具体算法和步骤,画出流程图,以方便程序编写。,3.程序的编制 在开始编写程序之前,应先对程序地址空间的分配、工作寄存器的安排、数据结构、端口地址等进行分配。然

8、后再根据程序流程图用汇编语言或其他高级语言编写程序。,4.程序的检查和修改 上机调试前,可借助一定的编译软件对程序中的语法错误查找出来并修改。,10.1.4 系统的调试与运行,调试包括硬件调试、软件调试和系统联调。调试通过后还要进行一段时间的试运行,以验证系统能否经受实际环境的考验。经过一段时间的试运行就可投入正式运行,在正式运行中还要建立一套健全的维护制度,以确保系统的正常工作。,10.2 单片机应用系统开发工具,1.单片机开发系统的功能 在线仿真功能;系统调试功能;软件辅助设计功能;程序固化功能。,2.开发系统的类型 通用型单片机开发系统;实用型开发系统;通用机开发系统;模拟开发系统。,1

9、0.3.1 数码管数字时钟电路的设计,1.设计要求(1)以AT89C51单片机为核心器件,构成一个数字式电子时钟。(2)用6位数码管分别显示时、分、秒,采用24小时计时方式。(3)时钟具有显示时间、调整时间、省电状态(数码管不亮,时钟不停)三种功能。,10.3 单片机开发系统应用实例,2.总体设计(1)6位数码管采用动态显示方式,段选线用P1口控制,位选线用P2口低6位控制。(2)功能键由P2.7引入。(3)为节省硬件,采用定时计数器产生时间基准。,3.硬件设计 根据总体设计,硬件电路框图如图10.1所示。,硬件电路由4部分组成:单片机、时钟与复位电路、LED显示及驱动电路、按键输入电路。电路

10、原理图如下:,4.软件设计,片内RAM 50H55H作为显示缓冲区,共6个单元分别存放秒、分、时的BCD码个位在低地址单元,十位在高地址单元。时钟的基本单位为秒,定时器T0定时50ms,定时20次即为1S。秒、分逢60进位,时逢24回零。按键具有以下功能:当按下时间小于1S,进入省电状态(时钟继续运行,但不显示);按下时间大于1S,进入调分状态,时钟停止,等待继,续按键,若再次按键时间小于0.5S,分加1;若大于0.5S,进入小时调整状态。在小时调整状态下,按键时间小于0.5S,时加1,若大于0.5S,退出时钟调整,时钟按新设置的时间运行。在时钟调整状态下,当前被调整的时间每0.3S闪烁显示,

11、定时器T1定时闪烁时间间隔0.3S。,(1)主程序设计 主程序流程图如下:,图10.3 主程序流程图,主程序如下:ORG 0000H AJMP MAINT ORG 000BH AJMP INT01 ORG 001BH AJMP INT11 MAINT:MOV R0,#7FH CLR A WZ1:MOV R0,A DJNZ R0,WZ1,MOV SP,#30H MOV 5AH,#0AH MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH SETB EA SETB ET0 SETB TR0 MOV R4,#14H,

12、MAINT1:LCALL XZCX JNB P2.7,SJTZ0 SJMP MAINT1 SJTZ0:LCALL XSZCX JNB P2.7,SJTZ1 SJMP MAINT1 SJTZ1:CLR ET0 CLR TR0 LCALL YS1S JB P2.7,KMTES MOV R2,#06H,SETB ET1 SETB TR1 XYZ2:JNB P2.7,XYZ1 CLR 01H XYZ4:JB P2.7,XYZ3 LCALL YS05S JNB P2.7,XYZHH MOV R0,#53H LCALL ADD1 MOV A,R3 CLR C,CJNE A,#60H,QWE QWE:JC

13、XYZ4 CLR A MOV R0,A DEC R0 MOV R0,A CLR C AJMP XYZ4 KMTES:SETB ET0 SETB TR0 KMA:JB P2.7,$,LCALL XSZCX JB P2.7,KMA KMA1:JNB P2.7,$LJMP MAINT1XYZHH:JNB P2.7,XYZ5 SETB 01H XYZ6:JB P2.7,XYZ7 LCALL YS05S JNB P2.7,XYZOUT MOV R0,#55H LCALL ADD1,MVO A,R3 CLR C CJNE A,#24H,KMB1 KMB1:JC XYZ6 CLR A MOV R0,A DE

14、C R0 MOV R0,A AJMP XYZ6XYZOUT:JNB P2.7,XYZOUT1 LCALL XSZCX,JNB P2.7,XYZOUT MOV 20H,#00H MOV 56H,52H MOV 57H,53H MOV 58H,54H MOV 59H,55H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP MAINT1,XYZ1:LCALL XSZCX AJMP XYZ2 XYZ3:LCALL XSZCX AJMP XYZ4 XYZ5:LCALL XSZCX AJMP XYZHH XYZ7:LCALL XSZCX AJMP XYZ6 XYZOUT1:L

15、CALL XSZCX AJMP XYZOUT,(2)显示子程序设计XSZCX:MOV R1,#50H MOV R5,#0FEH MAXY:MOV A,R5 MOV P2,A MOV A,R1 MOV DPTR,#ABC MOVC A,A+DPTR MOV P1,A LCALL YS1MS INC R1,MOV A,R5 JNB ACC.5,ENDOUT RL A MOV R5,A AJMP MAXYENDOUT:MOV P2,#0FFH MOV P1,#0FFH RET,(3)T0中断服务程序设计INT01:PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A,#0B

16、7H ADD A,TL0 MOV TL0,A MOV A,#3CH ADDC A,TH0 MOV TH0,A,SETB TR0 DJNZ R4,INT0U AD1:MOV R4,#14H MOV R0,#51H LCALL ADD1 MOV A,R3 CLR C CJNE A,#60H,AD2 AD2:JC INT0U CLR A MOV R0,A,DEC R0 MOV R0,A MOV R0,#57H ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,AD3AD3:JC INT0U CLR A MOV R0,A DEC R0,MOV R0,A MOV R0,#59H

17、 ACALL ADD1 MOV A,R3 CLR C CJNE A,#24H,AD4AD4:JC INT0U CLR A MOV R0,A DEC R0 MOV R0,A,INT0U:MOV 52H,56H MOV 53H,57H MOV 54H,58H MOV 55H,59H POP PSW POP ACC SETB ET0 RETI,(4)T1中断服务程序设计INT11:PUSH ACC PUSH PSW MOV TL1,#0B0H MOV TH1,#3CH DJNZ R2,INT1U MOV R2,#06H CPL 02H JB 02H,CCC1 MOV 52H,56H MOV 53H,

18、57H,MOV 54H,58H MOV 55H,59HINT1U:POP PSW POP ACC RETI CCC1:JB 01H,CCC2 MOV 52H,5AH MOV 53H,5AH MOV 54H,58H MOV 55H,59H AJMP INT1U,CCC2:MOV 52H,56H MOV 53H,57H MOV 54H,5AH MOV 55H,5AH AJMP INT1U,(5)加1子程序ADD1:MOV A,R0 DEC R0 SWAP A ORL A,R0,ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0

19、SWAP A ANL A,#0FH MOV R0,A RET,(6)延时子程序YS1MS:MOV R6,#14H YS1:MOV R7,#19H YS2:DJNZ R7,YS2 DJNZ R6,YS1 RET YS1S:LCALL YS05S LCALL YS05S RET,YS05S:MOV R3,#51HYS05S1:LCALL XSZCX DJNZ R3,YS05S1 RETABC:DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H,82H,0F8H DB 80H,90H,0FFH END,点击观看仿真演示,10.3.2 数字式音乐盒设计,本节以一个音乐盒为例,通过设计一

20、个音乐盒,了解用单片机产生音频的方法及音乐程序的设计。音乐盒的音符范围:C调低音1高音7,内部存储一首歌曲,循环播放。,1.基本乐理知识 在音乐中使用的各个固定频率的音叫音级,常用符号C、D、E、F、G、A、B表示。两音之间音高的距离叫音程。表12-1列出C调高、中、低音对应的频率值。乐曲即是由不同的音符组成的,而每个音符都有其特定的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。音符频率,的产生可以使用定时计数器产生,T0工作于定时方式1,晶振为12MHz。则T0定时时间为某音符周期的1/2,定时时间到则将输出取反,就可以得到固定频率的方波信号。低音1:频率=262,定

21、时时间=T/2=1/2*262(S)T0初值=65536-1000000/52463628。低音2:频率=294,定时时间=T/2=1/2*294(S)T0初值=65536-1000000/58863835。,2.总体设计 选择AT89C2051单片机,通过T0的定时中断,配合P3.0引脚输出音频频率。P3.0引脚输出,经音频放大后接扬声器。系统组成框图如图10.4所示。,音符持续时间的长短即时值,一般用拍数表示。1/8拍=0.05s,1/4拍=0.1s,以此类推,1拍就是0.4S。节拍的产生,可以用定时器T1或延时方法产生,以1/8拍为基准。若某个音符节拍为1/4拍,则延时两次即可。,3.硬

22、件设计 电路原理图如下:,4.软件设计 为了产生音频信号,需先对音符进行编码。在程序中安排一张定时初值表,程序通过音符编码查表得到对应的定时初值。编码如下表所示。,以1/8拍为延时单位,对节拍也进行编码如下。,有了上述两张编码表,任何一首乐曲都可以用其编码来表示。例如:生日快乐歌曲谱如下:C 1=3/4,对此进行编码,音符编码在前,节拍编码在后,得曲谱简码表如下:SONG:DB 0CH,04H,00H,02H,0CH,02H,0DH,08HDB 0CH,08H,0FH,08H,0EH,08H,00H,08H,0CHDB 04H,00H,02H,0CH,02H,0DH,08H,0CH,08HDB

23、 10H,08H,0FH,08H,00H,08H,0CH,04H,00HDB 02H,0CH,02H,13H,08H,11H,08H,0FH,08HDB 0EH,08H,0DH,08H,12H,04H,00H,02H,12HDB 02H,11H,08H,0FH,08H,10H,08H,0FH,08HDB 00H,08H,0FFH;结束符,(1)主程序框图,(2)T0中断服务程序框图,图10.6 主程序与中断服务程序框图,程序清单:,ORG 0000H LJMP MUSIC ORG 000BH LJMP SERT0 ORG 0030HMUSIC:MOV TMOD,#01H;T0定时方式1 SET

24、B EA SETB ET0;开T0中断 SETB P3.0;不发音,STA:MOV 30H,#00H;简码指针清0NEXT:MOV DPTR,#SONG;DPTR指向简码表首址 MOV A,30H;简码指针送A INC 30H;指针加1,指向节拍码 MOVC A,A+DPTR;取简码 MOV R2,A;暂存简码 CPL A JNZ NEXT1;简码结束否?CLR TR0;T0停止 SJMP STA,NEXT1:MOV A,R2;简码送A JNZ SING;是发音符,转SING CLR TR0;不发音 SJMP D1;转节拍控制 SING:DEC A;根据音符码取定时初值 RL A MOV 22

25、H,A MOV DPTR,#STAB MOVC A,A+DPTR MOV TH0,A;送高字节定时初值,MOV 21H,A;保存至21H MOV A,22H INC A MOVC A,A+DPTR MOV TL0,A;送低字节定时初值 MOV 20H,A;保存 SETB ET0;开T0中断 SETB TR0;启动T0 D1:MOV A,30H;简码指针送A INC 30H;简码指针加1,指向下一简码 MOV DPTR,#SONG,MOVC A,A+DPTR;取节拍码 MOV R5,A;节拍码送R5 LCALL DELAY;调节拍控制 CLR TR0;节拍到,停止T0 SJMP NEXT;转下一

26、简码发音控制;节拍控制子程序DELAY:MOV R3,#100 D2:MOV R4,#250 D3:DJNZ R4,D3 DJNZ R3,D2 DJNZ R5,DELAY;节拍数到否?RET,;T0中断服务程序SERT0:CLR TR0;停止T0 MOV TL0,20H;重装初值 MOV TH0,21H CPL P3.0;音频信号取反 SETB TR0;启动T0 RETI;中断返回,;祝你生日快乐歌简码表SONG:DB 0CH,04H,00H,02H,0DH,08H,0CH,08H DB 0FH,08H,0EH,08H,00H,08H,0CH,04H,00H DB 02H,0CH,02H,0D

27、H,08H,0CH,08H,10H,08H DB 0FH,08H,00H,08H,0CH,04H,00H,02H,0CH DB 02H,13H,08H,11H,08H,0FH,08H,0EH,08H DB 0DH,08H,12H,04H,00H,02H,12H,02H,11H DB 08H,0FH,08H,10H,08H,0FH,08H,00H,08H DB 0FFH;结束符,;音符定时初值表STAB:DW 63628,63835,64021,64103,64260,64400 DW 64524,64580,64684,64777,64820,64898 DW 64968,65030,6505

28、8,65110,65157,65178 DW 65217,65252,65283 END,点击观看仿真演示,10.4 课程设计,1.实训名称:数字式电子闹钟设计 电子时钟是我们日常生活中经常使用的计时工具,本次设计即要求我们利用AT89C51单片机及相应外围电路设计制作一个实用的数字式电子时钟。,2.设计要求(1)以AT89C51单片机为核心器件,构成一个电子时钟。(2)系统显示器由4位LED数码管组成,显示当前时间的小时和分。(3)具有时间调整和闹钟设置两种功能。通过两个按键,可以对当前时间的时和分进行调整,调整后,按新的时间运行;也可以设定一个闹钟时间,当时间到,即发出声音信号提醒。,3.

29、硬件电路原理图,每3人为一设计小组,每小组分别完成从总体方案设计、硬件设计、软件设计到电子制作等全部工作。,本章小结,1.单片机应用系统的设计一般可分为总体设计、硬件设计、软件设计和抗干扰设计。,2.单片机应用系统的开发工具主要作用是:对系统硬件电路进行诊断、检查;输入和修改应用程序;调试程序、单步运行、设置断点运行程序,查询各寄存器状态。将用户程序固化到ROM中去。单片机应用系统的调试可分为硬件调试和软件调试。,3.单片机开发系统应用实例:数码管数字时钟电路的设计、数字式音乐盒设计。,10.1 在单片机系统设计中,硬件和软件的设计一般包括哪些内容?10.2 在硬件设计中如何提高系统的可靠性?10.3 单片机开发系统都有哪些功能?10.4 设计一个节日彩灯循环闪烁的应用系统。,思考题与习题,10.5 对于图10.6所示的电路,若要求在此基础上增加显示年、月、日的功能,应如何设计?10.6 设计一个交通灯控制系统,此系统要求具有显示秒倒计时功能,每当还差10s应换指示灯时,该指示灯变为闪烁点亮。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号