



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机的那些事儿(续)上次说到彩灯循环的程序,使用汇编语言编写。现在我们逐一分析一下。彩灯循环:这是常见的简单程序,我们先让P0口接的LED中的一个灯亮,然后顺序左移,移到最后一个再右移。循环往复。代码如下:ORG 0000HAJMP MAINORG 0080HMAIN : MOV A , #7FH 这行是让一个灯亮起来 MOV P0 , AMOV R0,#07H 移动7次 MOV R1,#07H MOV R2 , #0FFH 用来延时,要不然太快了 MOV R3 ,#0FFHL1:RRC A MOV P0 , AL2 : DJNZ R2 , L2 NOP NOP NOP NOP DJNZ R3,L2DJNZ R0,L1MOV R3 ,#0FFHMOV R2 , #0FFHL3:RLC A MOV P0,AL4:DJNZ R2,L4 NOP NOP NOP NOPDJNZ R3, L4DJNZ R1 , L3AJMP MAINEND首先为什么要MOV A , #7FH呢,7FH转换成二进制是01111111,大家会发现,这里面只有一个零,所以,在共阳极的LED接法中,0会让LED发光,所以这里面只亮一个灯。MOV P0 , A就是把这个7FH输出,输出了才能亮起来。所以这两句表示一个初始的彩灯状态,就是只有第一个灯亮了。MOV R0,#07H MOV R1,#07H两句为什么是7次呢,因为从第一个到最后一个,我们只接通8个灯,初始状态第一个灯已经亮了,所以剩下7个灯,只能移动七次,就能让最后一个灯亮,移动8次就仍然回到第一个灯了。我们要达到的效果不是简单的从头到尾再从头到尾的循环,而是先从第一个移动到最后一个然后从最后一个再回到第一个,所以不能让每次再回到第一个。MOV R3 ,#0FFH MOV R2 , #0FFH这两句为了延长时间而设计。汇编语言中,为了延长时间,我们只能让单片机一次一次的减一,然后判断是否为零,不是零就再减一判断,就这么周而复始的消磨时间,这就是延时。 RRC A RLC A 就是整体右移和左移。DJNZ用的较为普遍,例如 DJNZ R3 , L3就是把R3当中的数自减一,然后判断是否为零,不是零就跳转到标签为L3处的程序执行。最后别忘了END,虽然它不产生编译代码,但是为了尊重程序的完整性,还是写在最后吧。单片机程序编写还有一种语言,就是C51,语言。KEIL编译器可以把C语言转化成汇编语言,然后用转化成的汇编语言再次变异hex文件。上面的彩灯循环,我们可以写成如下的方式。#include#includesfr P0 = 0x80;void delay() int a,b;for (a=0;a5000;a+)for (b=0:b20;b+);void main() char c,d,e; c=0x7f; P0 = c ; for(d=0,d1; P0 = c; delay();delay();for(e=0,e7,e+)c = c1;P0 = c;delay(); C语言最大的特点就是模块化特别强,用C语言编写的程序出了兼顾51单片机的结构,最重要的是语法规范。大家可以参照C语言教程中的语法结构来分析这段简单的程序。记得一位前辈写过,单片机程序的大体结构是首先上电复位,然后是参数初始化,之后就是个大循环体。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速压延技术研究-洞察阐释
- 树莓派安全认证研究-洞察阐释
- 行测题目及答案
- 领导力发展与组织文化建设的协同发展-洞察阐释
- 风电场生态保护技术集成-洞察阐释
- 锑资源综合利用的生态修复技术-洞察阐释
- 2025七年级数学上册第二章有理数及其运算1认识有理数第2课时相反数和绝对值作业课件新版北师大版
- 绿色旅游发展趋势研究-洞察阐释
- 2025届云南省普洱市二中化学高一下期末复习检测试题含解析
- 2025年全球化与地方文化保护测试题及答案
- CNAS-CL01-2018内审检查记录表
- 《无人机驾驶航空试验基地(试验区)基础设施建设规范(征求意见稿)》
- 衍射概念与布拉格方程
- 山东农业工程学院辅导员考试试题2024
- 高中英语人教版必修二单词(分单元编排)
- 初中家庭教育指导案例
- 翡翠店面计划书
- 严重精神障碍患者家庭护理培训课件
- 电能表的接线检查-相量图法 (1).电能表的接线检查-相量图法
- 广告安装培训课件
- 施工现场交通安全
评论
0/150
提交评论