资源描述
1、单片机定义:将CPU、RAM、ROM、定时器/计数器以及输入输出(I/O)接口电路等计算机的主要部件集成在一块电路芯片上。
2、PSEN:片外程序存储器选通信号,低电平有效。
3、中央控制器中最基本的寄存器是程序计数器PC ,它是一个独立的计数器,作用:存放下一条将要从程序存储器中取出的指令的地址。
4、数据指针DPTR是一个16位的特殊功能寄存器,主要功能是作为 片外数据存储器寻址用的地址寄存器。
5、PSW是一个逐位定义的8位寄存器,其内容主要部分是算术逻辑运算单元的输出。程序可访问的寄存器,而且可以按位访问。
6、80C51物理上有4个存储器空间,2个程序存储器,2个数据存储器,逻辑上有3个存储器地址空间。
7、在80C51片内数据存储器RAM从0到127字节,还有部分特殊功能寄存器可以进行位寻址。
8、单片机有复位、程序执行、低功耗、编程和检验 四种工作方式。
9、复位是由在RST引脚上至少保持2个机器周期的高电平实现的,复位后通用寄存器工作在0区,内部RAM的内容将不变。
10、复位的主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
11、单片机复位后复位时内容不是00H状态的寄存器有SP、P0、P1、P2、P3。,不确定的寄存器有SBUF。
12、单片机复位操作的三种方式:上电自动复位、按键电平复位、外部脉冲复位。
13、单片机的EA信号功能:片外程序存储器访问允许信号,低电平有效。
14、在系统中外接有程序存储器时P2口的全部口线不宜再做I/O口使用的原因:访问片外程序存储器需要不断地取指操作,P2口需要不断地送出高位地址。
15、波特率表示每秒钟传递的信息位的数量。
16、中断源,五个,两个外部中断,外部中断都是IT = 0时,低电平有效;IT = 1时,下降沿有效。它们对应的中断矢量地址:外部中断0---0003H;定时器/计数器0---000BH;外部中断1---0013H;定时器/计数器1---001BH;串行口(RI/TI)--0023H;定时器/计数器2(T2)---002BH(注:它不是中断源)。
17、A/D转换器是一种用来将连续的模拟信号转换成适合于数字处理的二进制数的期间。常用的A/D转换器有双积分式转换器、逐位比较式转换器、并行直接比较式转换器。
18、在单片机的四个并行I/O口中,其驱动能力最强的是P0口。,
19、在单片机的四个并行I/O口中,P0口是真正的双向I/O口。准双向口的含义是:在外部需要输入电平时,应先置为高电平。
20、I/O口的每一位由锁存器、输出驱动、输入缓冲器组成。
23、定时器T0、T1的四种工作方式的四种计数器结构:
方式0: 13位计数器;方式1: 16位计数器;方式2:自动重装的8位计数器,T1作为波特率发生器;方式3: T0分为两个8位计数器。
24、定时器/计数器T0、T1的方式寄存器TMOD中的GATE位的含义:门控位,当它为1时,有外部中断和控制寄存器TR0、TR1来启动定时器;当它为0时,仅有TR0和TR1来启动定时器T0和T1。C/T位:功能选择位,当为1时,选择计数功能,为0时选择定时功能。 29、80C51串行口工作在方式1和方式3时,传输波特率都是由T1决定的,工作在方式2时波特率是固定的,接收时REN必须为高电平,接收是在RXD引脚上检测到由1到0跳变开始的。发送一阵信息是10位的。
三、简答题(15,每题5分)
1、在80C51的片内RAM中,已知(30H) = 38H,(38H) = 40H,(40H) = 48H,(48H) = 90H。分析下面各条指令,说明源操作数的寻址方式,按顺序执行各条指令后的结果。(此题的数据,顺序,指令会有改动,但类型不会变)
MOV A,40H 直接寻址 (A) = 48H
MOV R0,A 寄存器寻址 (R0)=48H
MOV P1,#0F0H 立即寻址 (P1)= 0F0H
MOV @R0,30H 直接寻址,因为(R0)=48H,(30H)=38H,所以(48H)=38H
MOV DPTR,#3848H 立即寻址 (DPTR)=3848H
MOV 40H,38H 直接寻址 (40H)=40H
MOV D0H,R0 寄存器寻址 (D0H)=38H
MOV R0,30H 直接寻址 (R0)=38H
MOV 18H,#30H 立即寻址 (18H)=30H
MOV A,@R0 寄存器间接寻址 因(R0 )=38H,(38H)=40H,所以(A)= 40H
MOV P2,P1 寄存器寻址 (P2)=0F0H
2、请描述独立键盘和矩阵键盘的特点,并分别说明他们的工作原理。
答:(1)独立键盘。特点:每个键都独立地接入一根数据输入线,这种键盘结构简单,使用方便,但随着键数的增多,所占用的I/O口线也增多。工作原理:所有的数据输入线都连接成高电平,当任何一个键压下时,与之相连的数据输入线江北拉成低电平,只要用位处理指令即可判断是否有键压下。(2)矩阵键盘。特点:可以多个键共用一根数据输入线,比较节省I/O口资源,扫描过程较复杂。工作原理:CPU先使行线O0线为低,其余行线为高,即0行为“0“状态,其余行为”1“状态 。然后CPU读入输入缓冲器的状态,以确定那条列线为“0”状态,此时,0为“0”状态,则为“0”键按下;若I1为“0”状态,则为“1“键压下;依次类推。若输入缓冲器的状态全部为”1“状态,则CPU继续使行线O1为低,其余行线为高。再读入输入缓冲器的状态,以确定那条列线为”0“状态,从而判断哪个键按下。判断出哪个键压下后,程序转入相应的键处理程序。
3、请写出四条不同的数据传送指令和五条不同类型的控制转移指令。(可能会考其他的指令)
数据传送:
MOV A,Rn
MOV DPTR,#data6
XCH A,Rn
PUSH direct
控制转移:
SJMP rel
RET
JZ rel
DJNZ Rn,rel
NOP
四、程序设计题(3-12,4-8,每题10分,题型一样,但绝不是原题)
1、请编写程序,将片外数据存储器中20H单元中的内容和21H单元的内容相乘,并将结果存放在22H和23H单元中,高位存放在高地址中。(考试时,数值会有改动)
MOV R0,#20H ;R0指向20H
MOVX A,@R0 ;取来被乘数
MOV B,A ;存入B寄存器
MOV R0,#21H ;R0指向21H
MOVX A,@R0 ;取来乘数,入累加器A
MUL AB ;得结果
MOV R0,#22H ;R0指向23H
MOV @R0,A
MOV A,B ;结果高位在23单元中
MOV R0,#23H
MOVX @R0,A
2、在80C51单片机系统中,已知时钟频率为6MHz,选用定时器T0设置方式3,请变成实现P1.0和P1.1口分别输出周期为1ms和400us的方波。
答:产生1ms和400us的方波,则分别要500us和200us的定时。另外,定时器T0设置成方式3,则是把TL0和TH0分别作为两个8位定时器。f = 6MHz = 6×106Hz,方式3计数器长度L = 8,28 = 256。 定时时间T1 = 500us = 500×10-6s
定时常数Tc = 2L - (f×T1÷12) = 256-(6×106×500×10-6÷12) = 256 – 250 = 6H
定时时间T2 = 200us = 200×10-6s
定时常数Tc = 2L - (f×T2÷12) = 256-(6×106×200×10-6÷12) = 256 – 100 = 38H
P1.0和P1.1口分别输出周期为1ms和400us的方波程序:
ORG 000BH
AJMP ITOP
ORG 001BH
AJMP 1T1P
ORG 100H
START: MOV SP,#60H ;设置栈指针
ACALL PTOM3 ;调定时器初始化程序
HERE: SJMP HERE ;等待中断
PTOM3: MOV TMOD,#03H ;定时器初始化,设T0为方式3
MOV TL0,#6H
MOV THO,#38H
SETB TR0 ;定时器开始
SETB TR1
SETB ET0 ;开中断
SETB ET1
SETB EA
RET
IT0P: MOV TL0,#6H ;TL0定时器中断程序
CPL P1.0
RET1
IP1P: MOV TH0,#38H ;TH0定时器中断器程序
CPL P1.1
RETI
五、综合应用(15分,实验3内容)
由低到高存放在50H开始的单元中,如将99071B3班转换为990713,99071B3班1号的数字为99071301。将01®50H、13®51H、07®52H、99®53H。然后编程将50H~53H,并由低到高存放在60H开始的单元中。
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#30H
MOV 50H,#42H
MOV 51H,#42H
MOV 52H,#06H
MOV 53H,#05H
MOV 54H,#09H
MOV R0,#50H
MOV R1,#60H
MOV R2,#05H
MAIN1: MOV A,@R0
MOV B,A
ANL A,#0FH
ACALL BCDASC
MOV @R1,A
MOV A,B
SWAP A
ANL A,#0FH
ACALL BCDASC
INC R1
MOV @R1,A
INC R1
INC R0
DJNZ R2,MAIN1
SJMP $
BCDASC: INC A
MOVC A,@A+PC
RET
DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
END
展开阅读全文