1、51 单片机新手入门实例详解1硬件和软件准备 实验系统:EL89C 单片机学习开发系统一套 电 脑:具有标准串口的台式机或笔记本电脑,如果没有串口也可购 买一条 USB 转串口线代替 工具软件:Keil uVision2 (用于编写和编译源程序、仿真调试) ;光盘上非安装烧写软件,路径单片机 EL89CEL89C 光盘 STC52 单片机下载程序stc-isp-v4.79-not-setupSTC_ISP_V483.exe(EL89C 的编程控制烧写软件)2源程序编写和编译EL89C 的 8 个发光二极管负极通过限流电阻接入单片机的 P1.0P1.7 端口,下面的范例程序可以使这 8 个发光二
2、极管轮流点亮,形成流水灯效果。我们使用的开发工具是 Keil C51,是目前世界上最优秀、最强大的 51 单片机应用平台之一,它集编辑、编译、仿真调试于一体,支持汇编、C 语言以及混合编程。同时具备功能强大的软件仿真和硬件仿真功能。下面以一个简单的流水灯程序为例子来介绍 Keil C51 的使用方法:2.1 首先在硬盘上建立一个文件夹,命名为 ledtest(当然可以是其他名字) ,为方便程序的编写和调试,我们将调试过程中产生的文件都将放在这个目录中。2.2 启动 Keil 软件,点击菜单 project,选择 new project,然后选择你要保存的路径,输入工程文件的名字,我们现在保存到
3、刚才建立的 ledtest 目录中,工程文件命名为 ledtest,然后点击保存。2.3 这时会弹出下面的对话框 Select Device for Target,要求你为刚才的项目选择一个 CPU。我们选择 Atmel 的 AT89C52,如图所示,选择 AT89C52之后,右边一栏是对这个单片机的基本的说明,然后点击确定。2.4 弹出如下对话框,是否添加标准的启动代码到你的项目,我们这里不理会它,点击否!2.5 新建一个源程序文件,点击菜单 FileNew,在 text1 框输入一个简单的程序,如下:完整程序代码如下:ORG 0000HLJMP MAINORG 0030HMAIN:MOV
4、P1, #0FEH ;初始点亮 LED1MOV R7, #0FEH ;保存 P0MAIN_LP:LCALL DELAY ;延时MOV A, R7 ;RL A ;循环移位MOV R7, A ;保存了 R7MOV P1, A ;点亮下一个 LEDJMP MAIN_LP ;不停循环DELAY: ;延时子程序MOV R0, #0FFHMOV R1, #0FFHDLY_LP:NOPNOPDJNZ R0, DLY_LPMOV R0, #0FFHDJNZ R1, DLY_LPRETEND2.6 选择菜单 FileSave,选择你要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,我们这里是要存储一个汇
5、编源程序文件,所以输入.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.
6、asm 文件,如图:2.11 在工具条中点击“Options for Target”按钮,下图箭头所示:这时会弹出“Options for Target Target 1 ”对话框,“Xtal”:定义 CPU 时钟,开发板上标配的晶振是 11.0592MHz 的,在“Xtal”后边框中填入“11.0592” 。下面依次是编译的存储模式,程序空间大小等设置,均使用默认值即可。点击 Output 选项,选中“ Create Hex File”(必须选中此项,否则不能生成HEX 目标文件) ,下图:2.12 点击工具条中的“build target”开始编译源程序,看状态栏,若是:creating hex file from “ledtest”“ledtest” 0 Error(s), 0 Warning(s).恭喜你成功了,看看你的文件夹吧,是否多了一个 ledtest.hex 文件。源程序编译成功后,接下来就是进行程序的实际验证。3芯片烧写和程序验证打开下载软件。1)选择 MCU type : STC 90C516RD+2)打开文件 “edtest.hex”3)选择串口 COM?(每台机不一样)4)点击按键“Download/ 下载”5)装填窗口出现”上电提示”后再给实验板上电