1、电可擦除可编程EEPROM:可用电信号进行清除和改写。存储容量:存储容量指存储器可以容纳的二进制信息量,M位地址总线、N位数据总线的存储器容量为2MN位。80C51单片机的存储器有内部RAM(128B,高128B为专用寄存器)、外部RAM(64KB)、内部ROM(4KB掩膜ROM)、外部ROM(64KB)。(3)输入输出接口4个8位并行I/O口(P0、P1、P2、P3)(4)其它资源一个全双工串行口、5个中断源、2个16位的定时/计数器、时钟电路。2、80C51单片机的信号引脚(1)电源部分:VCC接+5V、VSS接地。(2)时钟电路部分:XTAL1和XTAL2接晶振。1个机器周期=6个状态=
2、12个拍节6MHZ的晶体机器周期2us,12MHZ的晶体机器周期1us。(3)I/O口部分:P08位数据总线/地址总线低8位、P1用户口、P2地址高8位、P3第二功能。(4)控制部分:地址锁存控制信号ALE,用于控制把P0口输出的低8位地址送入锁存器锁存地起来。外部程序存储器读选通信号PSEN,低电平有效,以实现外部ROM单元的读操作。访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读内部ROM,再读外部ROM。复位信号RST,当输入的复位信号延续2个机器周期以上高电平时即为有效。复位值:PC=0000H,SP=07H,P0=0FFH。3、内部RAM的基本结构与功能80C51的内
3、部数据存储器低128单元区,称为内部RAM,地址为007FH。(1)寄存器区(001FH)共分为4组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7R0编号。由PSW中RS1、RS0位的状态组合来决定哪一组。(2)位寻址区(20H2FH)可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为007FH。位起始地址D0=(字节地址-20H)*8(3)用户RAM区(30H7FH)堆栈、缓冲区堆栈是在内部RAM中开辟的,最大特点就是“后进先出”的数据操作原则。两项功能:保护断点和保护现场。两种操作:进栈和出栈。SP堆栈指针,它的内容就是堆栈栈顶单元的地址。4、专用寄存器(
4、内部数据存储器高128单元)(1)累加器A(ACC)(2)寄存器B(3)程序状态字PSWCY进位标志位,最高位的进位或借位。AC半进位标志位,低4位向高4位的进位或借位。OV溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和减数符号相同,有溢出。PA中1的个数,奇数个P=1,偶数个P=0。(4)数据指针DPTR:80C51中惟一一个供用户使用的16位寄存器。高8位DPH,低8位DPL。第3章 80C51单片机指令系统1、寻址方式 (1)立即寻址(#data,#data16)例:MOV A,#00H(2)直接寻址(direct)内部RAM:007FH、特殊功能寄存器 例:MOV
5、 A,00H(3)寄存器寻址(A、B、Rn、DPTR)(4)寄存器间接寻址(Ri、DPTR)例:MOVX A,DPTR(5)变址寻址(A+DPTR,A+PC)例:MOVC A,A+DPTR(6)位寻址(bit)202FH:MOV C,00H(7)相对寻址(rel)例:JZ rel2、数据传送类指令(1)内部RAM数据传送指令 MOV 目的,源;目的源 交换指令: XCH A,direct/Rn/Ri;A和源交换 XCHD A,Ri;只换低4位 SWAP A;A的高低4位交换注意:A作目的操作数会影响P。 PUSH direct POP direct(2)外部RAM数据传送指令 MOVX A,R
6、i/DPTR;外部地址内容A MOVXRi/DPTR,A;A外部地址内容(3)ROM数据传送指令 MOVC A,A+DPTR/A+PC;查表指令3、算术运算指令(1)加法指令 ADD/ADDC A,#data/ direct/ Rn/Ri;会影响CY、AC、OV、P INC A/ direct/ Rn/Ri/DPTR;加1,P DA A;十进制调整,大于9加6(2)减法指令 SUBB A,#data/ direct/ Rn/Ri; DEC A/ direct/ Rn/Ri;减1(3)乘除指令 MUL AB;(A)*(B)BA,会影响CY=0,OV,P DIV AB;(A)/(B)的商A,余数B
7、4、逻辑运算及移动指令(1)逻辑运算指令 ANL/ORL/XRL A,#data/ direct/ Rn/Ri ANL/ORL/XRL direct,A/#data与清0,或置1,异或取反 CLR/CPL A;清0和取反(2)移位指令 RL/RR/RLC/RRC A每左移一位相当于乘2,每右移一位相当于除2,带进位的移会影响CY和P。5、控制转移类指令(1)无条件转移指令 LJMP addr16;addr16PC,64KB AJMP addr11;(PC)+2PC,addr11PC100,2KB SJMP rel;(PC)+2+relPC,256B JMP A+DPTR;(A)+(DPTR)P
8、C,64KB(2)条件转移指令 累加器A判0转移指令JZ rel;A为0 JNZ rel;A不为0 比较不相等转移指令 CJNE A/Rn/Ri,#data,rel CJNE A,direct,rel第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY=0,第一小于第二,CY=1。第一操作数和第二操作数相等,程序顺序执行,CY=0。减1不为0转移指令 DJNZ Rn/direct,rel;(Rn/direct)-1不为0,程序转移。(3)调用和返回指令 LCALL addr16;(PC)+3PC,先入低8位,再入高8位,addr16PC ACALL addr11;(PC)+2PC,先入
9、低8位,再入高8位,addr11PC100 RET;先出高8位,再出低8位6、位操作类指令(1)位传送指令 MOV C,bit MOV bit,C(2)位赋值指令 CLR C/bit SETB C/bit(3)位逻辑运算指令 ANL/ORL C,bit或/bit CPL C/bit实现逻辑表达式(4)位控制转移指令 JC rel;(CY)=1 JNC rel;(CY)=0 JB bit,rel;(bit)=1 JNB bit,rel;(bit)=0 JBC bit,rel;(bit)=1,转移,清0第4章 80C51单片机汇编语言程序设计1、汇编语言的语句格式【标号:】 操作码 【操作数】 【
10、;注释】标号:语句地址的标志符号。操作码:语句执行的操作内容,用指令助记符表示。操作数:为指令操作提供数据。注释:对语句的解释说明。2、伪指令 起始地址ORG、结束END、赋值EQU、字节DB、字DW、空DS、位BIT3、汇编语言程序的基本结构形式(1)顺序结构(2)分支结构(3)循环结构:数据传送问题、求和问题4、定时程序例:延时100ms的子程序,设晶振频率6MHZ。 DELAY:MOV R5,#250 LOOP2:MOV R4,#49 LOOP1:NOP NOP DJNZ R4,LOOP1 DJNZ R5,LOOP2 RET5、查表程序(1)要查找的数据在表中的位置给A(2)表的首地址给
11、DPTR(3)MOVC A,A+DPTR(4)数据表第5章 80C51单片机的中断与定时 1、中断源和中断请求标志位中断名称中断请求标志中断向量外部中断0IE00003HT0中断TF0000BH外部中断1IE10013HT1中断TF1001BH串行发送中断TI0023H串行接收中断RI2、和中断相关的寄存器的设置(1)定时器控制寄存器TCON格式如下:位D7D6D5D4D3D2D1D0TCONTR1TR0IT1IT0位地址8F8E8D8C8B8A8988IT0=0,为电平触发方式。 低电平有效。IT0=1,为边沿触发方式。 输入脚上电平由高到低的负跳变有效。IE0=1,说明有中断请求,否则IE
12、0=0。(2)中断允许控制寄存器IE 其各位的定义如下: 代号EAESET1EX1ET0EX0EA: 开放或禁止所有中断。ES:开放或禁止串行通道中断。ET1:开放或禁止定时/计数器T1溢出中断。EX1:开放或禁止外部中断源1。ET0:开放或禁止定时/计数器T0溢出中断。EX0:开放或禁止外部中断源0。(3)中断优先级控制寄存器IP 各位的定义如下:PSPT1PX1PT0PX01为高优先级、0为低优先级。如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。查询次序为:外部中断0、T0中断、外部中断1、T1中断、串行中断。3、响应中断的必要条件(1)有中断源发出中断请求。(
13、2)中断允许寄存器IE相应位置“1”,CPU中断开放(EA=1)。(3)无同级或高级中断正在服务。(4)现行指令执行到最后一个机器周期且已结束。若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且其紧接着的指令也已执行完。中断响应的主要内容是由硬件自动生成一条长调用指令,指令格式为“LCALL addr16”。这里的addr16就是程序存储器中断区中相应中断的入口地址。4、中断程序设计(1)在0000H处存放一条无条件转移指令转到主程序。(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。(3)设置触发方式(IT0/IT1)(4)设置IE和IP。(5)设置SP。
14、(6)原地踏步。(7)中断服务子程序。最后RETI。5、定时计数的基本原理(1)定时功能:每个机器周期计数器加1。(2)计数功能:T0(P3.4)和T1(P3.5)输入计数脉冲,每一来一个脉冲计数器加1。6、用于定时计数的寄存器的设置TF1、TF0计数溢出标志位。当计数器产生计数溢出时,由硬件置1。采用查询方式,它是供查询的状态位。采用中断方式,作为中断请求信号。TR1、TR0计数运行控制位。为1时,启动定时器/计数器工作;为0时,停止定时器/计数器工作。(2)工作方式控制寄存器TMOD其格式如下:GATE:门控位。当GATE=1时,同时INTx为高电平,且TRx置位时,启动定时器,外部启动。
15、当GATE=0时,每当TRx置位时,就启动定时器,是内部启动方式。C/T:选择定时器功能还是计数器功能。该位置位时选择计数器功能;该位清零时选择定时器功能。M1M0:这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式:M1M0方式说明TLx低5位与THx中8位构成13位计数器1TLx与THx构成16位计数器2可自动再装入的8位计数器,当TLx计数溢出时,THx内容自动装入TLx。3对定时器0,分成两个8位的计数器;对定时器1,停止计数。7、各种工作方式计数初值计算公式方式0:定时时间T=(8192-计数初值)机器周期计数次数C=8192-X方式1:定时时间T=(65536-计数
16、初值)计数次数C=65536-X方式2:定时时间T=(256-计数初值)计数次数C=256-X8、定时器程序设计查询方式:(1)在0000H处存放一条无条件转移指令,转到主程序。(2)设置工作方式TMOD。(3)设置计数初值。(4)启动定时计数。(5)等待时间到或计数计满。 LOOP:JBC TF0/TF1,LOOP1 SJMP LOOP(6)重新设置计数初值(除方式2),再转第5步。中断方式:(3)设置工作方式TMOD。(4)设置计数初值。(5)启动定时计数。(6)设置IE和IP。(7)设置SP。(8)原地踏步。(9)中断服务子程序。重新设置计数初值(除方式2),最后RETI。例 选用定时器
17、/计数器T1工作方式0产生500S定时,在P1.1输出周期为1ms的方波,设晶振频率=6MHZ。 (1)根据定时器/计数器1的工作方式,对TMOD进行初始化。 按题意可设:GATE=0(用TR1位控制定时的启动和停止), =0(置定时功能),M1M0=00(置方式0),因定时器/计数器T0不用,可将其置为方式0(不能置为工作方式3),这样可将TMOD的低4位置0,所以(TMOD)00H。(2)计算定时初值( - X)2500 X7942D1111100000110B将低5位送TL1,高8位送TH1得:(TH1)F8H,(TL1)06H(3) 编制程序(查询方式) ORG 0000H LJMP
18、MAIN ORG 0300H MAIN: MOV TMOD,#00H ;TMOD初始化 MOV TH1,#0F8H ;设置计数初值 MOV TL1,#06H SETB TR1 ;启动定时 JBC TF1,LOOP1 ;查询计数溢出 AJMP LOOPCPL P1.1 ;输出取反MOV TL1,#06H ;重新置计数初值 MOV TH1,#0F8H AJMP LOOP ;重复循环 END例 用定时器/计数器T1以工作方式2计数,要求每计满100次进行累加器加1操作。(1)TMOD初始化 M1M0=10(方式2), =1(计数功能),GATE=0(TR1启动和停止),因此(TMOD)=60H。 (
19、2)计算计数初值 -100=156D=9CH 所以 TH1=9CH(3)编制程序(中断方式) AJMP MAIN ;跳转到主程序 ORG 001BH ;定时/计数器1中断服务程序入口地址 AJMP INSERT1 ORG 0030HMAIN:MOV TMOD #60H ; MOV TL1,#9CH ;首次计数初值 MOV TH1,#9CH ;装入循环计数初值启动定时/计数器1 SETB EA ;开中断 SETB ET1 SETB PT1 ;T1为高优先级 MOV SP,#40H SJMP ;等待中断INSERT1:INC A RETI第6章 单片机并行存储器扩展 1、单片机并行扩展总线的组成(
20、1)地址总线:传送地址信号(2)数据总线:传送数据、状态、指令和命令(3)控制总线:控制信号2、80C51单片机并行扩展总线(1)以P0口的8位口线充当低位地址线/数据线(2)以P2口的口线作高位地址线(3)控制信号: 使用ALE作地址锁存的选通信号,以实现低8位地下锁存。 以PSEN信号作为扩展程序存储器的读选通信号。 以EA信号作为内外程序存储器的选择信号。 以RD和WR作为扩展数据存储器和I/O端口的读/写选通信号。3、单片机并行存储器扩展的方法各种外围接口电路与单片机相连都是利用三总线实现。(1)地址线的连接将外围芯片的低8位地址线(A7A0)经锁存器与P0口相连,高8位地址线(A15A8)与P2口相连。如果不足16位则按从低至高的顺序与P0、P2口的各位相连。(2)数据线的连接外围芯片的数据线(D7D0)可直接与P0口相连。(3)控制线的连接ROM:OEPSENRAM:OERD、WEWR片选信号CE的连接方法:(1)接地,适用于扩展一块存储器芯片。(2)线选法
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1