1.计算机是由CPU .储存器.I/O接口三部分组成.
2.单片机是有4个并口,访问片外存储器,低八位是由P0 口提供,高八位是由P2口提供,数据位由P0口提供. 3.C51有5个中断源,2个中断优先级.
4.C51有40个引脚,最多有16根地址线,8根数据线.
5.11根地址线,8根数据线,能存8位二进制,容量为2K字节. 6.复位P0内容为FFH,A内容为00H. 7.堆栈的功能是保护断点和保护现场. 8.串行通信有2种基本通信方式.分别是同步.异步. 9.CPU是由ALU和控制器两部分组成的.
10.89C51内部是由2个16位的定时器组成.有4K字节的FlashRom,有256字节片内的Ram. 11.PSW是程序状态寄存器 P(PSW0)是奇偶校验标志位,奇数个“1”,P=1;偶数个“1”,P=0. 12.进栈先是SP+1,然后写入数据,出栈先是读出数据,然后SP-1. 13.C51内部有21个可字节寻址的特殊功能器,分布在内部高128个单元中,其中有11个寄存器是可以位寻址的. 14.串行通信:指数据一位一位按顺序传送的通信方式.优点:只需要一对传输线降低了传输成本,适合远距离通信,缺
点:传送速度较低
并行通信:数据的各位同时进行传送(放送或接受)的通信方式.优点:传送速度高,缺点:数据有多少位,就需多
少根传送线.
15.在C51指令中,清0是CLR,取反是CPL. 16.LED有两种不同的接法,共阴极和共阳极.
17.在中断服务程序中,至少要有一条中断返回指令. 18.复位以后,SP的内容为07H.
19.控制串行接口工作方式寄存器指令为SCON.
20.DPTR是一个16位的装用地址指针寄存器,主要用来存放16位地址作间接寻址寄存器使用. 21.并口的第二功能引脚是P3端口. 22.在串口中断时,有0003H.000BH.0013H.001BH.0023H. 23.5个中断源中,优先级最高的是外部中断0,最低的是串行接口中断. 24.当我们使用速度比较高的外部设备时最好使用DMA传送方式 25.当进行访问片外RAM时,用MOVX操作指令.
26.51芯片复位时SP的内容:07H表明堆栈指针指向片内RAM07字节单元. 27.地址线为12根时,存储器容量为4K. 28.定时器有T0和T1,T1有3种工作模式. 29.AJMP跳转的范围为2KB.
30.当执行MOVX A,@DPTR,产生的控制信号为RD. 31.三种工作模式中,模式0.1.2,三种模式中最长的定时时间为模式1.
(模式0:t=(213-T0初值)*振荡周期*12;模式1:t=(216-T0初值)*振荡周期*12;模式2 :t=(28-T0初值)*振荡周期*12) 32.在PSW中,RS0(0),RS1(1),工作寄存器应该是第2组. 33.TCON是定时器控制寄存器;PCON是电源控制寄存器;SCON是串行口控制寄存器;TMOD是工作模式寄
存器.
34.中断传送方式适用处理外部事件.
35.一般使用多基方式时串口使用的是方式2
36.ADC0809A/D转换器芯片:是采用逐次逼近法的8位A/D转换器芯片. 37.若P1将其高4位变成0,低4位不变,使用ANL P1,#0FH语句. 38.373芯片是锁存器,锁存地址信息.
1.C51单片机中,程序存储器和数据存储器共处在同一个地址空间,为什么不会发生冲突?
答:硬件上,控制信号不一样:片外程序存储器工作,要PSEN信号有效;片外数据存储器工作,要RD或WR信号有效;软件上,寻址不一样,片外程序存储器工作,要用MOVC,片外数据存储器工作,要用MOVX;虽然说他们的地址都是0000H~FFFFH,但不会发生冲突的. 2.寻址方式有几种?分别是什么? 答:寻址方式有七种.
分别是寄存器寻址.直接寻址.立即数寻址.寄存器间接寻址.变址寻址.相对寻址.位寻址. 3.单片机是如何访问外部的ROM和RAM的,他们的存储空间有多少?
答:CPU访问片内.片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV. RAM是128字节, ROM是4K字节.他们最多可扩至64KB.
4.C51单片机有时钟周期.机器周期.指令周期,三者的关系是什么?
答:1个机器周期由6个时钟周期即12个振荡周期组成.1个指令周期由1到4个机器周期组成 5.中断源有哪几种?优先级的顺序? 答:有5种.外部中断0 (INT0)、外部中断1 (INT1)、定时器/计数器0溢出中断 (T0)、定时器/计数器1溢出中断 (T1)、串行口中断 (TXD/RXD).
顺序:外部中断0>定时器/计数器0溢出中断>外部中断1>定时器/计数器1溢出中断>串行口中断
6.已知89C51单片机的fosc=6MHz, 请利用T0和P1.0输出矩形波.矩形波高电平宽50μs,低电平宽300μs. 解:T0采用模式2
作50μs定时时的初值:
50×10-6=(28-X)×12/(6×106) 得X=231=E7H 作300μs定时时的初值:
300×10-6=(28-X)×12/(6×106) 得X=106=6AH 程序:MOV TMOD,#02H;设置定时器T0工作于模式2 L2:CLR P1.0;P1.0输出低电平
MOV TH0,#6AH;置入定时300μs初值 MOV TL0,#6AH SETB TR0;启动T0
LOOP1:JBC TF0,L1;查询300μs时间到?时间到,转L1 SJMP LOOP1;时间未到,转LOOP1,继续查询 L1:SETB P1.0;P1.0输出高电平 CLR TR0;关闭T0
MOV TH0,#0E7H;置入定时300μs初值 MOV TL0,# 0E7H SETB TR0; 启动T0
LOOP2:JBC TF0,L2 ;查询50μs时间到?时间到,转L2 SJMP LOOP2;时间未到,转LOOP2,继续查询
7.用定时器T1产生一个50Hz的方波,由P1.1输出.仍使用程序查询方式,fosc =12MHz
答:方波周期T=1/(50Hz)=0.02s=20ms,用T1定时10ms,计数初始值X为:X=216 -12*10*1000/12=65536-10000=55536=D8F0H 源程序如下:
MOV TMOD,#10H;T1模式1,定时 SETB TR1;启动T1
LOOP:MOV TH1,#0D8H;装入T1计数初值 MOV TL1,#0F0H JNB TF1,$;T1没有溢出等待 CLR TF1;产生溢出,清标志位 CPL P1.1;P1.1取反输出 SJMP LOOP;循环
8.设fosc=11.059MHz,试编写一段程序,其功能为对串行口初始化,使之工作与方式1,波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器. 解:假如工作于模式2
X≌256-fosc×(SMOD+1)/384×波特率 设SMOD=0 得X=232=E8H 程序:START:MOV SCON,#40H;串行接口工作于方式1 MOV TMOD,#20H;定时器T1工作于模式2 MOV TH1,#0E8H;赋定时器计数初值 MOV TL1,#0E8H
SETB TR1;启动定时器T1
MOV A,SBUF;读出接收缓冲器数据 MOV SBUF,A;启动发送过程 JNB TI,$;等待发送完 CLR TI;清TI标志 SJMP $;结束
9. 在一个fOSC为12 MHz的89C51系统中接有一片D/A器件DAC0832,它的地址为7FFFH,输出电压为0~5 V.请画出有关逻辑框图,并编写一个程序,使其运行后能在示波器上显示出锯齿波(设示波器X方向扫描频率为50
μs/格,Y方向扫描频率为1 V/格).
解:硬件电路设计如图:根据DAC0832的地址为7FFFH,则89C51的P2.7接DAV0832的片选.
程序设计:因为示波器X方向扫描频率为50μs/格,Y方向扫描频率为1V/格,所以选择DAC0832的输出电压为0V~2V,对应的数字量为00H~66H(0~102);每次数据量增值为3,共34次循环,34×5μs=170μs. ORG 0050H
MAIN: MOV DPTR,#7FFFH LOOP1: MOV A,#00H
LOOP2: MOVX @ DPTR,A ADD A,#03H
CJNE A,#66H,LOOP2 SJMP LOOP1
10. 在一个89C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5 V.试画出有关逻辑框图,并编写产生矩形波,其波形占空比为1∶4,高电平时电压为2.5 V,低电平时电压为1.25 V的转换程序.
解:硬件电路设计如图:
VOUT=2.5V ,D=2.5V×256/5=128=80H VOUT=1.25V ,D=1.25V×256/5=64=40H 程序清单:
MOV DPTR,#7FFFH NEXT: MOV A,#80H MOVX @DPTR,A ACALL DELY MOV R4,#04H MOV A,#40H MOVX @DPTR,A LOOP: ACALL DELAY DJNZ R4,LOOP AJMP NEXT DELAY: MOV R7,#10H TS1: MOV R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET
11.在外部中断引脚INT’(P3.2)上接一个开关,按下开关,要求P1口连接的LED0~LED7的显示灯左移一次(初态LED0~LED7显示为01H). ORG 0000H AJMP MAIN ORG 0003H AJMP INT0
MAIN: MOV A,#01H MOV P1,A SETB IT0 SETB EA SETB EX0 SJMP $ INT0: RL A MOV P1,A
12.将ROM 1000H单元内容送R1 MOV DPTR,#1000H CLR A
MOVC A,@A+DPTR MOV R1,A
13.将片外RAM 35H~40H单元清零
MOV R0,#35H MOV R7,#06H CLR A
LOOP: MOVX @R0,A INC R0
DJNZ R7,LOOP
\\
相关推荐: