免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川大学华西医院医生助理招聘备考题库含答案详解(培优b卷)
- 2026广西贵港市中医医院急需紧缺专业人才招聘备考题库及答案详解(名校卷)
- 2026上半年海南文昌市校园招聘事业单位人员(海口考点)19人备考题库(5号)附答案详解(能力提升)
- 2026江苏南京大学现代工程与应用科学学院博士后招聘1人备考题库及答案详解(易错题)
- 2026山东枣庄市山亭区校园招聘中学教师10人备考题库(曲阜师范大学站)附答案详解(研优卷)
- 2026天津医科大学肿瘤医院第二批招聘2人备考题库附答案详解(综合题)
- 2026四川成都市成华区人民政府万年场街道办事处招聘社区工作者6人备考题库含答案详解ab卷
- 攀枝花钒钛高新技术产业开发区管理委员会 乡村规划建筑师招聘备考题库附答案详解(a卷)
- 2026内蒙古兴安盟乌兰浩特市妇幼保健计划生育服务中心招聘控制数人员9人备考题库有答案详解
- 摄影基础电子教案 任务3.4 摄影对焦-摄影的对焦教案1节
- DL-T5594-2021太阳能热发电厂仪表与控制及信息系统设计规范
- 动物疫病防治员(高级)题库(含答案)
- 雷雨-剧本原文-高中语文雷雨剧本原文
- Unit1-3单元复习(课件)-人教PEP版英语三年级下册
- 道路旅客运输企业安全生产管理人员培训
- 模切机安全操作规程
- 护士延续注册健康体检表正式版
- 电工学(第七版上册)秦曾煌主编
- 高考专题复习:开放性情景默写题+专练+
- 2023年福建泉州市永春县城市建设集团有限公司招聘笔试题库含答案解析
- 上海钢结构厂房主体结构工程监理质量评估报告
评论
0/150
提交评论