ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:29.50KB ,
资源ID:2989088      下载积分:150 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2989088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机学习心得(二).doc)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

51单片机学习心得(二).doc

1、51 单片机的那些事儿(续)上次说到彩灯循环的程序,使用汇编语言编写。现在我们逐一分析一下。彩灯循环:这是常见的简单程序,我们先让 P0 口接的 LED 中的一个灯亮,然后顺序左移,移到最后一个再右移。循环往复。代码如下:ORG 0000HAJMP MAINORG 0080HMAIN : MOV A , #7FH 这行是让一个灯亮起来MOV P0 , AMOV R0,#07H 移动 7 次MOV R1,#07HMOV R2 , #0FFH 用来延时,要不然太快了MOV R3 ,#0FFHL1:RRC AMOV P0 , AL2 : DJNZ R2 , L2NOPNOPNOPNOPDJNZ R3

2、,L2DJNZ R0,L1MOV R3 ,#0FFHMOV R2 , #0FFHL3:RLC AMOV P0,AL4:DJNZ R2,L4NOPNOPNOPNOPDJNZ R3, L4DJNZ R1 , L3AJMP MAINEND首先为什么要 MOV A , #7FH 呢,7FH 转换成二进制是01111111,大家会发现,这里面只有一个零,所以,在共阳极的LED 接法中, 0 会让 LED 发光,所以这里面只亮一个灯。 MOV P0 , A就是把这个 7FH 输出,输出了才能亮起来。所以这两句表示一个初始的彩灯状态,就是只有第一个灯亮了。MOV R0,#07H MOV R1,#07H 两句

3、为什么是 7 次呢,因为从第一个到最后一个,我们只接通 8 个灯,初始状态第一个灯已经亮了,所以剩下 7 个灯,只能移动七次,就能让最后一个灯亮,移动 8 次就仍然回到第一个灯了。我们要达到的效果不是简单的从头到尾再从头到尾的循环,而是先从第一个移动到最后一个然后从最后一个再回到第一个,所以不能让每次再回到第一个。MOV R3 ,#0FFH MOV R2 , #0FFH 这两句为了延长时间而设计。汇编语言中,为了延长时间,我们只能让单片机一次一次的减一,然后判断是否为零,不是零就再减一判断,就这么周而复始的消磨时间,这就是延时。RRC A RLC A 就是整体右移和左移。DJNZ 用的较为普遍

4、,例如 DJNZ R3 , L3 就是把 R3 当中的数自减一,然后判断是否为零,不是零就跳转到标签为 L3 处的程序执行。最后别忘了 END,虽然它不产生编译代码,但是为了尊重程序的完整性,还是写在最后吧。单片机程序编写还有一种语言,就是 C51,语言。KEIL 编译器可以把 C 语言转化成汇编语言,然后用转化成的汇编语言再次变异 hex 文件。上面的彩灯循环,我们可以写成如下的方式。#include#includesfr P0 = 0x80;void delay() int a,b;for (a=0;a1;P0 = c;delay();delay();for(e=0,e7,e+)c = c1;P0 = c;delay();C 语言最大的特点就是模块化特别强,用 C 语言编写的程序出了兼顾 51 单片机的结构,最重要的是语法规范。大家可以参照 C 语言教程中的语法结构来分析这段简单的程序。记得一位前辈写过,单片机程序的大体结构是首先上电复位,然后是参数初始化,之后就是个大循环体。每个循环体开始要有使能标志,以便取舍。这一篇先告一段落,下一篇分享一下定时器/计数器的应用,以及矩阵键盘,中断应用,还有 LCD1602 的驱动方式。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。