AT89C51单片机流水灯花样编程:keil软件实战
需积分: 10 32 浏览量
更新于2024-09-08
收藏 121KB DOCX 举报
嵌入式作业2要求学生使用嵌入式汇编语言在keil软件环境下实现花样流水灯的功能。该作业针对的是信息工程学院交通运输工程专业的学生孔方方,学号为2017324008,完成日期为2018年3月29日。
主要任务包括五个阶段的操作:首先,流水灯从右向左和从左向右逐个亮灭;其次,实现固定的亮灭顺序,如从右向左点亮1、3、5、7四个灯,然后从左向右点亮2、4、6、8;接着,灯先全亮再全灭;再次,分别实现1357和2468两个特定序列的亮灭;最后,通过直接修改P1口的值,实现从两端向中间和从中间向两端的亮灭切换。
程序设计流程始于ORG0000H,这是程序的起始地址,但需要跳过中断子函数区域(0000H~0023H)。接着,程序通过LJMP跳转至主函数MAIN。在MAIN函数中,程序设置循环变量R0为8,以控制8个流水灯的循环次数,使用MOVA指令设置初始状态,如将#0FEH(二进制11111110)赋值给累加器A,使得第一盏灯亮起。随后进入循环,通过A1和A2两个子程序分别执行左向右和右向左的亮灭操作,每个子程序中包含了延时子函数DELAY,确保灯的亮灭效果平稳。
在A1中,每次循环左移累加器A的内容,直到R0为0才结束循环。在A2部分,程序执行类似的操作,但累加器A的初始值设为#7FH(二进制11111111),以实现从左向右的亮灯顺序。通过这些步骤,学生练习了嵌入式汇编编程的基础知识,包括指令集、数据处理、循环控制以及I/O操作等。
整个程序设计过程旨在培养学生的逻辑思维能力,对硬件的理解,以及编写高效、简洁的嵌入式汇编程序的能力,同时展示了如何利用keil软件进行程序调试和硬件交互。完成这样的作业有助于提高学生的嵌入式系统开发技能,为后续的专业课程和实际项目打下坚实基础。
2018-10-14 上传
2023-09-18 上传
2023-12-23 上传
2023-12-12 上传
2023-05-20 上传
2023-12-24 上传
2023-04-20 上传
qq_42002616
- 粉丝: 27
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录