单片机单片机倒计时汇编语言解析

君,已阅读到文档的结尾了呢~~
此为我的学习笔记,参考摘录了多本书中的内容,以AVR单片机的结构,特点,系统等作了详细描述,适合当作手册来翻阅。文中相关部分是以汇编语言来描述的。但最终要大量使用的是C语言,具体请看《学习笔记之二:单片机编程之C语言》。
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
学习笔记之 AVR单片机详解+汇编语言编程
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口51单片机汇编语言(二)
6.6功能说明:单片机P1端口接8只LED,每次点亮两只,先从右边向左边移动点亮;再从左边向右边移动点亮,然后闪烁两次,重复循环。
程序:JS06.ASM
#7&&&&&&&&&&&&
&;设左移7次
02:&&&&&&&&&
&MOV&& A,#0FCH
&&&&&&&&&&&;存入开始亮灯位置
&&&&&&&&;传送到P1并输出&&
04:&&&&&&&&&&&
&DELAY&&&&&&&&
;调延时子程序
05:&&&&&&&&&&&&
&&&&&A&&&&&&&&&
&&&&&;左移一位
06:&&&&&&&&&&&&
LOOP&&&&&&
;判断移动次数&&&&&
07:&&&&&&&&&&&&
&&&&&&&&;设右移7次
&&&&&A&&&&&&&&&&&&&
&;右移一位&&&&&&&&&
09:&&&&&&&&&&&&
&&&&&&&&;传送到P1并输出
10:&&&&&&&&&&&
&&&&DELAY&&&&&&&&&
;调延时子程序
11:&&&&&&&&&&&&
&R1, LOOP1
&&&&&&;判断移动次数&&&&&
12:&&&&&&&&&&&&
&&&&&&&;设置闪烁次数
13:&&&&&&&&&&&&
&&&&&&&&;设初始值
A&&&&&&&&&&
&;P1端口灯亮
15:&&&&&&&&&&
&&&&DELAY&&&&&&&&&
;调用延时子程序
16:&&&&&&&&&&&&
&&&&&A&&&&&&&&
&&&&&&;A取反值
17:&&&&&&&&&&&&
&&&&&&;判断闪烁次数&&&&&
18:&&&&&&&&&&&&
&&&&&&START&&&
&&&&&&;重新设定显示值&&&&&&&&&&&
&&&MOV&&&&&
22:&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
23:&&&&&&&&&
&24:&&&&&&&&&
25:&&&&&&&&&
&&&RET&&&&&&&&&&&&
&&&&&&&&&&&;子程序返回&&&&&&&
26:&&&&&&&&&
&&&END&&&&&&&&&&&&
&&&&&&&&&&&;程序结束&&&&&&&&&&&&&&&&&&&&&&&&
6.7功能说明
单片机端口接八只LED,编程时利用取表的方法,使端口P1做单一灯的变化:先向左移2次,然后向右移2次,再闪烁4次,不断循环。
程序:JS07.ASM
START:& MOV& DPTR,
#TABLE&& ;存表
A&&&&&&&&&&&&
;A清零&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
03:&&&&&&&&&&&&
@A+DPTR&&&
;取表代码
04:&&&&&&&&&&&&
CJNE& A, #01H, LOOP1;不是01H,循环
05:&&&&&&&&&&&&
START&&&&&&&&
;重新设定
LOOP1:& MOV&&
;送P1输出
07:&&&&&&&&&&&&
DELAY&&&&&&&&
;调延时程序
08:&&&&&&&&&&&&
DPTR&&&&&&&&&
;数据指针加1
09:&&&&&&&&&&&&
LOOP&&&&&&&&&
;转移到LOOP处&&&
DELAY:& MOV&
R5,#25&&&&&&&&
;延时0.5秒&&
DLY1:&& MOV&
R6,#100&&&&&&&
DLY2:&& MOV&
R7,#100&&&&&&&
13:&&&&&&&&&&&&
R7,$&&&&&&&&&&
;&&&&&&&&&&&&&&&&&&&&&&&&&
14:&&&&&&&&&&&&
R6,DLY2&&&&&&&
15:&&&&&&&&&&&&
R5,DLY1&&&&&&&
16:&&&&&&&&&&&&
RET&&&&&&&&&&&&&&&&
TABLE:& DB&&
0FEH,0FDH,0FBH,0F7H& ;
18:&&&&&&&&&&&&
0EFH,0DFH,0BFH,7FH&&
19:&&&&&&&&&&&&
0FEH,0FDH,0FBH,0F7H& ;
20:&&&&&&&&&&&
0EFH,0DFH,0BFH,7FH&&
21:&&&&&&&&&&&&
7FH,0BFH,0DFH,0EFH&& ;
22:&&&&&&&&&&&&
0F7H,0FBH,0FDH,0FEH&
23:&&&&&&&&&&&&
7FH,0BFH,0DFH,0EFH&& ;
24:&&&&&&&&&&&&
0F7H,0FBH,0FDH,0FEH&
25:&&&&&&&&&&&&
00H,0FFH,00H,0FFH&&&
26:&&&&&&&&&&&&
00H,0FFH,00H,0FFH&&&
27:&&&&&&&&&&&&
01H&&&&&&&&&&&&&&&&&
28:&&&&&&&&&&&&
END&&&&&&&&&&&&&&&&&&&&&&
;&&&&&&&&&&
7.1功能说明
让一位数码管静态显示数字“6”。
程序:SMG1.ASM
START:& MOV&&
DPTR, #TABLE& ;
&存入表的起始地址
02:&&&&&&&&&&
#6&&&&&&&&&&
;& 将欲显示的数字6存入A
03:&&&&&&&&&&&&
@A+DPTR&& ;
&按地址取代码并存入A
04:&&&&&&&&&&&&
&MOV&& P0,
将代码送P0转变数字显示
05:&&&&&&&&&&&&
&$&&&&&&&&&&&&
程序运行在当前状态
TABLE: &DB& 0C0H, 0F9H, 0A4H,
07:&&&&&&&&&&&
99H,& 92H,&
82H,& 0F8H;&
08:&&&&&&&&&&&&
&DB& 80H,&
90H,& 88H,&
09:&&&&&&&&&&&&
&DB& 0C6H, 0A1H,
86H,& 8EH;&&
&&&&&&&&&&代码表
10:&&&&&&&&&&&
&&END&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&程序结束
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。【汇编语言】51单片机汇编语言指令集
我的图书馆
【汇编语言】51单片机汇编语言指令集
51单片机汇编语言指令集
指&令&集(111条)
1.数据传送指令(30条)
寄存器送&A&
直接字节送A&
间接RAM&送A&
立接数送&A&
A&送寄存器
直接数送寄存器
立即数送寄存器
A&送直接字节
寄存器送直接字节
直接字节送直接字节
间接&Rn&送直接字节
data,#data
立即数送直接字节
A&送间接&Rn
直接字节送间接Rn
立即数送间接&Rn
DPTR,#data16
16&位常数送数据指针
直接位送进位位
进位位送直接位
A+DPTR&寻址程序存贮字节送&A
A+PC&寻址程序存贮字节送A
外部数据送A(8&位地址)
外部数据送A(16&位地址)
A&送外部数据(8&位地址)
A&送外部数据(16&位地址)
直接字节进栈道,SP&加1
直接字节出栈,SP&减1
寄存器与&A&交换
直接字节与A&交换
间接Rn&与A&交换
间接Rn&与A&低半字节交换
2.逻辑运算指令(35条)
寄存器与到A
直接字节与到A
间接RAM与到A
立即数与到A
A与到直接字节
data,#data
立即数与到直接字节
直接位与到进位位
直接位的反码与到进位位
寄存器或到A
直接字节或到A
间接RAM或到A
立即数或到A
A或到直接字节
data,#data
立即数或到直接字节
直接位或到进位位
直接位的反码或到进位位
寄存器异或到A
直接字节异或到A
间接RAM异或到A
立即数异或到A
A异或到直接字节
data,#data
立即数异或到直接字节
进位位置&1
直接位置&1
进位位清&0
直接位清&0
进位位取反&
直接位取反
A循环左移一位&
A&带进位左移一位
A&带进位右移一位
A&半字节交换
3.算术运算指令(24条)
寄存器加到A&
直接字节加到A
间接RAM&加到A
立即数加到A
寄存器带进位加到&A
直接字节带进位加到A
间接RAM&带进位加到A
立即数带进位加到&A
从A&中减去寄存器和进位
从A&中减去直接字节和进位
从A&中减去间接RAM&和进位
从A&中减去立即数和进位
寄存器加&1
直接字节加1
间接RAM&加1
数据指针加1
寄存器减&1
直接字节减1
间接RAM&减1
A十进制调整
4.转移指令(22条)
相对于DPTR&间接转移
若A=0&则转移
若A≠0&则转移
若C=1&则转移
若C≠1&则转移
若直接位=1&则转移
若直接位=0&则转移
若直接位=1&则转移且清除
A,data,rel
直接数与&A&比较,不等转移
A,#data,rel
立即数与&A&比较,不等转移
@Ri,#data,rel
立即数与间接RAM比较,不等转移
Rn,#data,rel
立即数与寄存器比较不等转移
寄存器减&1&不为0&转移
直接字节减1&不为&0&转移
ACALL addr
绝对子程序调用
LCALL addr
子程序调用
子程序调用返回
中断程序调用返回
馆藏&119261
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 单片机汇编语言入门 的文章

 

随机推荐