使用Keil uVision3创建51单片机流水灯程序教程
需积分: 3 144 浏览量
更新于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端口,使用循环和位操作来实现灯光的流动效果,同时通过延时子程序控制流动速度。对于学习单片机编程和理解微控制器基本操作的初学者来说,这是一个很好的起点。通过掌握这些基础知识,可以进一步探索更复杂的嵌入式系统设计。
3637 浏览量
512 浏览量
7487 浏览量
872 浏览量
934 浏览量
1692 浏览量
251 浏览量
此号已用
- 粉丝: 0
- 资源: 1
最新资源
- twoscaledemo:用于雷击的mod。 在tile def中演示新的比例尺功能
- Blog-Flask-Bootstrap
- Ajax-Wanderlust.zip
- data-structures
- Vulcanic
- RevShell:RevShell以多种方式从Reverse-Shell打印代码
- js-basics-arithmetic-lab-v-000
- uMQTTBroker:用于ESP8266 Arduino的MQTT Broker库
- cat-site:一个向您介绍猫的网站
- TecnoPro1
- caidevOficial:有关我的技能的主要自述文件
- ProjectWindowName:Xcode插件,将项目名称添加到窗口标题
- 折叠单元格Android::page_with_curl:FoldingCell是一种材料设计,用于扩展内容单元格,其灵感来自@Ramotion制成的折叠纸材料
- exe4j_windows-x64_7_0.zip
- duilib.zip
- 07-k-均值聚类