班级: 二技电甲
姓名: 林 桀 民
学号: AD89017
相关知识
MCS51 Intel 公司设计8051系列单芯片总名称 MCS51家族里较具知名度编号8051 8751 & 8031 实际编号单芯片相核心CPU指令制造IC时予周边设计 分赋予IC特编号
功:
MCS51系列单芯片功列举
专控制应设计8位CPU
完整单位元逻辑运算指令具布尔运算力
32条(4Port)双条单独寻址IO
部两16位TimerCounter
通信全双工UART(串行IO)
接受5中断源2层优先权中断结构
部时脉震荡器(高频率12MHz)
部4K程序存(ROM)128byte数存储器(RAM)
外部扩充64K程序存(EPROM)
外部扩充64K数存储器(RAM)
8051部结构方块图
8051接脚图功(40):
系统读取外部程序接低电位
EAVppPsen
高电位动作 系统重置 PC回0000H
RESET(9脚)
串行通讯输出入(P30 P31)
RXDTXD
外部中断输入(P32 P33)
INT01
计时计数器输入(P34 P35)
T0T1
8位IO端口外接存做址线
P20~P27
址闩锁致信号
ALEProg
外部数读取写入(P37 P38)
RDWR
8位IO端口
P10~P17
8位IO端口外接存做数址线
P00~P07
时脉反相放器输出入端 接石英振荡器
XTAL12(1918脚)
电源(5V) 接
Vcc(40脚)Vss(20脚)
功
接脚
8051基电路图:
基电路中振荡电路开机重置电路
振荡电路:8051芯片部振荡器作CPU时脉设计时脉源时芯片部振荡器1819脚两脚间接振荡频率范围35M~12MHZ石英振荡晶体陶质振器接20PF~50PF电容
重置电路:微电脑系统均硬件重置功硬件重置确保CPU开机时程序
预定起始址开始执行系统机时系统重新开始8051重信号输入脚第9脚输入脚高电位动作高电位少维持2机械周期24振荡周期开机时RST脚电位高电位促系统重置利电容充电效应RST接脚电位降成低电位8051完成重置动作固定程序存址0000H开始执行
8051存介绍:
8051存包含程序存(ROM)数存储器(RAM)两种分途程序存作储存执行程序数存储器存放程序执行程中产生数8051读取程序存专控制线PSEN程序存数存储器二者选址时完全独立相干
程序存(ROM)结构:
89C514K程序存中列重址没 作般程序存单芯片系统程序储存程序存(ROM)般805152提供4~8K Bytes程序存者编辑程序组译(Assembler)连结(Link)烧录单芯片ROM果采89C51芯片重复烧录次次烧录前次烧录程序动清采8031芯片身没建ROM必须采外部扩充存
TIMER0中断服务程序址
000BH
TIMER1中断服务程序址
001BH
UART串行通讯服务程序址
0023H
功
址
INT1外部中断服务程序址
0013H
INT0外部中断服务程序址
0003H
RESET程序开始执行址
0000H
程序存配置图
单芯片数存储器(RAM)结构:
8051数存储器机存取者时读取写入数通常程序执行时存放数缓存器
SCONSBUF
1 byte X2
(98H99H)
PSWACC
1 byteX2
(D0HE0H)
特殊缓存器(SFR)
128 byte
80H~FFH
功
长度
址
TCONTMODTLTH
6byte
(88H~8DH)
者直接寻址
设定SP建立堆栈区
80 byte
30H~7FH
位数寻址
8bit×16
20H~2FH
R0~R7四缓存器库
8byte×4
00H~1FH
数存储器(RAM)单芯片执行程序时储存处理数方般805152提供128~256 Bytes数存储器中区分列项功缓存器存区:
n [00~1FH]32字节分四缓存器库分RB0RB1RB2RB3缓存器库8缓存器分R0R1R2R3R4R5R6R7
n [20~2FH] 16位(2 BYTES)做直接位寻址例SETB 20H0CLR 20H1
n [30~7FH] 80字节存区称者RAM直接寻址存取资料时者透设定SP定堆栈数区
n [80~FFH]128字节数80318051芯片没提供80318052芯片做间接寻址数区直接寻址状态缓存器(SFR)中包括P0P1P2P3端口应缓存器稍候作UART通讯功会SCON串行控制缓存器定时器计数器控制缓存器…
熟悉存结构撰写单芯片程序会帮助读者想行撰写修改单板微电脑系统监督程序点工夫存功结构做充分解
中断量址:
部程序存址中断关称址中断量撰写程序时程序身没利中断功七特址视般程序存址处理程序中某中断时该中断应址必须保留
该中断发生时接执行位该址指令列址种中断服务程序进入点
功
址
中断
串行埠中断量
0023H
UART
计时计数中断TIMER2量
002BH
TIMER2
计时计数中断TIMER1量
001BH
TIMER1
计时计数中断TIMER0量
000BH
TIMER0
外部中断INT1量
0013H
INT1
外部中断INT0量
0003H
INT0
系统重置启始址
0000H
RESET
单芯片指令集:
数寻址指令:累加器缓存器直接 间接存寻址IO端口间数转移
算术运算指令:数做加(ADD)减(SUB)(MUL)(DIV)运算加(INC)减(DEC)等运算
逻辑运算指令:数做AND(ANL)OR(ORL)XOR (XRL)运算RRRLRRCRLC位旋转功
布尔代数运算指令:位数清设定SETBCLR位数运算ANL C bit等
程序流程控制:循环呼子程序(CALL)中断条件判断跳跃JMPJZCJNZDJNZRET等指令
范例应:
名称:
单开关控制灯号变化指拨开关控制程序流造成灯号变化
动作求:
接阜脚P27指拨开关拨ON位置时P27阜脚低电压接P08LED灯停作霹雳灯动作直制止拨开关拨OFF位置时P27高电位LED灯号变成奇偶位置停交互亮灭
电路图:
程序:
ORG 00H
START: JB P27LOOP2 检查P271跳LOOP2否执行
LOOP1: MOV DPTR#TABLE 设定表格起始止DPTR
MOV R3#07H 设定表格数址组数R3
MOV A#00H 设定偏移量起始址值0A缓存器
L1: JB P27LOOP2 LOOP1循环中DPTRA
MOV R0A 序表格取出七字节数送
MOVC A@A+DPTR 传P0作霹雳灯动作检查P27变
MOV P0A 化决定否跳出LOOP1循环
MOV R5#5
ACALL DELAY
MOV AR0
INC A
DJNZ R3L1
AJMP LOOP1 条件跳出LOOP1
LOOP2: MOV A#55H L2循环中停作奇偶灯交互换互亮灭动作检查P27变化已决定否跳出L2循环
L2: JNB P27LOOP2
MOV P0A
MOV R5#5
ACALL DELAY
XRL A#FFH
AJMP L2
DELAY: MOV R3#38H 子程序延迟时间R5*20ms
D1: MOV R6#F9H
DJNZ R6
DJNZ R7D1
DJNV R5DELAY
RET
TABLE: DB 7EH0BDH0DBH07EH 霹雳灯表格数
DB 0DBH0BDH7EH
END
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档