




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机总复习考试题型1、填空题:20空,每空1分,共20分2、单项选择:共10题,每题2分,共20分3、程序题:共5题,共30分4、设计题:共3题,共30分
单片机总复习第1章基础知识1、单片机的定义:SCM,MCU2、微机的硬件组成:运算器,控制器,存储器,输入输出设备(I/O)
最终结果
数中间结果/
据最后结果
原始数据与程序最后结果
程序结束!计算机的工作过程单击鼠标开始!控制器输出设备存储器输入设备运算器存储器第2章硬件结构1、8051:RAM128B,ROM4KB,T0,T1,并行、串行口,振荡器和时钟电路,SFR(高128B)2、单片机最小系统的组成单片机的最小系统是能让单片机运转起来的最小外部组件的集合,它包括三个部分:时钟电路、复位电路、电源。【振荡周期】:单片机外接石英晶体振荡器的周期,是所有信号的最小时间单位。如外接石英晶体的频率若为12MHz,这其振荡周期就是1/12微秒。【状态周期】:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器T0引脚状态所需要的时间。一个状态周期=2个振荡周期。【机器周期】:单片机完成一次完整的具有一定功能的动作所需的时间周期,是指令执行的时间单位。如一次完整的读操作或写操作对应的时间。一个机器周期=6个状态周期。机器周期是单片机定时器和计数器的时间基准。【指令周期】:执行完某条指令所需要的时间周期,一般需要1~4个机器周期,如MULAB指令是四机器周期指令。一个指令周期=1~4个机器周期。3、时序:一定时刻发出一定的控制信号去启动一定的逻辑部件动作,这就是CPU时序。周期信号关系图若外接晶振为12MHz时,则单片机的四个周期的具体值为:
时钟周期=1/12MHz=1/12μs=0.0833μs
状态周期=1/6μs=0.167μs
机器周期=1μs
指令周期=1~4μs可用于计算指令、程序的执行时间,以及定时器的定时时间。问题:若晶振为6MHz时,则机器周期和指令周期分别为多少?)(外部K64RAM
数据存储器
程序存储器1EA内部ROM=外部ROM0EA外部ROM=4、MCS-51单片机存储器组织结构程序存储器中6个具有特殊含义的单元
0000H——
系统复位,PC指向此处;
0003H——
外部中断0入口
000BH——T0溢出中断入口
0013H——
外中断1入口
001BH——T1溢出中断入口
0023H——
串口中断入口7FH
真正RAM区00HMCS-51单片机片内RAM的配置图FFH
SFR区80H
MCS-51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;
高128字节(80H~FFH)为特殊功能寄存器区SFR。7FH
真正RAM区00HMCS-51单片机片内RAM的配置图FFH
SFR区80H89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;
高128字节(80H~FFH)为特殊功能寄存器区SFR。
7FH
普通RAM区30H2FH
位寻址区20H1FH
工作寄存器区00H返回7FH
真正RAM区00HMCS-51单片机片内RAM的配置图FFH
SFR区80H89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;
高128字节(80H~FFH)为特殊功能寄存器区SFR。
7FH
普通RAM区30H2FH
位寻址区20H1FH
工作寄存器区00H07H0组00H0FH1组08H17H2组10H1FH3组18H1、工作寄存器区是指00H~1FH区,共分4个组,每组有8个单元,共32个内部RAM单元。2、每次只能有1组作为工作寄存器使用,其它各组可以作为一般的数据缓冲区使用。3、作为工作寄存器使用的8个单元,又称为R0—R74、程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择哪一组作为工作寄存器使用。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作。返回RS1、RS0与片内工作寄存器组的对应关系RS1RS0寄存器组片内PAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7返回工作寄存器和RAM地址对照表
返回7FH
真正RAM区00HMCS-51单片机片内RAM的配置下图所示:FFHSFR区80H7FH
普通RAM区30H2FH
位寻址区20H1FH
工作寄存器区00H20H21H22H23H24H25H26H27H2FH1、位寻址区是指20H~2FH单元,共16个单元。2、位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。3、位寻址区的
16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H~7FH。
如表所示。4、同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲区。返回
内部RAM中位地址表返回7FH
真正RAM区00HMCS-51单片机片内RAM的配置图FFHSFR区80H返回89C51内有256B的RAM单元,其地址范围为00H—FFH,分为两大部分:低128字节(00H~7FH)为真正的RAM区;
高128字节(80H~FFH)为特殊功能寄存器区SFR。
1、高128B的RAM单元中有21个单元可用,称为SFR。这21个SFR分散在高128B的地址空间内,分别是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。2、有些可以按位寻址。3、特殊功能寄存器名称、标识符、地址见表
特殊功能寄存器名称、标识符、地址一览表返回返回数据指针(DPTR):
数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。
DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:
MOVX
A,@DPTR
MOVX
@DPTR,A
在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。
MOVC
A,@A+@DPTR注意程序计数器PC(ProgramCounter)程序计数器PC是16位的寄存器,用来存放即将要执行的指令地址,当CPU按照PC指示的地址取出一条指令后,PC值将自动增加,指向下一条指令的首字节地址。程序的寻址空间是64K。堆栈指针SP(StackPointer)
堆栈是一种数据结构,堆栈指针是一个8位寄存器,它指示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的。但我们从RAM的结构分布中可知,08H-1FH隶属1-3工作寄存器区,若编程时需要用到这些数据单元,必须对堆栈指针SP进行初始化,原则上设在任何一个区域均可,但一般设在30H-7FH之间较为适宜。数据写入堆栈我们称为入栈(PUSH,有些文献也称作插入运算或压入),从堆栈中取出数据称为出栈(POP,也称为删除运算或弹出),堆栈的最主要特征是“后进先出”规则,也即最先入栈的数据放在堆栈的最底部,而最后入栈的数据放在栈的顶部,因此,最后入栈的数据出栈时则是最先的。先加(SP+1)后压(数据),先弹(数据)后减(SP-1)。
89H80H70H50H栈底SPSP入栈过程PUSHACC出栈过程POPACCSP89HSP89HAA89H80H70H50H栈底堆栈的使用:例1:分析题某程序段如下,假设SP=60H。
MOVA,#50HMOVB,#30HPUSHAPUSHBPOPDPLPOPDPH程序执行后,SP=DPTR=1、答案:SP=60H
DPTR=5030H
某程序段如下,假设SP=30H,DPTR=4455H。PUSHDPLPUSHDPHPOP08H程序执行后,SP=(08H)=
单片机的其他资源6、引脚7、P0~P3口,掌握各个口的特点8、复位:SP=07H,P0~P3=0FFH复位由RST引脚上持续两个以上机器周期的高电平实现。
单片机的引脚除了我们前面介绍的4个并I/O口,两根时钟引脚(18、19脚),一根复位引脚(9脚),两根电源脚(40、20脚)外,还有PSEN、EA、ALE、RESET等引脚。某程序段如下:CLR RS0SETB RS1
MOV A,#32HMOV R0,AMOV25H,R0CLR RS1MOV R1,AMOV22H,A程序中R0和R1的地址分别为______,________;程序执行后片内RAM中(22H)=______,(25H)=_______。例2:分析题2、答案:10H01H32H32H第3章指令系统1、指令:是人们向计算机发的一种命令;一条指令对应着一种操作。指令组成:操作码助记符操作数指令格式:[标号:]操作码[目的操作数][,源操作数];[注释]LOOP:MOVA,3AH;(A)←(3AH)
括号内的部分是可选项。每个字段之间要用分隔符分隔,可以用作分隔符的符号有空格、冒号、逗号、分号等。
2、七种寻址方式MCS-51指令系统共使用了7种寻址方式,包括寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。按指令功能分:1、数据传送指令(29条)MOV,MOVX,MOVC,XCH,XCHD,SWAP,PUSH,POP2、算术运算指令(24条)ADD,ADDC,SUBB,MUL,DIV,INC,DEC3、逻辑运算指令(24条)CLR,CPL,RL,RLC,RR,RRC,XRL,ORL,ANL4、控制转移类指令(17条)LJMP,AJMP,SJMP,JZ,JNZ,CJNE,DJNZ,LCALL,ACALL5、位操作指令(17条)MOV,SETB,CLR,CPL,JC,JNC,JB,JNB,JBC1、程序设计语言
计算机程序设计语言是指计算机能够理解和执行的语言。程序设计语言的种类很多,归纳起来有三种:
机器语言、汇编语言和高级语言。编程时采用哪种语言由程序设计语言的特点和适用场合决定。
第4章汇编程序设计2、伪指令(1)伪指令与指令的区别:
伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中,伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。(2)常用的伪指令:
ORG
END
DB
DW
DS
EQU
BITP2入口出口P1P3(a)顺序结构过程A过程B是否入口出口条件满足?(b)分支结构过程是否入口出口条件满足?(c)循环结构3、单片机基本程序结构注意:一般用条件转移指令、CJNE、JMP及其配合使用来编写二分支、三分支和多分支程序。
子程序SUB
主程序MAINLCALLSUB调用子程序子程序入口地址RET4、子程序结构重要程序:1)试编写一段程序,将内部数据存储器30H,31H单元内容传送到外部数据存储器1000H,1001H单元中去。
MOV A,30H MOV DPTR,#1000H
MOVX @DPTR,A MOV A,31H INC DPTR
MOVX @DPTR,A用减法指令SUBB来比较两数的大小。执行该指令前,先把进位位清零。通过借位(CY)的状态判断两数的大小。设两个数X和Y,当X≥Y时,(CY)=0;X<Y,(CY)=1。用减法指令比较大小,会破坏累加器中的内容,故作减法前先保存累加器中的内容。执行JNC指令后,形成了分支。执行SJMP指令后,实现程序的转移。2)两个无符号数比较大小(参考课件例题!)
ORG2000HCMP:MOVA,50HCJNEA,40H,CMP1MOVA,51HCJNEA,41H,CMP1SJMPNHIGHECMP1:JCHIGHENHIGHE:MOV42H,#0FFHSJMPDONEHIGHE:MOV42H,#00HDONE:SJMP$END3)两个16位无符号数X,Y比较大小例:有两个16位无符号数X,Y分别存放在内部RAM的40H、41H及50H、51H单元中(高位存放于低地址),当X>Y时,将内部RAM的42H单元清0;否则,将该单元置成全1。40H41H50H51H42HxyCJNEA,direct,rel——将A(或@Ri,或Rn)与#data(或direct)相比较,其值不相等就跳转;相等则不跳转,继续往下走。若目的操作数大于/等于源操作数,则CY=0,否则CY=1。
JCrel——(Cy)=“1”就跳转;否则不跳转5、延时程序的编写利用定时器定时利用指令本身的机器周期设置循环计数器,合理赋初值。注意内循环和外循环的关系。Delay:
MOVR6,0MOVR7,0DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoopRET例:写一个软件延时1S和1min的子程序。设fosc=6MHz,则1个机器周期=2μs。(1)1s=2μs×5×1055×105=250×2000=250×200×5×2ORG0000HDELAY1S:MOVR5,#5DEL1:MOVR6,#200DEL2:MOVR7,#250DEL3:DJNZR7,DEL3DJNZR6,DEL2DJNZR5,DEL1RET(2)1min=60S,调用上面1s子程序60次ORG0100HDELAY1M:MOVR0,#60LOOP:LCALLDELAY1SDJNZR0,LOOPRET功能—计数,定时4种工作方式,TMOD设置,初值计算,初值重置方式程序设计—中断方式、查询方式第5章定时/计数器定时功能
对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加1。定时/计数器初值预置初值X的计数方法(设最大值为M,计数值为N,初值为X,Tcy=12÷晶振频率)初值计算:X=M-定时时间/Tcy2、方式和控制寄存器
方式寄存器TMODSFR寄存器,地址89H控制T0、T1的工作方式仅可字节寻址GATEM1M0GATEM1M0
T1方式控制
T0方式控制控制寄存器TCONSFR寄存器,地址88H即参与定时控制又参与中断控制与定时控制相关的有4位TF1TR1TF0TR0IE1IT1IE0IT08FH8EH8DH8CH8BH8AH89H88H
TF1/TF0:当T1/T0的计数器计数溢出时,该位置“1”;TR1/TR0:T1/T0运行控制位。软件将其置“1”时,启动T1/T0工作。3、工作方式0~3M1和M0工作方式选择位
M1M0方式说明00
013位计数器(TH的高8位和TL的低5位)01116位计数器
102自动重装入初值的8位计数器
113定时器0:分成两个独立的8位计数器定时器1:停止计数定时器初始化编程1.向TMOD寄存器中写入工作方式控制字2.向定时/计数器TH0、TL0(或TH1、
TL1)装入初值3.启动定时/计数器(置位TR0/TR1)4.如采用中断方式,置位ET0(ET1)、
EA、等(IP中断寄存器)计算定时器初值:系统时钟频率为12MHz,所以计数脉冲周期
T计数=12×1/12MHZ=1s。选择方式1,则:计数脉冲数N=T/T计数=10×10-3/(1×10-6)=10000定时初值X=216-10000=55536=D8F0HTH0初值为D8H中,送入TL0初值为
F0H编程:利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,设系统时钟频率为12MHz。(利用查询方式)设置T0的方式控制字TMOD:
M1M0=01,GATE=0,C/=0,方式控制字为01H
ORG0000HAJMPMAINORG001BHMAIN:MOVTMOD,#01H;置工作方式1 MOVTH0,#0D8H ;装入计数初值
MOVTL0,#0F0HSETBTR0 ;启动T0
JNBTF0,$
;等待定时时间到
CLRTF0
CPLP1.0 ;P1.0取反输出
SJMPMAIN ;循环,输出方波
END编程:利用定时/计数器T0的方式1,产生一个1KHz的方波,由P1.0输出,晶振频率为12MHz。(利用中断方式)初值计算系统时钟频率为12MHz,所以计数脉冲周期
T计数=12×1/12MHZ=1s。选择方式1,则:计数脉冲数N=T/T计数=0.5×10-3/(1×10-6)=500定时初值X=65536-500=65036=0FE0CHTH0初值为FEH中,送入TL0初值为0CHORG0000H
LJMPMAINORG000BH
LJMPT0IRQORG0030HMAIN:MOVTMOD,#01HMOVTH0,#0FEHMOVTL0,#0CHSETBTR0
SETBEASETBET0SJMP$ORG0100HT0IRQ:CPLP1.0MOVTH0,#0FEHMOVTL0,#0CH
RETIEND例:
使用定时器实现长时间的延时(如1分钟)思路:把定时器设置为50ms,另外设置两个软件计数器20、60,总时间为
50ms×20×60=60000ms=1分钟T1为方式1则M1M0=01H,使用定时器G/T=0,GATE=0,TMOD=10H时钟频率为12MHz。方式1为16位计数器,最大65536,减去50000等于15536,则计数器初值为3CB0H
ORG0000H
;程序开始
LJMPMAIN
ORG0030HMAIN:
MOV30H,#20
;30h,31h分别置常数20,60
MOV31H,#60;
MOVTMOD,#10H
;定时器方式1
MOVTH1,#03CH
;置定时器初值
MOVTL1,#0B0H
MOVIE,#00H
;禁止中断
SETBTR1
;起动定时器LOOP:
JBC
TF1
,LOOP1
;查询定时器时间到转loop1
AJMP
LOOPLOOP1:
MOVTH1,#03CH
;重置定时器
MOVTL1,#0B0H
DJNZ30H,LOOP
;定时是否到了20次
MOV30H,#20
DJNZ31H,LOOP
;定时是否到了60次
MOV31H,#60
CPLP1.0
;取反p1.0
AJMPLOOP
END
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0IRQ
ORG0030H
MAIN:MOVR1,#20;正确设置计数器
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
SETBEA
SJMP$
思考:用T0间隔1S点亮P1.0,编写程序。ORG0100H
T0IRQ:MOVTH0,#3CH
MOVTL0,#0B0H
DJNZR1,EXIT
CPLP1.0
MOVR1,#20
EXIT:RETI
END中断—CPU暂停当前程序,转向中断处理程序,结束转回中断源的名称中断响应及响应条件中断入口地址中断响应优先级同级响应顺序中断嵌套中断服务程序设计第6章中断系统MCS-51五个中断入口地址:
INT0:0003H;T0:000BH;INT1:0013H;T1:001BH;串行口:0023H程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!常常是这样写程序
ORG0000HLJMPSTARTORG0003HLJMPINT0…ORG0030HSTART:…………INT0:…………RETIIE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIPMCS-51的中断系统结构图中断标志位中断源允许总允许中断优先级1、5个中断源触发中断条件,清零情况,中断标志位。TCON中的中断标志位D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT02、TCON,SCON,IE,IP(MSB)8FH8EH8DH8CH8BH8AH89H88H(LSB)外部中断INT0中断标志位(TCON.1):IE0=1,外部中断0向CPU申请中断
外部中断INT0触发方式控制位(TCON.0):
IT0=0,电平触发方式
IT0=1,下降沿触发方式注意:该寄存器可以位寻址。TCON寄存器——T0和T1控制寄存器TF1
TF0
IE1IT1IE0IT0TCONT0溢出中断标志(TCON.5):T0启动计数后,计满溢出由硬件置位TF0=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。76543210D7D6D5D4D3D2D1D0SM0SM1SM2RENTB0RB0TIRISCON的中断标志位(MSB)9FH9EH9DH9CH9BH9AH99H98H(LSB)
TI(SCON.1)——串行发送中断标志。
RI(SCON.0)——串行接收中断标志。注意:该寄存器可以位寻址。中断允许控制——中断允许寄存器IED7D6D5D4D3D2D1D0EA××ESET1EX1ET0EX0(MSB)AFHAEHADHACHABHAAHA9HA8H(LSB)中断允许寄存器IE对中断的开放和关闭实行两级控制。所谓两级控制,就是有一个总开、关中断控制位EA,当EA=0时,则屏蔽所有的中断申请,即任何中断申请都不接受;当EA=1时,CPU开放中断,但五个中断源还要由IE的低5位的各对应控制位的状态进行中断允许控制。中断优先级寄存器IPD7D6D5D4D3D2D1D0×××PSPT1PX1PT0PX0(MSB)BFHBEHBDHBCHBBHBAHB9HB8H(LSB)专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级该寄存器可以位寻址硬件查询顺序
多个同级中断源同时提出请求时,通过“硬件查询顺序”确定先响应哪个请求查询顺序中断源硬件优先级别1外部中断0最高││↓最低2定时/计数器03外部中断14定时/计数器15串行口中断请求的撤消1.定时器/计数器中断请求的撤消
中断请求被响应后。硬件会自动清TF0或TF1。2.外部中断请求的撤消(1)跳沿方式外部中断请求的撤消是自动撤消的。(2)电平方式外部中断请求的撤消:除了用软件把标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。3.串行口中断请求的撤消串行口中断请求的撤消只能用软件清除而不能由硬件自动清除:中断应用程序举例例:通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。已知:(B)=01h,要求采用边沿触发,低优先级。此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。(参看课件例题!)例:单片机用内部定时方法产生频率为50kHz等宽矩形波,假定单片机的晶振频率为12MHz,请编程实现。解:(方式2)定时常数的计算:TC=28-10/1=246
TH0=246,TL0=246。
通过P1.0产生脉冲20us查询方式定时源程序如下:
ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV TMOD,#02H MOV IE,#00H SETB TR0 MOV TH0,#246 MOV TL0,#246LOOP: JNB TF0,LOOP CPL P1.0 CLR TF0 LJMP LOOP END中断方式定时源程序:
ORG 0000H LJMP MAIN ORG 000BH CPL P1.0
RETI ORG 0030HMAIN: MOV SP,#60H MOV TMOD,#02H MOV TH0,#246 MOV TL0,#246 MOV IE,#82H SETB TR0 SJMP $初值自动重载装载计数初值中断允许启动计数器定时器其他方式与方式2的异同例:有晶振频率为6MHz的MCS-51单片机,使用定时器0以定时方法在P1.0输出周期为200us,占空比为1:5的矩形脉冲,以定时方式2编程实现。分析:中断定时时间为40us
中断计数器初值=5
定时初值X=256-40/2=236主程序如下:
ORG 0000H LJMP MAIN ORG 000BH LJMPT0-IPG ORG 0030HMAIN: MOV SP,#60H MOV TMOD,#02H MOV TH0,#236 MOV TL0,#236 MOV R0,#5 MOV IE,#82H SETB TR0 SJMP $中断服务程序:T0-IPG: DJNZR0,BACK MOVR0,#5
SETBP1.0 RETIBACK: CLRP1.0
RETI200us40us设定堆栈初始化TH0=TL0=236,TMOD=02H,计数器R0=5中断允许,计数启动等待中断主程序中断服务程序R0=R0-10R0=5,P1.0=‘1’RETIYNP1.0=‘0’第8章单片机系统扩展技术MCS-51系统扩展总线数据总线—P0地址总线—P2P0控制总线—ALEPSENRDWREA存储器扩展扩展能力:16位地址线,寻址范围64KB存储器地址映像:高位片选地址+存储器片内地址形成16位系统地址编址技术ROM与片外RAM独立编址,寻址空间为64KB。空间重叠,不会冲突原因?片外RAM与I/O扩展统一编址,总寻址空间为64KB地址译码:线选法、译码法扩展电路注意的问题读写控制片选控制地址的分配:地址是一个范围空间例:试以一片Intel2716和一片Intel6116组成一个既有程序存储器又有数据存
储器的存储器扩展系统,请画出逻辑连接图,并说明各芯片地址范围。地址范围分析:P2.6、P2.7悬空,可取任意Y0:xx00
000000000000H~xx00
011111111111HY1:xx00
100000000000H~xx00
111111111111HY2:xx01
000000000000H~xx01
011111111111HY3:xx01
100000000000H~xx01
111111111111H
译码法:2716、6116均2K容量,占用11条地址线用74LS1392-4译码器,连接如图:2716地址范围:Y0如:0000H~07FFH6116地址范围:Y1如:0800H~0FFFH83GNDG74LS373DQD0~D7A0~A7A8~A10OED0~D7A0~A7A8~A10OEWECECE27166116P0ALEP2.2~P2.0PSENEAWERDY0Y174LS139ABGP2.3P2.4P2.5Y0Y1Y2Y3例:试以一片Intel2716和一片Intel6116组成一个既有程序存储器又有数据存
储器的存储器扩展系统,请画出逻辑连接图,并说明各芯片地址范围。分析:2716(2KB)片选地址(5条)片内地址(11条)
地址范围:1000H~7FFFH 0XXXX000H~7FFH
如: 000101000H~17FFH 6116(2KB)片选地址片内地址地址范围:8000H~FFFFH 1XXXX000H~7FFH
如: 100008000H~F7FFH线选法线选法83+5VG74LS373DQD0~D7A0~A7A8~A10OED0~D7A0~A7A8~A10OEWECECE27166116P0ALEP2.2~P2.0PSENP2.7EAWERD1第9章单片机I/O接口技术8155接口芯片及其应用8255接口芯片及其应用重点复习8255,参看教材!!!(1)8255A可编程并行I/O接口的片内结构
8255A具有三个8位并行I/O口,称为PA口、PB口和PC口,其中PC口又分为高4位和低4位口。通过控制字设定可以选择三种工作方式:基本输入/输出、选通输入/输出、PA口为双向总线。8255A与单片机和外设连接时,由不同的初始化编程可用于无条件传送,查询或中断传送,以完成单片机和外设的信息交换。8255A三个8位并行数据端口都有自己各自的特点:A口:具有一个8位数据输出锁存/缓冲器和一个数据输入锁存器。在数据输入或输出时,数据均受到锁存。可对PA7~PA0设定为三种工作方式:8位输入、输出或双向。B口:具有一个8位数据输出锁存/缓冲器和一个数据输入缓冲器。可编程为两种工作方式:8位输入或输出。
C口:除了单独作为8位输入、输出口使用外,还可以按控制命令被分成两个4位端使用,分别作为A口和B口输出控制信号和输入状态信号。
(2)8255A芯片引脚功能8255A为双列直插式40条引脚,除了电源VCC和地GND以外,其它引脚信号可分为两组。1)和外部设备一边相连接的:PA7~PA0为A组数据信号线;PB7~PB0为B组数据信号线。这两组线根据用户需要工作方式与外部设备的对应端连接2)和单片机一边相连接的:D7~D0为8255A双向数据总线;CS为片选端,低电平有效;RD和WR为读/写有效控制端。当CS=0时,RD和WR才能对8255A有效。
A1、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度餐饮店面租赁合同含节假日特色活动策划
- 鼎捷E10-6.0培训教材-质量管理
- 2025年蚌埠道路客货运输从业资格证模拟考试下载
- 2025年济南货运从业资格证考试题答案
- 座谈会发言稿格式
- 高新区土地使用权出让合同
- 2025年鹰潭道路运输从业资格证考哪些项目
- 高中家长会 携手前行静待花开课件-高一上学期期中考试家长会
- 解决方案方案汇编
- 产品信息表-信息技术
- 富血小板血浆(PRP)简介
- 住院患者导管滑脱风险评估表
- 幼儿园大班音乐教案《我们多快乐》
- 《草船借箭》课本剧剧本-4篇
- 2024年山东服装职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 团播主持人协议
- 《工伤预防知识教育》课件
- 电梯维保经营计划书
- 苏教版二年级科学下册第7课《栽小葱》课件PPT
- 《活着》读后感-课件
- 市政道路工程质量保证措施
评论
0/150
提交评论