- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南大学嵌入式统与单片机实验报告2
中南大学
学生姓名
指导教师 学 院 专业班级 实验 彩灯控制系统
一.实验目的
1. 熟悉单片机实验箱的操作环境;
2. 了解如何编制单片机程序,并将程序下载到单片机中;
3. 创新性思维,多思考出彩灯的变化花样。
二.实验要求
1. 熟悉单片机实验箱的操作环境,掌握上电、断电等基本操作与过程;
2. 了解程序下载操作方法;
3. 编写多种花样的程序来实现彩灯控制。
4.编写实验报告。
三、实验分析与设计
本次实验是简单的单片机应用,单片机使用51单片机,操作平台是恒科电子实验平台。程序编译连接之后就自动下载到单片机里。
实验分析:
实验采用汇编代码实现,在程序中实现某种花样,参考源代码c01.asm,这个源程序会将P1.2清零后置一,每次改变使用一次delay,这样可以保证状态的持续。在此基础上多重复花样即可。
实验设计:
操作上比较简单。主要是熟记各种指令用法。
另外最重要的是会汇编的两条指令:mov与jmp。
【delay子程序】:
DELAY: ;延时100ms子程序
MOV R7,#200 ;500us*200=100ms
DLY0:
MOV R6,#250 ;2us*250=500us
DJNZ R6,$
DJNZ R7,DLY0
DJNZ ACC,DELAY ;200ms*ACC
RET 这段程序实现延时100ms的功能,它是基于“DJNZ R6,$”这条指令执行时间为2us这个基础之上的。使用两层循环,将此句话执行:250*200=50000次,也就是100000us,换算成ms为100ms。
四、实验代码
ORG 0000H
MOV SP,#60H ; /*送堆栈首址*/
/*第一种全亮再全灭*/
MAIN0:
MOV R0,#2
MOV P1,#00H
MOV A,#2
ACALL DELAY
CASE0:
MOV P1,#0FFH
MOV A,#1
ACALL DELAY
MOV P1,#00H
MOV A,#1
ACALL DELAY
DJNZ R0,CASE0 ; /*判闪循环是否结束*/
/*第二种顺序亮然后顺序灭*/
MAIN1:
MOV R0,#2
MOV P1,#00H
MOV A,#2
ACALL DELAY
CASE1:
CPL P1.0
MOV A,#1
ACALL DELAY
CPL P1.1
MOV A,#1
ACALL DELAY
CPL P1.2
MOV A,#1
ACALL DELAY
CPL P1.3
MOV A,#1
ACALL DELAY
CPL P1.4
MOV A,#1
ACALL DELAY
CPL P1.5
MOV A,#1
ACALL DELAY
CPL P1.6
MOV A,#1
ACALL DELAY
CPL P1.7
MOV A,#1
ACALL DELAY
CPL P1.0
MOV A,#1
ACALL DELAY
CPL P1.1
MOV A,#1
ACALL DELAY
CPL P1.2
MOV A,#1
ACALL DELAY
CPL P1.3
MOV A,#1
ACALL DELAY
C
文档评论(0)