CPU由运算器和控制器两部分组成,主要完成取指令、指令译玛、发出各种操作所需的控制信号,使单片机各个部分协调工作。
SP 堆栈指针:8位寄存器,用来指示堆栈的位置,可由软件修改。
作用:①保护程序的断点地址(既返回地址);
②保护数据(也称保护现场)
始终指向栈顶,在RAM区(片内数据存储区)
片内RAM分为两个区域,一个是通用数据存储器,一个是特殊功能寄存器SFR
当引脚EA=1时, CPU从片内ROM的0000H单元运行程序;(高电平)
打开/喂狗:要打开WDT,用户必须顺序将01EH和0E1H写到WDTRST寄存器(SFR地址为0A6H)中
WDT溢出将使RST引脚输出高电平的复位脉冲,复位脉冲持续时间98个时钟周期
对外设:低八位传PO,高八位P2
P0.0 - P0.7: P0端口线(39-32脚)
输出能力最强的端口,可带动8个TTL负载;
具有两种工作方式:
①普通的I/O方式;
②系统扩展时的总线方式。(分时)
当处于I/O方式时:端口内部输出电路呈“开路结构”,所以当驱动MOS负载时,应接一个10K左右的上拉电阻,否则无法输出高电平。
当处于扩展方式时:P0口成为外部存储器提供低八位地址和数据的“复用总线” (此时不能作为通用的I/O端口)。
立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、变址寻址、位寻址
加法指令:ADD,
带进位加法:ADDC
加一指令:INC
带借位减法指令:SUBB
减一指令:DEC
乘法指令:MUL
除法指令:DIV
MOVC A,@A+DPTR,后面是原操作数,前面是目的操作数。寄存器间接寻址。
MOV A,@R1 间接寻址
MOV A,R1 直接寻址
预处理命令,提高效率。
reg52.h是一种特定于8051微控制器的头文件,它包含了8051芯片的寄存器地址及相关定义,使得程序员可以直接访问芯片的硬件资源,简化了程序设计。通过包含reg52.h头文件,可以使用其中定义的寄存器和位定义,实现对芯片内部寄存器的操作,如IO口、定时器、中断等,从而完成特定的控制任务。
using 0.1.2.3,改变工作寄存器组
最常用的寄存器。所有的算术运算指令所要使用的寄存器且运算结果都存放在A中。
psw:8位寄存器,表征程序执行的状态信息,存放指令执行的有关状态信息
=
波特率,每秒传送几个比特。
每分钟多少个字符
,比如1+8+0+1=10,即一个字符要有10个比特
INC0-7的地址怎么直接进行访问?
外部中断会修改
INT0‾\overline{INT0}INT0 interrupt 0
INT1‾\overline{INT1}INT1 interrupt 2
P2口(该图只有P2^7(可能会改)取低电平(低电平有效),其余取高电平)
P0口最低三位(区分8个通道)
填空:
搞懂硬件和程序(硬件会变,八个通道会变,中断的启动转好、中断号)
mov A,@R0(间接寻址要)
ADC A,(加数、被加数、进位)
INC R0(指针变量的修改)
DJNZ R2,LOOP(减一不为0循环)
JC(C=1) ,JNC(C=0)
程序开始的定义
数组里面,可能是学号、姓名的全拼(要算出长度)—>不需要计算\n
调用初始化函数、确定位置
给定热释电红外传感器、有源蜂鸣器
给最小系统 、按键、发光二极管、有缘蜂鸣器、热释电红外传感器(有人靠近输出高电平、没有人输出低电平)读取就行,有人靠近就报警,或者按键按下就报警(A卷和B卷)并且二极管闪烁
画出晶振电路(30pf)、复位电路
原理图(10分)程序(10分)
给定部分电路,一些元器件的应用、工作方式,添加电路。
(T0、T1)不一定50ms
算定时初值(算出来a)
转换成十位个位
首先,这门课如果是一些有基础的人,听起来还是很简单的,把老师所画的重点认真学习一遍,千万注意的是,一定要动手把代码用手写一遍!!!,光看记不住的