1、2022-12-17MCS-51单片机原理与应用1本章导读本章导读本章以AT89C2051单片机控制的单灯闪烁实验为例,来阐述集编辑、编译、连接、调试、仿真于一体的著名51工具软件Keil Vision3的设置和使用,让读者一开始就初步掌握单片机开发过程,在动手中迅速入门,建立起单片机软硬件控制的整体概念。第第2章章 单片机开发快速入门单片机开发快速入门2022-12-17MCS-51单片机原理与应用2用AT89C2051单片机控制一个LED灯的亮与灭。2.1.1 AT89C2051引脚功能引脚功能AT89C2051是Atmel公司生产的一种低功耗、高性能CMOS八位单片机,20个引脚的双列直
2、式芯片,其实物外形如图2.1(a)所示。单片机的基本功能部件都集成在这个小小的芯片中,AT89C2051是40个引脚AT89C51的简化版,电气特性都与AT89C51基本一样,2.1 初识单片机初识单片机 12022-12-17MCS-51单片机原理与应用3只是FEPROM容量减少到2KB,I/O口线,减少到15个。AT89C2051是PDIP封装,引脚排列如图2.1(b)。对比上面两个图,容易看出引脚的排列规律。引脚功能说明:(1)VCC:电源输入,12MHz下电压范围为2.7V6.0V。(2)GND:接地端。(3)RST:复位输入。晶振工作时,RST引脚持续保持2个机器周期高电平将使单片机
3、复位。(4)XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。(5)XTAL2:振荡器反相放大器的输出端。(6)P1.0P1.7,P3.0P3.5、P3.7共15个I/O引脚。引脚的第二功能,在图2.1(b)中是用括号括起来的。2.1 初识单片机初识单片机 22022-12-17MCS-51单片机原理与应用41.单灯闪烁的硬件线路单灯闪烁的硬件线路AT89C2051控制单灯闪烁的完整电路如下图2.2所示,只需一个引脚P1.0控制LED灯的亮与灭。在图2.2中,电源电压是5V,即第20脚VCC接正极,第10脚2.1.2 AT89C2051控制的单灯闪烁控制的单灯闪烁 12022-12-17
4、MCS-51单片机原理与应用5GND接负极。单片机振荡电路:在4脚和5脚间接12MHz晶振T1,T1两端分别接两只20pF小电容到地,以保证振荡器稳定。C3和R2组成了高电平复位电路。P1.0引脚与LED阴极相连,采用了P1.0低电平直接驱动LED电路。当P1.0为高电平时,LED没有正向偏压而不会点亮;只有当P1.0为低电平时,LED因正向偏置而点亮。R1是LED的限流电阻,流过LED的电流I可以用以下公式估算:I=(5V-VD)/R1,其中VD是LED的导通压降,在1.51.8V之间。2.单灯闪烁的汇编源程序单灯闪烁的汇编源程序控制要求:单灯闪烁间隔为0.1s。P1.0置1:SETBP1.
5、0,并延时0.1s使LED熄灭。P1.0清0:CLR P1.0,延时0.1s使LED点亮。2.1.2 AT89C2051控制的单灯闪烁控制的单灯闪烁 22022-12-17MCS-51单片机原理与应用6ORG 0000HLJMP STARTORG 0030HSTART:CLR P1.0;使P1.0=0,LED点亮ACALL DELAY;调用0.1秒延时子程序,等待0.1秒SETB P1.0;使P1.0=1,LED熄灭ACALL DELAY;调用0.1秒延时子程序,等待0.1秒LJMP START;返回到标号START处再循环DELAY:MOV R0,#255;延时子程序,延时0.1秒D1:MO
6、V R1,#195DJNZ R1,$DJNZ R0,D1RETEND START2.1.2 AT89C2051控制的单灯闪烁控制的单灯闪烁 32022-12-17MCS-51单片机原理与应用7汇编源程序需要在Keil Vision3软件中编辑、汇编,直到最后得到对应的十六进制代码的目的文件,然后用编程器将该文件写入到89C2051中。将固化好的芯片插入用户板的座子上,就可以进行本实验了。Keil Vision3是Keil C51(V8.02)工具包中的一个重要组件,Vision3是用于多种8051MCU的集成开发环境(IDE,Integrated Development Environment
7、),集编辑、编译、连接、调试、仿真于一体,支持汇编和C语言的程序设计。Vision3提供对多种最新的8051类MCU支持,其内嵌的仿真器不但可以对目标系统进行实时在线仿真,而且允许模拟仿真,从而对没有仿真器的用户带来了便利。2.2Keil Vision3软件的安装与界面软件的安装与界面2022-12-17MCS-51单片机原理与应用82.2.1 Keil Vision3软件的安装软件的安装 1 2022-12-17MCS-51单片机原理与应用92.2.1 Keil Vision3软件的安装软件的安装 2 2022-12-17MCS-51单片机原理与应用102.2.2 Keil Vision3
8、软件的界面软件的界面 12022-12-17MCS-51单片机原理与应用112.2.2 Keil Vision3 软件的界面软件的界面 22022-12-17MCS-51单片机原理与应用122.2.2 Keil Vision3 软件的界面软件的界面 3表2.1列出了几个常用按钮的功能,以及对应的快捷键和菜单命令,这些按钮以后会陆续用到的。2022-12-17MCS-51单片机原理与应用13以单灯闪烁程序说明Keil Vision3集成开发环境使用。2.3.1如何创建一个新工程如何创建一个新工程1.创建新工程创建新工程选择菜单命令:“工程工程_新建工程新建工程”,如图2.5所示。在弹出的如图2.
9、6所示“Create New Project”窗口中,选择工程文件存放的路径并输入文件名2.3Keil Vision3集成开发环境使用之一集成开发环境使用之一 12022-12-17MCS-51单片机原理与应用14oneled.Uv2,单击“保存”按钮。单灯闪烁工程文件就建立了,可以看到在工程区创建了缺省的目标target1和文件组Source Group1,如图2.7所示。若看不到此目录结构,可以单击工程区下部的File标签。2.3Keil Vision3集成开发环境使用之一集成开发环境使用之一 22022-12-17MCS-51单片机原理与应用15接着,会弹出如图2.8所示选择CPU厂家和
10、型号的对话框,应选择Atmel公司的89C2051,在窗口的右边栏中将同时显示所选的单片机的简要说明,然后单击“确定”按钮。2.选择选择CPU厂家和型号厂家和型号2022-12-17MCS-51单片机原理与应用163.复制启动代码到工程复制启动代码到工程这时会弹出如图2.9所示的对话框,对于大多数器件Vision3会询问是否将CPU的特殊启动代码拷贝到工程中。如果工程中需要使用这些启动代码,选择“是(Y)”;如果不使用Keil编写启动代码,或者是库工程文件以及附加工程文件,则选择“否(N)”。这里单击“否(N)”,工程创建完成。2.3Keil Vision3集成开发环境使用之一集成开发环境使用
11、之一 42022-12-17MCS-51单片机原理与应用171.创建新源文件创建新源文件选择菜单命令:“文件文件_新建新建”,在主工作区打开一个空源文件编辑窗。建议先保存该空白的文件,用菜单命令:“文件文件_另存为另存为”,在弹出的如图2.10所示“另存为”窗口中,输入文件名oneled.asm。注意,对于汇编对于汇编源程序源程序,其扩展名其扩展名asm也也必须输入必须输入;单击“保存保存”按钮,将此文件保存在同一工程文件夹中。新文件成功创建。2.3.2如何创建新源文件如何创建新源文件 12022-12-17MCS-51单片机原理与应用182.将源文件添加到工程将源文件添加到工程输入完源程序后
12、,移动鼠标到工程区,单击“Target 1”前面的“+”号,展开后在“Source Group 1”上单击鼠标右键,将弹出一个快捷菜单,屏幕如图2.11所示。2.3.2如何创建新源文件如何创建新源文件 22022-12-17MCS-51单片机原理与应用19在快捷菜单中选择并单击“Add File to Group Source Group 1”命令,在出现如图2.12所示“Add File to Group Source Group 1”窗中,选择要加入的文件oneled.asm,单击“Add”按钮,再单击“Close”按钮,关闭此窗口。2.3.2如何创建新源文件如何创建新源文件 32022-
13、12-17MCS-51单片机原理与应用20如果源文件已存在,同样可用此法把它添加到工程中。添加源程序文件后的Vision3窗口如图2.13所示。2.3.2如何创建新源文件如何创建新源文件 42022-12-17MCS-51单片机原理与应用212.4.1如何编译连接工程如何编译连接工程程序代码编写完成后需要编译连接生成目的代码,然后进行模拟仿真或硬件调试。选择菜单命令:“工程工程_创建目标创建目标”,就会对源文件进行编译、连接。如果有错误或警告产生,就会在输出区显示出错信息提示。用户可据此来纠错,直至把程序调试出来,成功的标志是在输出区显示:“0 Error(s),0 Warning(s).”,
14、同时也会显示系统资源占用情况,如图2.14所示。2.4Keil Vision3集成开发环境使用之二集成开发环境使用之二 12022-12-17MCS-51单片机原理与应用222.4Keil Vision3集成开发环境使用之二集成开发环境使用之二 22022-12-17MCS-51单片机原理与应用232.4.2如何调试运行程序如何调试运行程序 12022-12-17MCS-51单片机原理与应用242.单步运行方式单步运行方式以单步运行的方式来调试程序,可选择菜单命令:“调试调试_单步单步”,或用快捷键F10,系统进入运行时,源程序调试窗口如图2.16所示。这时出现一个指令指针PC,PC首先指向第
15、一条指令LJMP START,每按一次F10,系统就会执行一条指令,同时PC指向下一条指令。2.4.2如何调试运行程序如何调试运行程序 22022-12-17MCS-51单片机原理与应用25当PC指向指令CLRP1.0,且尚未按下F10时,观察到P1口调试窗的屏幕如图2.17(a),即P1.0输出高电平,模拟LED灯不亮。接着按下F10,P1.0清零的指令就会被执行,观察到P1口调试窗的屏幕变为如图2.17(b),即P1.0输出低电平,模拟LED灯亮。继续按F10,将执行调用延迟子程序ACALL DELAY。F10单步会穿越子程序的,这时PC指向指令SETB P1.0,当按下F10时,P1.0
16、置1的指令就会被执行,调试窗回到图2.17(a),模拟LED灯变暗。2.4.2如何调试运行程序如何调试运行程序 32022-12-17MCS-51单片机原理与应用262.4.2如何调试运行程序如何调试运行程序 42022-12-17MCS-51单片机原理与应用272.4.3如何产生十六进制文件如何产生十六进制文件 12022-12-17MCS-51单片机原理与应用28单中选择命令“Options for Target Target 1”,屏幕如图2.18所示。(3)出现如图2.19所示“Options for Target Target 1”选项设置窗口,单击“输出”标签,按如下步骤设置:在“
17、创建创建HEX文件文件”的复选项前打“”,这样编译后就能得到十六进制文件;单击“选择目标路径”按钮,选择目标输出的路径在同一个工程文件夹中;2.4.3如何产生十六进制文件如何产生十六进制文件 22022-12-17MCS-51单片机原理与应用29 在“执行文件名”栏中,可以设置编译生成的执行文件名,这里是oneled。设置好后,单击“确定”按钮。2.4.3如何产生十六进制文件如何产生十六进制文件 32022-12-17MCS-51单片机原理与应用30现在按前面介绍的方法,重新编译源文件,完成后注意观察输出窗口的编译信息,HEX文件已经创建到指定的路径中了,如图2.20所示。打开工程文件夹,会发
18、现多了一个oneled.hex文件。将此十六进制代码下载到通用编程器,并写入到89C2051。再将固化好的89C2051插入用户板的芯片座上,并给用户板加上电源的,就可看单灯闪烁实际效果了。2.4.3如何产生十六进制文件如何产生十六进制文件 42022-12-17MCS-51单片机原理与应用31有时会出现不能进行模拟仿真的对话框,如图2.22所示。这是因为编译器已经被设置在硬件仿真后引起的。用菜单命令:“工程工程_ Options for Target Target 1”,出现图2.19编译器设置窗口后,单击“调试调试”标签,在出现的如图2.22所示对话框中,选中“使用模拟仿真使用模拟仿真”单
19、选框,再单击“确定确定”按钮。这样就可以进行模拟仿真了。2.4.4如何进行模拟仿真的设置如何进行模拟仿真的设置 12022-12-17MCS-51单片机原理与应用322.5 如何用编程器写入芯片如何用编程器写入芯片2022-12-17MCS-51单片机原理与应用332.5 如何用编程器写入芯片如何用编程器写入芯片 22022-12-17MCS-51单片机原理与应用34图2.24所示“芯片选择”对话框,在“生产厂家”列表框中选择ATMEL,在“芯片型号”列表框中选择AT89C2051,单击“OK”按钮。(4)确认所选择的芯片正确无误后,将待编程的芯片按正确的方向放入20芯锁紧插座,推平锁紧扳手。
20、2.5 如何用编程器写入芯片如何用编程器写入芯片 32022-12-17MCS-51单片机原理与应用35(5)用菜单命令“文件文件_打开打开INTEL格式文件格式文件”,在出现的如图2.25所示“打开文件选项打开文件选项”对话框中选择“oneled.hex”文件,单击“OK”按钮。这时,在图2.23窗口中可以看到已经装载到文件缓冲区的十六进制代码内容。如有需要,可用菜单命令“缓冲区缓冲区_编辑编辑”,来编辑十六进制代码。2.5 如何用编程器写入芯片如何用编程器写入芯片 42022-12-17MCS-51单片机原理与应用36(6)用菜单命令“芯片编程芯片编程_自动编程操作自动编程操作”,在出现的
21、如图2.26所示“MCU/MPU自动编程选择”对话框中的“操作选项操作选项”中选择“擦除擦除”、“全空检查全空检查”、“固化固化”、“校验校验”,单击“确认确认”按钮。几秒后就完成了自动编程的全过程。2.5 如何用编程器写入芯片如何用编程器写入芯片 52022-12-17MCS-51单片机原理与应用37本章通过AT89C2051控制单灯闪烁项目,讲述用Keil Vision3的IDE开发过程。建议读者必须要动手做用户板,必须用Vision3来完成这一项目的开发的全过程。要求会用Vision3来完成:(1)创建一个新工程。(2)创建新源文件,并将源文件添加到工程。(3)编译连接工程。(4)调试运行程序,包括会以单步运行方式和全速运行方式调试程序。(5)会对Vision3编译器进行模拟仿真的设置和产生十六进制文件输出的设置。(6)会用编程器将十六进制代码文件内容写入到单片机芯片中。本章小结本章小结
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。