51单片机新手入门实例详解
1. 硬件和软件准备
? 实验系统:EL89C单片机学习开发系统一套
? 电 脑:具有标准串口的台式机或笔记本电脑,如果没有串口也可购
买一条USB转串口线代替
? 工具软件:Keil uVision2(用于编写和编译源程序、仿真调试);
光盘上非安装烧写软件,路径
\\单片机EL89C\\EL89C光盘\\STC52单片机下载程序\\stc-isp-v4.79-not-setup\\STC_ISP_V483.exe (EL89C的编程控制烧写软件)
2. 源程序编写和编译
EL89C的8个发光二极管负极通过限流电阻接入单片机的P1.0~P1.7端口,下面的范例程序可以使这8个发光二极管轮流点亮,形成流水灯效果。 我们使用的开发工具是Keil C51,是目前世界上最优秀、最强大的51单片机应用平台之一,它集编辑、编译、仿真调试于一体,支持汇编、C语言以及混合编程。同时具备功能强大的软件仿真和硬件仿真功能。
下面以一个简单的流水灯程序为例子来介绍Keil C51的使用方法: 2.1 首先在硬盘上建立一个文件夹,命名为ledtest(当然可以是其他名字),
为方便程序的编写和调试,我们将调试过程中产生的文件都将放在这个目录中。
2.2 启动Keil软件,点击菜单project,选择new project,然后选择你要保
存的路径,输入工程文件的名字,我们现在保存到刚才建立的ledtest目录中,工程文件命名为ledtest,然后点击保存。
2.3 这时会弹出下面的对话框Select Device for Target,要求你为刚才的项
目选择一个CPU。我们选择Atmel的AT89C52,如图所示,选择AT89C52之后,右边一栏是对这个单片机的基本的说明,然后点击确定。
2.4 弹出如下对话框,是否添加标准的启动代码到你的项目,我们这里不理会
它,点击否!
2.5 新建一个源程序文件,点击菜单File
程序,如下:
New,在text1框输入一个简单的
完整程序代码如下:
ORG 0000H LJMP MAIN ORG 0030H
MAIN:
MOV P1, #0FEH MOV R7, #0FEH
;初始点亮LED1 ;保存P0
MAIN_LP:
LCALL DELAY ;延时 MOV A, R7 RL
A
;
;循环移位
MOV R7, A MOV P1, A JMP MAIN_LP
;保存了R7 ;点亮下一个LED ;不停循环 ;延时子程序
DELAY:
MOV R0, #0FFH MOV R1, #0FFH
DLY_LP:
2.6 选择菜单File
Save,选择你要保存的路径,在文件名里输入文件名,注
NOP NOP
DJNZ R0, DLY_LP MOV R0, #0FFH DJNZ R1, DLY_LP RET END
意一定要输入扩展名,我们这里是要存储一个汇编源程序文件,所以输入.asm扩展名,保存为ledtest.asm文件。
2.7 点击Target 1前面的 +号,展开里面的内容 source Group1:
2.8 在Source Group 1上点击鼠标右键,将弹出一个菜单,选择Add Files to
Group “Source Group 1”。
2.9 选择刚才保存的文件ledtest.asm,文件类型选择asm source file,因为
我们的是汇编程序,所以选择该类型。最后点击Add按钮,添加完毕此时再点击Close关闭该窗口。
2.10 这时在Source Group 1里就加入了ledtest.asm文件,如图:
2.11 在工具条中点击“Options for Target”按钮,下图箭头所示:
这时会弹出“Options for Target ‘Target 1’ ”对话框,
“Xtal”:定义CPU时钟,开发板上标配的晶振是11.0592MHz的,在“Xtal”后边框中填入“11.0592”。下面依次是编译的存储模式,程序空间大小等设置,
51单片机新手入门实例详解



