使用Keil uVision3创建51单片机流水灯程序教程

需积分: 3 1 下载量 3 浏览量 更新于2024-07-23 收藏 1.25MB DOC 举报
"使用Keil uVision3创建51单片机流水灯程序的步骤教程" 在电子工程和嵌入式系统开发中,流水灯是一个常见的实验项目,它用于展示微控制器的基本I/O操作。本资源主要介绍了如何利用Keil uVision3(同样适用于uVision2)开发环境为Atmel的AT89S51单片机制作一个简单的流水灯程序,并进行软件仿真。 1. **Keil uVision3介绍** Keil uVision是一款流行的51单片机开发工具,它提供了一整套集成开发环境(IDE),包括源代码编辑、编译、调试等功能,适合初学者和专业人士使用。 2. **创建新工程** - 启动Keil uVision3,通过菜单栏选择`Project` -> `New Project`新建工程。 - 输入工程名称,例如“流水灯”,并选择保存位置。 - 选择目标器件,这里选择Atmel的AT89S51。 3. **不添加启动文件** 在建立工程时,可以选择不加入启动文件,这对于简单的实验项目是可行的。 4. **编写源代码** - 使用`File` -> `New`创建新文件,命名为“流水灯.asm”并保存。 - 将以下汇编语言代码输入到文件中: ```asm ORG 0x0000 LJMP START START: MOVA, #0XFE LOOP: RLA MOVP1, A LCALL DELAY SJMP LOOP ; 延时程序 DELAY: MOVR5, #200 OUT: MOVR6, #250 OUT1: MOVR7, #250 IN: DJNZR7, $ DJNZR6, OUT1 DJNZR5, OUT RET END ``` - 这段代码定义了从0xFE开始的循环,通过左移位操作改变P1口的输出值,实现LED灯的逐个亮起和熄灭效果。 5. **添加文件到工程** - 通过点击`Target1`前的"+"号展开,选择`SourceGroup1`,然后从菜单中选择`Add Files To Group 'SourceGroup1'`。 - 浏览并添加刚创建的“流水灯.asm”文件到工程。 6. **软件仿真** - 完成上述步骤后,可以使用Keil uVision3的仿真功能来测试程序。首先编译程序(`Project` -> `Build Target`),如果无误,接着进行模拟运行(`Debug` -> `Start/Stop Debug Session`)。 这个简单的流水灯程序展示了如何控制单片机的I/O端口,使用循环和位操作来实现灯光的流动效果,同时通过延时子程序控制流动速度。对于学习单片机编程和理解微控制器基本操作的初学者来说,这是一个很好的起点。通过掌握这些基础知识,可以进一步探索更复杂的嵌入式系统设计。