51八只LED灯做流水灯实验Word下载.docx
- 文档编号:16027727
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:243.86KB
51八只LED灯做流水灯实验Word下载.docx
《51八只LED灯做流水灯实验Word下载.docx》由会员分享,可在线阅读,更多相关《51八只LED灯做流水灯实验Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
开始:
star:
低
clr
高
setb
返回到开始
ljmpstar
结束
end
这里用到了四条汇编指令:
clr、setb、ljmp、end;
clr:
是将其后面指定的位清为0;
setb:
是将其后面指定的位置成1;
ljmp:
是无条件跳转指令,意思是:
跳转到指定的标号处继续运行。
end:
是一条告诉编译器:
程序到此结束的伪指令。
伪指令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执行。
这里需要说明的是,按汇编语法要求,所编制的程序(下称源程序)之格式和书写要求必须依下列原则:
1、源程序必须为纯文本格式文件,如用Windows“附件”中的“记事本”编写的文本文件;
2、源程序的扩展名应是*.ASM;
3、一行只能写一条语句,以回车作为本句的结束,每一语句行长度应少于80个字符(即40个汉字)。
4、每行的格式应为:
标号:
命令参数;
注释
即一行由四部份组成,各部份的顺序不能搞错,依实际要求可以缺省其中的一部份或几部份,甚至全部省去,即空白行。
需要使用标号时标号后面必须有“:
”(冒号),而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用“,”(逗号)分开,需要注释时注释前必须用“;
”(分号),“;
”后面的语句可以写任何字符,包括汉字用于解释前面的汇编语句,它将不参与汇编,不生成代码。
由于汇编程序对我们还不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于今后源程序的阅读和维护。
标号是标志程序中某一行的符号名,编译后标号的数值就是标号所在行代码的地址。
在宏汇编ASM51中标号的长度不受限制,但标号中不能包含‘:
’或其它的一些特殊符号,也不能用汉字,可以用数字作标号,但必须用字母开头。
当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:
’(如上面程序中的LJMPSTAR中的STAR是不能再有:
)。
每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。
由于标号的长度没有限制,可以用有意义的英文或汉语拼音来说明行,使源程序读起来更方便。
源程序中的字母不区分大小写,也就是说star和STAR是一样的,请不要用大小写方式去区分不同的标号。
好拉!
规矩知道了,现在该来看看前面我们编写的源程序该怎样处理了:
编写源程序:
先将编译软件安装好(c51eval软件的安装)。
软件安装好我们就可以编写程序了。
第一步:
双击Uvw51图标,出现如图一所示的主界面
第二步:
新建文件
单击菜单栏内的“文件----新建”或者单击
图标按钮则在上图所示的灰色区域内出现一个白色的编辑区,这时我们就中以在这里编辑程序了。
如图二所示。
图二
第三步:
编程程序
建立了一个新的编程文件后,我们就可以在这里编写我们所需要的程序了,下面我们就来编写前面所说的程序吧。
!
如图三所示:
第四步:
保存文件
程序编写好了,我们当然要记得保存了,要不我们编写程序就白费劲了。
好了,下面我们将上面编写的程序保存起来:
单击“文件----保存”或者单击图标
,出现如图四所示的对话框:
图四
这时参照图五所示将对话框的内容设置好:
c51eval保存文件时默认的文件扩展是名*.C,请按图五所示改变为为*.a51:
图五
我们这里就先将文件保存在D/DDW文件夹中,文件名你可以随便取,这里先叫他为;
需强调的是保存文件的文件夹和文件名不能使用中文!
即保存文件时不能以如下格式保存:
正确的保存路径:
D/DDW/当然,保存的文件夹名DDW、编写的程序的文件名LED,你都可以随意的取一个,可以是D/ABC/。
这就取决于你的兴趣了。
错误的保存路径:
D/源程序/DDW/,或者是D/DDW流水灯程序.a51。
总之在源程序的保存路径下不能有中文的出现,同时文件名不能取的太长。
第五步:
建立项目
将汇编的源程序保存后,还没有得到我们所需要的文件,这时我们还需要再建立项目,以便得到我们所需的hex文件。
新建项目的步骤如下:
首先先打开新建项目的对话框文件,如图六所示:
图六
点击新建项目后出现如图七所示的对话框,我们将对话框的参数设定好。
将文件名设置成与刚才源程序的文件名相同,即设为,同时保存的路径跟前面的源程序保存的路径一样,在D/DDW上。
现在就可以把刚才建立的项目文件添加到刚保存的源程序上了,注意它们都在同一个根目录下。
图七
按图七所示操作后,会出现如图八所示的对话框:
图八
点击“(A)加”出现如图九所示画面:
图九
按图九所示完成操作后,软件会自动打开一个对话框,如图十所示:
图十
如图十所示点击保存后,系统会自动回复到汇编状态。
这时点击*创建所有
图标*按钮,则进行了转换,并出现如图十一所示的状态显示画面:
图十一
完成上述操作后,在图十一,我们看到了创建成功了的提示画面,这时我们点击OK就大功告成了。
打开我们文件的保存路径:
我的电脑/D/DDW我们可以看到包含hex文件在内的所有相关程序文件了。
我们上面的项目文件也在其中了。
他的名字叫作文件。
好啦,到此我们已将第一个流水灯程序编写、编译、烧写进行完啦,再下来就是将烧写好的AT89C51从编程器上取下,放到“SP-51实验板”学习套件的实验部份通电让LED1~LED8“流水”。
说明:
由于单片机的时钟高达12MHz,8个LED发光与熄灭的时间很短,实际实验结果凭我们的肉眼是看不到“流水”效果的!
那怎样才能让我们肉眼看到“流水”灯效果呢请继续学习下节课
流水灯实验详解二
上一节的实验最后没有得到“流水”显示的效果,主要是单片机执行每条指令的时间很短,我们肉眼无法看到LED的熄灭与点亮。
单片机内部能按部就班的自动工作,正是在系统时钟的作用下,内部各逻辑硬件产生各种所需脉冲信号而实现的。
这个时钟信号(既晶体振荡信号)的周期称“振荡周期”。
我们这个实验中晶体使用的是12MHZ.在单片机中,要处理最短周期的一条指令需要由12个振荡周期(既晶振振荡周期)组成的,这个叫“机器周期”。
8051核的单片机,大多数指令只用一个机器周期(既单周期),也有双周期和四周期的指令。
本实验中用到的SETB和CLR均属于单周期指令,也就是说,执行一句SETB用时仅1uS(微秒),CLR也是1uS;
难怪我们前面的程序不能看到流水效果。
现在,将程序改动一下,在每点亮一个LED后,让程序干点别的事,也就是让它等一会再将该LED熄灭,继续执行下面的程序:
DDW:
;
程序开始
CLR
LED1亮
ACALL
DELAY
调用延时子程序
SETB
LED1灭
换灯,同上
LJMP
DDW
返回到开始循环
DELAY:
延时子程序
MOV
R1,#50
AD10:
R2,#100
AD11:
R3,#100
DJNZ
R3,$
R2,AD11
R1,AD10
RET
延时子程序结束,返回到调用处的下一句
END
请将上面的程序保存为,进行编译,并烧写到AT89S51中,之后将89S51安装到套件的实验部份插座上实验,这回显示的就是“流水灯”的效果了!
回过头,让我们看看延时子程序是怎样工作的:
单片机内部有不少寄存器,这些寄存器在单片机通电时,你可以给他写入数据(是单片机按你程序要求写的数据,而不是编程器写的),当第二次给他写入新数据时,前次的数据就被新数据覆盖;
当然也可以从寄存器中读取数据。
当单片机没有电源供给时,寄存器内部的数据也随即消失;
这些寄存器人们叫他RAM,而用编程器将我们编写的程序烧写到单片机中的存储器叫ROM;
现在,我们应该清楚:
RAM是让程序去使用的,ROM是我们编写的程序存放的地方!
前面说过,单片机内部有不少RAM,本实验用的AT89C51有多少寄存器我们现在不必关心,现在只须知道单片机内部有名叫R0~R7的这8个寄存器。
这8个寄存器每个都由8个单独的位寄存器组成,最大存放数据为二进制的11111111,十六进制=FF,十进制=255。
在使用时注意不要大于其有效范围。
上面延时程序中,先用到MOVR1,#50,MOV是移动的意思,该句是将50这个十进制数放到R1中;
50是立即数,按汇编语言要求前面要加“#”号,汇编语言还规定,十六进制数后面要加“H”,十六进制数的高位是字母时在字母前面还要加“0”,例如:
#0F8H;
二进制数后面加“B”,例如:
#B。
十进制不加,例如:
#100。
延时程序的第二、三句为:
MOVR2,#100;
MOVR3,#100;
这两句意思同前。
第四句中DJNZR3,$的意思是将R3里面的数减1后如果R3不等于0则跳到后面指定的程序位置,这里的“$”既要跳转的程序位置,“$”代表当前语句处,也就是说,R3不等于0,程序返回再次执行本句。
如果R3减1后等于0,程序结束本句,继续执行下面的语句。
延时程序的最后一句是RET,意思是退出本子程序,返回到调用本子程序处的下一句。
根据上面的解释,一进入延时子程序首先为R1,R2,R3寄存器装入我们需要的数据,然后先对R3进行减数,每次减1,R3减完后减R2,减R2时就费事啦,因为R2每减1后不为0需要跳转到AD11标号处执行下面的语句,此时R3再次装入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 LED 流水 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)