MCS51单片机原理与应用Word格式文档下载.docx

上传人:b****6 文档编号:8615422 上传时间:2023-05-12 格式:DOCX 页数:9 大小:21.84KB
下载 相关 举报
MCS51单片机原理与应用Word格式文档下载.docx_第1页
第1页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第2页
第2页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第3页
第3页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第4页
第4页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第5页
第5页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第6页
第6页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第7页
第7页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第8页
第8页 / 共9页
MCS51单片机原理与应用Word格式文档下载.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MCS51单片机原理与应用Word格式文档下载.docx

《MCS51单片机原理与应用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MCS51单片机原理与应用Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。

MCS51单片机原理与应用Word格式文档下载.docx

(3)RST:

复位输入。

晶振工作时,RST引脚持续保持2个机器周期高电平将使单片机复位。

(4)XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

(5)XTAL2:

振荡器反相放大器的输出端。

(6)P1.0~P1.7,P3.0~P3.5、P3.7共15个I/O引脚。

引脚的第二功能,在图2.1(b)中是用括号括起来的。

2.1初识单片机2

4

1.单灯闪烁的硬件线路

AT89C2051控制单灯闪烁的完整电路如下图2.2所示,只需一个引脚P1.0控制LED灯的亮与灭。

在图2.2中,电源电压是5V,即第20脚VCC接正极,第10脚

2.1.2AT89C2051控制的单灯闪烁1

5

GND接负极。

单片机振荡电路:

在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.5~1.8V之间。

2.单灯闪烁的汇编源程序

控制要求:

单灯闪烁间隔为0.1s。

P1.0置1:

SETB P1.0,并延时0.1s使LED熄灭。

P1.0清0:

CLR P1.0,延时0.1s使LED点亮。

2.1.2AT89C2051控制的单灯闪烁2

6

ORG0000H

LJMPSTART

ORG0030H

START:

CLRP1.0;

使P1.0=0,LED点亮

ACALLDELAY;

调用0.1秒延时子程序,等待0.1秒

SETBP1.0;

使P1.0=1,LED熄灭

LJMPSTART;

返回到标号START处再循环

DELAY:

MOVR0,#255;

延时子程序,延时0.1秒

D1:

MOVR1,#195

DJNZR1,$

DJNZR0,D1

RET

ENDSTART

2.1.2AT89C2051控制的单灯闪烁3

7

汇编源程序需要在Keilµ

Vision3软件中编辑、汇编,直到最后得到对应的十六进制代码的目的文件,然后用编程器将该文件写入到89C2051中。

将固化好的芯片插入用户板的座子上,就可以进行本实验了。

Keilµ

Vision3是KeilC51(V8.02)工具包中的一个重要组件,µ

Vision3是用于多种8051MCU的集成开发环境(IDE,IntegratedDevelopmentEnvironment),集编辑、编译、连接、调试、仿真于一体,支持汇编和C语言的程序设计。

µ

Vision3提供对多种最新的8051类MCU支持,其内嵌的仿真器不但可以对目标系统进行实时在线仿真,而且允许模拟仿真,从而对没有仿真器的用户带来了便利。

2.2 Keilµ

Vision3软件的安装与界面

8

2.2.1Keilµ

Vision3软件的安装1

1.Keilµ

Vision3软件的安装

供学习目的用的KeilC51最新版V8.02的安装步骤:

(1)双击安装执行文件c51v802.exe,出现安装向导,一路按提示进行,直到结束。

若选用默认的安装路径,µ

Vision3就安装在c:

\keil\uv3目录中,同时在桌面会出现一个µ

Vision3的执行图标:

(2)双击µ

Vision3的执行图标,首次运行此软件时,要选择菜单命令:

“File_LicenseManagement”,在弹出窗口的“NewLicenseIDCode”中输入注册码,然后单击AddLIC;

成功的标志是在此窗口中注册码行的末端可以看到软件的使用期限。

(3)复制ccKeilVxx.exe文件到c:

\keil\c51\bin\下面并

9

Vision3软件的安装2

运行它,以修正0xFD的BUG。

(4)双击keilC51的汉化执行文件“汉化程序.exe”,执行完后,就可以在中文环境中使用此软件了。

2Keilµ

Vision3软件的启动

双击桌面上Keilµ

Vision3图标,先出现的是软件的

Logo窗,如图2.3所示。

几秒后即出现µ

Vision3的IDE窗

口,如图2.4所示。

10

2.2.2Keilµ

Vision3软件的界面1

11

Vision3软件的界面2

12

Vision3软件的界面3

表2.1列出了几个常用按钮的功能,以及对应的快捷键和菜单命令,这些按钮以后会陆续用到的。

13

以单灯闪烁程序说明Keilµ

Vision3集成开发环境使用。

2.3.1 如何创建一个新工程

1.创建新工程

选择菜单命令:

“工程_新建工程”,

如图2.5所示。

在弹出的如图2.6所

示“CreateNew

Project”窗口中,选

择工程文件存放的

路径并输入文件名

2.3 Keilµ

Vision3集成开发环境使用之一1

14

oneled.Uv2,单击“保存”按钮。

单灯闪烁工程文件就建立了,可以看到在工程区创建了缺省的目标target1和文件组SourceGroup1,如图2.7所示。

若看不到此目录结构,可以单击工程区下部的File标签。

Vision3集成开发环境使用之一2

接着,会弹出如图2.8所示选择CPU厂家和型号的对话框,应选择Atmel公司的89C2051,在窗口的右边栏中将同时显示所选的单片机的简要说明,然后单击“确定”按钮。

2.选择CPU厂家和型号

3.复制启动代码到工程

这时会弹出如图2.9所示的对话框,对于大多数器件µ

Vision3会询问是否将CPU的特殊启动代码拷贝到工程中。

如果工程中需要使用这些启动代码,选择“是(Y)”;

如果不使用Keil编写启动代码,或者是库工程文件以及附加工程文件,则选择“否(N)”。

这里单击“否(N)”,工程创建完成。

Vision3集成开发环境使用之一4

1.创建新源文件

“文件_新建”,在主工作区打开一个空源文件编辑窗。

建议先保存该空白的文件,用菜单命令:

“文件_另存为”,在弹出的如图2.10所示“另存为”窗口中,输入文件名oneled.asm。

注意,对于汇编源程序,其扩展名asm也

必须输入;

单击

“保存”按钮,将此

文件保存在同一

工程文件夹中。

新文件成功创建。

2.3.2 如何创建新源文件1

2.将源文件添加到工程

输入完源程序后,移

动鼠标到工程区,单

击“Target1”前面的

“+”号,展开后在

“SourceGroup1”上

单击鼠标右键,将弹

出一个快捷菜单,屏

幕如图2.11所示。

2.3.2 如何创建新源文件2

在快捷菜单中选择并单击“AddFiletoGroup‘SourceGroup1’”命令,在出现如图2.12所示“AddFiletoGroup‘SourceGroup1’”窗中,选择要加入的文件oneled.asm,单击“Add”按钮,再单击“Close”按钮,关闭此窗口。

2.3.2 如何创建新源文件3

如果源文件已

存在,同样可用

此法把它添加

到工程中。

添加源程序文

件后的

Vision3窗口

如图2.13所示。

2.3.2 如何创建新源文件4

2.4.1 如何编译连接工程

程序代码编写完成后需要编译连接生成目的代码,然后进行模拟仿真或硬件调试。

“工程_创建目标”,就会对源文件进行编译、连接。

如果有错误或警告产生,就会在输出区显示出错信息提示。

用户可据此来纠错,直至把程序调试出来,成功的标志是在输出区显示:

“0Error(s),0Warning(s).”,同时也会显示系统资源占用情况,如图2.14所示。

2.4 Keilµ

Vision3集成开发环境使用之二1

Vision3集成开发环境使用之二2

表2.1中的最后三个按钮都可用来编译,须注意区别:

第10号按钮用于单个源文件编译,没有产生应用,不能进入调试模式中运行。

第11号按钮是用于编译修改过的源文件并生成应用,如果源文件编译后,在没有改变的情况下再次单击它,将不会重新执行编译、连接的操作,原来生成的目标文件oneled.obj将不会变化。

第12号按钮是用于重新编译所有的文件并生成应用,不管源文件是否改动过,只要单击它,就会重新执行编译、连接的操作。

2.4.2 如何调试运行程序1

1.进入调试模式

单击调试模式按钮,系统进入调试模式。

“外围设备_I/O-Ports_Port1”,出现P1口的调试窗口如图2.15所示。

因程序尚未运行,图2.15中显示了上电复位后的状态,P1=0xFF,表示P1口初始状态输出全1,所以P1.7~P1.0各位均是打“√”的。

这里以“√”表示“1”,否则表示“0”。

图中也有

Ins=xFF,其对应各位也均是打

“√”的,表示P1口中还未发现

受指令控制的引脚位,这也是

因为程序尚未运行之故。

2.单步运行方式

以单步运行的方式来调试程序,可选择菜单命令:

“调试_单步”,或用快捷键F10,系统进入运行时,源程序调试窗口如图2.16所示。

这时出现一个指令指针PC,PC首先指向第一条指令LJMPSTART,每按一次F10,系统就会执行一条指令,同时PC指向下一条指令。

2.4.2 如何调试运行程序2

当PC指向指令CLR P1.0,且尚未按下F10时,观察到P1口调试窗的屏幕如图2.17(a),即P1.0输出高电平,模拟LED灯不亮。

接着按下F10,P1.0清零的指令就会被执行,观察到P1口调试窗的屏幕变为如图2.17(b),即P1.0输出低电平,模拟LED灯亮。

继续按F10,将执行调用延迟子程序ACALLDELAY。

F10单步会穿越子程序的,这时PC指向指令SETBP1.0,当按下F10时,P1.0置1的指令就会被执行,调试窗回到图2.17(a),模拟LED灯变暗。

2.4.2 如何调试运行程序3

2.4.2 如何调试运行程序4

当程序运行到LJMPSTART后,程序将循环重复。

3.全速运行方式

“调试_运行”,或单击全速运行按钮,或用快捷键F5。

系统进入全速运行状态,在P1口调试窗口中可以看到如图2.17(a)和(b)交替出现的屏幕。

在这两个图中均有ins=0xFE,即对应P1.0没有打“√”,表示受指令控制的只有P1.0引脚。

4.停止程序的运行

要停止程序运行回到文件编辑状态,分如下两种情况。

(1)停止程序的单步运行

再单击调试模式按钮,就可退出调试模式,停止单步运行。

可见,调试模式按钮是一个乒乓开关。

2.4.3 如何产生十六进制文件1

(2)停止程序的全速运行

要先单击停止按钮,再单击调试模式按钮,才能退出全速运行,回到文件编辑状态。

IntelHEX文件格式是按地址排列的数据信息,数据宽度为字节,所有数据均采用十六进制表示,常用来保存单片机的目的代码。

通用编程器都支持IntelHEX格式。

Vision3的缺省设置将不会产生十六进制文件,可按以下步骤设置编译器。

(1)用菜单命令:

“工程_打开工程”,选择前面做好的工程oneled.Uv2,并打开它。

(2)在工程区单击“Target1”前面的“+”号,展开后在“SourceGroup1”上单击鼠标右键,在弹出的快捷菜

单中选择命令“OptionsforTarget‘Target1’”,屏幕如图2.18所示。

(3)出现如图2.19所示“OptionsforTarget‘Target1’”选项设置窗口,单击“输出”标签,按如下步骤设置:

①在“创建HEX文件”的复选项前打“√”,这样编译后就能得到十六进制文件;

②单击“选择目标路径”按钮,选择目标输出的路径在同一个工程文件夹中;

2.4.3 如何产生十六进制文件2

③在“执行文件名”栏中,可以设置编译生成的执行文件名,这里是oneled。

设置好后,单击“确定”按钮。

2.4.3 如何产生十六进制文件3

现在按前面介绍的方法,重新编译源文件,完成后注意观察输出窗口的编译信息,HEX文件已经创建到指定的路径中了,如图2.20所示。

打开工程文件夹,会发现多了一个oneled.hex文件。

将此十六进制代码下载到通用编程器,并写入到89C2051。

再将固化好的89C2051插入用户板的芯片座上,并给用户板加上电源的,就可看单灯闪烁实际效果了。

2.4.3 如何产生十六进制文件4

有时会出现不能进行模拟仿真的对话框,如图2.22所示。

这是因为编译器已经被设置在硬件仿真后引起的。

用菜单命令:

“工程_OptionsforTarget'

Target1'

”,出现图2.19编译器设置窗口后,单击“调试”标签,在出现的如图2.22所示对话框中,选中“使用模拟仿真”单选框,再单击“确定”按钮。

这样就可以进行模拟仿真了。

2.4.4 如何进行模拟仿真的设置1

2.5如何用编程器写入芯片

用炜煌WH-500APU编程器将oneled.hex的内容写入到89C2051中的步骤如下:

(1)用USB通讯电缆将计算机与编程器连接好,接通编程器电源,指示灯闪亮。

(2)双击桌面执行图标 ,启动WH-500APU编程器软件,编程器初始化成功后的界面参看图2.23。

(3)用菜单命令:

“芯片选择_手动选择型号”,出现如

2.5如何用编程器写入芯片2

图2.24所示“芯片选择”对话框,在“生产厂家”列表框中选择ATMEL,在“芯片型号”列表框中选择AT89C2051,单击“OK”按钮。

(4)确认所选择的芯片正确无误后,将待编程的芯片按正确的方向放入20芯锁紧插座,推平锁紧扳手。

2.5如何用编程器写入芯片3

(5)用菜单命令“文件_打开INTEL格式文件”,在出现的如图2.25所示“打开文件选项”对话框中选择“oneled.hex”文件,单击“OK”按钮。

这时,在图2.23窗口中可以看到已经装载到文件缓冲区的十六进制代码内容。

如有需要,可用菜单命令“缓冲区_编辑”,来编辑十六进制代码。

2.5如何用编程器写入芯片4

(6)用菜单命令“芯片编程_自动编程操作”,在出现的如图2.26所示“MCU/MPU自动编程选择”对话框中的“操作选项”中选择“擦除”、“全空检查”、“固化”、“校验”,单击“确认”按钮。

几秒后就完成了自动编程的全过程。

2.5如何用编程器写入芯片5

本章通过AT89C2051控制单灯闪烁项目,讲述用Keilµ

Vision3的IDE开发过程。

建议读者必须要动手做用户板,必须用µ

Vision3来完成这一项目的开发的全过程。

要求会用µ

Vision3来完成:

(1)创建一个新工程。

(2)创建新源文件,并将源文件添加到工程。

(3)编译连接工程。

(4)调试运行程序,包括会以单步运行方式和全速运行方式调试程序。

(5)会对µ

Vision3编译器进行模拟仿真的设置和产生十六进制文件输出的设置。

(6)会用编程器将十六进制代码文件内容写入到单片机芯片中。

本章小结

37

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2