51系列单片机全部知识点汇总—汇编语言篇

AT89C51单片机是一款经典的8位微控制器,具备多种功能模块。下面将详细描述其主要功能模块,代码基于汇编语言编程。

1. 引脚分配与电源管理

电源引脚

ORG 0000H

ORG 0003H ; 复位中断向量地址

RET

注释:此代码段仅用于初始化程序的开始,实际应用中需要根据具体需求进行扩展。

时钟系统

ORG 0000H

MOV R1, #125 ; 设置外部时钟频率为12MHz

MOV R2, #6 ; 设置振荡器为晶体振荡器

MOV R3, #0 ; 设置为低功耗模式

MOV R4, #0 ; 设置为低功耗模式

MOV R5, #0 ; 设置为低功耗模式

MOV R6, #0 ; 设置为低功耗模式

MOV R7, #0 ; 设置为低功耗模式

MOV R8, #0 ; 设置为低功耗模式

MOV R9, #0 ; 设置为低功耗模式

MOV R10, #0 ; 设置为低功耗模式

MOV R11, #0 ; 设置为低功耗模式

MOV R12, #0 ; 设置为低功耗模式

MOV R13, #0 ; 设置为低功耗模式

MOV R14, #0 ; 设置为低功耗模式

MOV R15, #0 ; 设置为低功耗模式

MOV R0, #0 ; 设置为低功耗模式

MOV R1, #125 ; 设置外部时钟频率为12MHz

MOV R2, #6 ; 设置振荡器为晶体振荡器

MOV R3, #0 ; 设置为低功耗模式

MOV R4, #0 ; 设置为低功耗模式

MOV R5, #0 ; 设置为低功耗模式

MOV R6, #0 ; 设置为低功耗模式

MOV R7, #0 ; 设置为低功耗模式

MOV R8, #0 ; 设置为低功耗模式

MOV R9, #0 ; 设置为低功耗模式

MOV R10, #0 ; 设置为低功耗模式

MOV R11, #0 ; 设置为低功耗模式

MOV R12, #0 ; 设置为低功耗模式

MOV R13, #0 ; 设置为低功耗模式

MOV R14, #0 ; 设置为低功耗模式

MOV R15, #0 ; 设置为低功耗模式

MOV R0, #0 ; 设置为低功耗模式

MOV A, #0x00 ; 清零寄存器A

MOV R0, A ; 设置为低功耗模式

END

注释:此代码用于初始化时钟系统,设置外部时钟频率为12MHz,使用晶体振荡器,并进入低功耗模式。

2. CPU核心与存储器

CPU核心

ORG 0000H

MOV A, #0x01 ; 设置累加器A为0x01

MOVX @DPTR, A ; 将A的内容写入外部数据存储器

INC DPTR ; 增加DPTR的值

MOVX @DPTR, A ; 再次写入外部数据存储器

END

注释:此代码段用于操作CPU的核心功能,如累加器A的设置和外部数据存储器的写入。

存储器

ORG 0000H

MOV A, #0x01 ; 设置累加器A为0x01

MOVX @DPTR, A ; 将A的内容写入外部数据存储器

INC DPTR ; 增加DPTR的值

MOVX @DPTR, A ; 再次写入外部数据存储器

END

注释:此代码段用于操作存储器,如外部数据存储器的读写操作。

3. I/O端口

ORG 0000H

MOV A, #0x01 ; 设置累加器A为0x01

MOV P0, A ; 将A的内容写入P0口

MOV P1, A ; 将A的内容写入P1口

END

注释:此代码段用于操作I/O端口,如将数据写入P0和P1口。

4. 定时器/计数器

ORG 0000H

MOV TMOD, #0x01 ; 设置定时器模式为1

MOV TL0, #0x00 ; 设置定时器0的低8位为0

MOV TH0, #0x00 ; 设置定时器0的高8位为0

MOV TR0, #1 ; 启动定时器0

END

注释:此代码段用于配置定时器/计数器,如设置为16位模式,启动定时器0。

5. 中断系统

ORG 0000H

MOV IE, #0x82 ; 开启中断

END

注释:此代码段用于配置中断系统,如开启中断。

6. 串行通信接口

ORG 0000H

MOV SCON, #0x50 ; 设置串行口工作方式为方式1

MOV TH1, #0x00 ; 设置定时器1的低8位为0

MOV TL1, #0x00 ; 设置定时器1的高8位为0

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

MOV R14, #0x00 ; 清空中断标志位

MOV R15, #0x00 ; 清空中断标志位

MOV R0, #0x00 ; 清空中断标志位

MOV R1, #0x00 ; 清空发送缓冲器

MOV R2, #0x00 ; 清空接收缓冲器

MOV R3, #0x00 ; 清空中断标志位

MOV R4, #0x00 ; 清空中断标志位

MOV R5, #0x00 ; 清空中断标志位

MOV R6, #0x00 ; 清空中断标志位

MOV R7, #0x00 ; 清空中断标志位

MOV R8, #0x00 ; 清空中断标志位

MOV R9, #0x00 ; 清空中断标志位

MOV R10, #0x00 ; 清空中断标志位

MOV R11, #0x00 ; 清空中断标志位

MOV R12, #0x00 ; 清空中断标志位

MOV R13, #0x00 ; 清空中断标志位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值