51单片机那点儿事_从LED开始
来源:互联网 发布:packet tracer mac版 编辑:程序博客网 时间:2024/05/16 08:05
又要从51开始学单片机了,突然感觉到学习最痛苦的不是学不会,而是学会了容易忘,忘了还得重头翻书学。所以呢,这次决定留下点儿学习笔记,也方便以后查看。实验用的是普中科技的6800EM3单片机开发板,不出意外的话会有C语言和汇编两个版本的例程。
上面是LED的电路原理图。
C语言(实现简单的所有灯的间隔,同时亮灭)
#include <reg51.h>void delay();main(void) {while(1) {P2 = 0x00;<span style="white-space:pre"></span>delay();P2 = 0xff;delay();}}void delay(){ unsigned char j; int i; for(i = 4000; i>0 ; i--) for(j = 255; j >0; j--);}
汇编代码(实现流水灯)
ORG 0000HLJMP MAINORG 030H<span style="white-space:pre"></span>;MAIN从0030H处开始MAIN:MOV A, #0FEH<span style="white-space:pre"></span>;00000001,只让D1亮LOOP:MOV P2, AACALL DELAY<span style="white-space:pre"></span>RL A<span style="white-space:pre"></span>;循环左移JMP LOOPDELAY:MOV R5, #25<span style="white-space:pre"></span>;延时函数F1:MOV R6, #100F2: MOV R7, #100DJNZ R7, $DJNZ R6, F2DJNZ R5, F1RETEND经验总结:
1、在"MOV A, #0FEH"语句中把#号和F前的0丢掉,导致灯全亮,且不变
2、汇编的转移指令总结:
1)无条件转移指令:
LJMP addr16 :长转移;3字节指令,范围是64k
AJMP addr11 :绝对转移;2字节指令;低字节8位,高字节低5位;执行过程是用11位地址替换当前PC的低11位,所以范围是2k
SJMP rel:短转移;2字节指令;范围是-128~127k
JMP @A+DPTR :变址寻址转移
2)条件转移指令:
减一条件指令:DJNZ Rn/direct rel;注意操作数;指令的操作是Rn和direct的内容减一,如果结果不是0,则转移,是0则按顺序执行
累加器到零转移指令:JZ/JNZ rel;JZ是当(A)=0,则转移,否则顺序执行,JNZ相反
比较转移指令:CJNE 有3个操作数第一个操作数减去第二个操作数,若为零则不转移,小于/小于零CY置1/0,并且转移(第3个操作数为rel)
3)位控制转移:
以CY为条件的转移指令:JC/JNC rel,CY是0/1时转移
以位状态为条件的转移指令:JB/JNB/JBC bit,rel,JBC的含义是该位是零时转移并且清零
3、汇编延时的计算:使用的振荡频率是12MHZ,一个机器周期为1微秒,一个DJNZ语句的执行需要两个机器周期,则延长时间是100*100*25*2微秒=0.5秒(只是大概估算)
4、调用子程序的指令有ACALL和LCALL两种分别是11位的绝对转移和16位的转移;返回指令也有两种:RET和RET1,分别是一般子程序的返回和中断程序的返回
- 51单片机那点儿事_从LED开始
- 5-《电子入门趣谈》第一章_一切从单片机开始-1.3.2LED数码管
- 测试那点儿事
- 生活那点儿事
- 做人那点儿事
- IT外企那点儿事
- IT外企那点儿事
- IT外企那点儿事
- IT外企那点儿事
- 多线程的那点儿事
- IT外企那点儿事
- 多线程的那点儿事
- 多线程的那点儿事
- 多线程的那点儿事
- 多线程的那点儿事
- 多线程的那点儿事
- Js--判断那点儿事
- 2-《电子入门趣谈》第一章_一切从单片机开始-1.1单片机概述
- 我的Java问题集(1)(重点、难点、疑点)未完待续...
- HDU 2795 Billboard(线段树)
- WSHPSRS-挑库选择列表生成-SRS(R12.2.3)
- python 函数形式
- 绕过Dalvik验证技术分析
- 51单片机那点儿事_从LED开始
- 领导者需要警惕的六大日常决策陷阱
- operator=处理自我赋值
- 基于超星网页阅读的在线阅读的书籍下载软件,java实现。
- nginx rewrite学习
- 堆和栈的区别
- C语言堆栈入门——堆和栈的区别[1]
- 【公式计算,给定年月日输出星期几】
- 再见,IE6... 再见,Flash