小型智能电子产品设计与制作复习.docx
- 文档编号:17074950
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:13
- 大小:94.19KB
小型智能电子产品设计与制作复习.docx
《小型智能电子产品设计与制作复习.docx》由会员分享,可在线阅读,更多相关《小型智能电子产品设计与制作复习.docx(13页珍藏版)》请在冰点文库上搜索。
小型智能电子产品设计与制作复习
小型智能电子产品设计与制作复习
1、什么是电路原理图?
(SCH)
答:
是指说明电路中各个元器件的电气连接关系的图纸。
(它不涉及元器件的具体大小、形状,而只是关心元器件的类型、相互之间的连接情况。
)
2、什么是印刷电路板?
(PCB)
答:
是用来安装、固定各个实际电路元器件并利用铜箔走线实现其正确连接关系的一块基板。
3、一般而言,一个电路设计要经过以下步骤:
①、建立PCB设计工程文件:
(.PrjPcb文件);
②.绘制电路原理图,对元件属性赋值:
(.SchDoc文件);
③.编译原理图,以消息方式显示错误;
④.生成网络表(.NET文件,系统自动生成);
⑤.生成PCB板图,绘制板框:
(.PcbDoc文件);
⑥.调入网络表,完成元件位置布置,设置布线规则,完成全部布线;
⑦.电路板规则检查(.html文件,系统自动生成)。
4、说明CPU执行指令的过程。
答:
在程序执行之前,要先把程序中的指令机器码送到ROM中存放;开始执行程序时先把第一条指令的地址送到PC中,程序的的执行过程就是各条指令的执行过程。
一条指令的执行过程一般包括取指阶段(从ROM中取出的指令的操作码送到CPU中的IR)和执行阶段(IR—ID---PLD产生和各种控制信号,完成指令所规定的操作)
5、程序计数器PC有何作用?
是否属于SFR,为什么?
答:
程序计数器PC是一个16位的专用寄存器,用来存放即将要执行的指令地址,可对64KB的程序存储器直接寻址。
它具有自动加1功能,当CPU要取指令时,PC的内容送地址总线上,从存储器中取出指令后,PC内容则自动加1,指向下一条指令,从而保证程序按顺序执行。
PC虽然也是CPU内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。
6、89S52单片机的程序存储器和数据存储器可以有相同的地址,而单片机在对这两个存储区的数据进行操作时,不会发生错误,为什么?
答:
对于不同的存储地址空间,89C52单片机采用不同的存取指令和控制信号:
CPU访问片内、外ROM时,采用“MOVC”指令,外部ROM用
选通;访问外部RAM或扩展I/O口时,采用“MOVX”指令,由
(读)信号和
(写)信号选通;访问片内RAM和特殊功能寄存器时,采用“MOV”指令。
因此,尽管程序存储器地址和数据存储器地址空间重叠,但不会发生混乱。
7、89S52单片机的
信号有何功能?
引脚应如何处理,?
答:
(1)
是访问外部程序存储器ROM的控制信号。
当
为低电平(接地)时,CPU只执行外部程序存储器中的程序。
当
为高电平且PC值小于2FFFH(8K)时,CPU执行内部程序存储器的程序,但当PC的值超出8K时,将自动转去执行片外程序存储器内的程序。
8、简述89C52单片机片内低128RAM的空间分配。
内部RAM共有128个单元,根据用途可划分为工作寄存器区、位寻址区和通用RAM区,各区域的特性如下:
⑴工作寄存器区(00H~1FH)寄存器区32个单元共分4个组,每个组有8个8位的寄存器R0~R7。
在任何时刻,四个组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。
当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定。
⑵位寻址区(20H~2FH)共16个单元,每个单元有8个位,每个位都有一个位地址,编号为00H~7FH,位寻址区的16个单元也可以按字节寻址,作为一般的内部RAM使用。
⑶通用RAM区(30H~7FH)这部分存储空间作为一般的内部RAM区或堆栈区,CPU只能按字节方式寻址。
9、什么叫堆栈?
堆栈指针SP的作用是什么?
89C52单片机堆栈的最大容量是多少字节?
答:
堆栈是按照“先进后出,后进先出”的原则来存取数据的一个内部RAM区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。
堆栈指针SP始终指向栈顶单元,栈顶随着数据入栈和出栈上下浮动。
89C52单片机堆栈的最大容量是128字节
10、简述89S52单片机存储器的组织结构和片内RAM的空间分配。
答:
89S52单片机的存储器包括程序存储器和数据存储器,从用户使用的角度可分为三个逻辑地址空间:
⑴片内、片外统一编址的64KB程序存储器地址空间0000H~FFFFH;
⑵64KB的外部数据存储器或扩展I/O口地址空间0000H~FFFFH;
⑶256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间,21个SFR离散地分布在这个区域)。
11、8051单片机是如何确定和改变当前工作寄存器组?
答:
在任何时刻,8052单片机的四个工作寄存器组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RAM使用。
当前工作寄存器组由程序状态字寄存器PSW的RS0和RS1两位的状态来决定,如表所示。
当前工作寄存器组的选择
RS1
RS0
被选寄存器组
寄存器R0~R7的地址
0
0
0组
00H~07H
0
1
1组
08H~0FH
1
0
2组
10H~17H
1
1
3组
18H~1FH
根据需要,用户可以利用传送指令或位操作指令改变RS1和RS0的内容来选择不同的工作寄存器组。
12、说明指令MOV、MOVX、MOVC的区别和用法?
MOV指令用于内部RAM数据传送;使用范围:
源、目的操作数均在片内RAM、SFR中。
MOVX指令用于外部RAM数据传送;使用范围:
CPU与外部数据存储器之间进行数据传送时,必须使用外部传送指令,只能通过累加器
A,采用寄存器间接寻址(用R0,R1和DPTR三个间接寻址的寄存器)方式完成。
MOVC指令用于程序存储器(ROM)数据传送;使用范围:
程序存储器的数据传送是单向的,并且只能读到累加器A中。
这类指令专门用于查表,又称为查表指令。
13、设R0的内容为32H,A的内容为48H,片内RAM的32H内容为80H,40H的内容为08H。
请指出在执行下列程序段后各单元内容的变化。
MOVA,@R0;((R0))=80H→A
MOV@R0,40H;(40H)=08H→(R0)
MOV40H,A;(A)=80H→40H
MOVR0,#35H;35H→R0
解(R0)=35H(A)=80H(32H)=08H(40H)=80H
14、编制一个延时2mS的(定时)子程序。
若晶振12MHz
D2MS:
MOVR7,#4:
1机周
D2MS0:
MOVR6,#250;1机周
DJNZR6,$;2*250机周
DJNZR7,D2MS0;2机周
RET;(1+2*250+2)*4+1=2013
15、编制一个统计开关按动次数的(计数)子程序,并存于30H单元。
MOV30H,#0
UP:
JBP1.0,$;P1.0=1等待,=0执行下条指令
JNBP1.0,$;P1.0=0等待,=1执行下条指令
INC30H
SJMPUP
16、设计灯移位程序,要求P1脚上所接的8只发光二极管每次点亮一个,点亮时间为0.5秒。
顺序从低位到高位循环点亮。
解:
MOVA,#01H
LOOP:
MOVP1,A
LCALLDEY05S
RLA
SJMPLOOP
DEY05S:
MOVR5,#5;延时0.5S子程序
LOOP3:
MOVR6,#200
LOOP2:
MOVR7,#250
LOOP1:
DJNZR7,LOOP1
DJNZR6,LOOP2
DJNZR5,LOOP3
RET
17、阅读下列程序,要求:
(1)说明程序功能;
(2)试修改程序,使片内RAM的内容成为如图所示的结果。
MOVR2,#0AH
50H
00H
MOVR0,#50H
51H
01H
CLRA
52H
02H
LOOP:
MOV@R0,A
53H
03H
INCR0
54H
04H
DJNZR2,LOOP
55H
05H
DONE:
56H
06H
57H
07H
58H
08H
59H
09H
解
(1)功能是将片内RAM中50H~59H单元清零。
答:
各指令的源操作数的寻址方式是
⑴相对寻址;
⑵寄存器寻址;
⑶寄存器寻址;
⑷立即寻址;
⑸寄存器间接寻址;⑹变址寻址;
⑺直接寻址;
⑻直接寻址;
⑼位寻址;
⑽直接寻址
(2)在INCR0后添一句INCA。
18、写出下列源操作数的寻址方式。
(1)JZ20H
(2)MOVA,R2
(3)MOVA,B
(4)MOVDPTR,#4012H
(5)MOVXA,@DPTR
(6)MOVCA,@A+PC
(7)PUSHB
(8)POPACC
(9)MOVC,20H
(10)MOVA,20H
19、已知80S52型单片机的系统时钟频率为12MHz,试利用定时器T0使P1口的8个LED输出周期为0.2S的闪烁,设T0工作在方式1
解:
ORG0000H
AJMPMAIN;跳转到主程序入口
ORG000BH;定时计数器0中断入口
AJMPCTC0;跳转到定时计数器0中断程序
MAIN:
MOVTMOD,#01H;设定定时计数器0为工作方式1
MOVTH0,#(65536-50000)/256;设置50mS的初值整数位送TH0中
MOVTL0,#(65536-50000)MOD256;设置50mS的初值余数位送TL0中
SETBTR0;启动定时计数器0
SETBET0;开定时计数器0中断
SETBEA;开总中断
MOVP1,#00H
SJMP$
;以下为定时计数器0中断程序,中断每50mS产生一次
CTC0:
PUSHACC;保护现场
;恢复计数器初值
MOVTH0,#(65536-50000)/256;设置50mS的初值整数位送TH0中
MOVTL0,#(65536-50000)MOD256;设置50mS的初值余数位送TL0中
INCS1;中断次数累计
MOVA,S1;
CJNEA,#4,CTC1;判断是否已中断4次,未到4次中断返回
MOVS1,#0;已到4次,计数器清0
MOVA,P1
CPLA
MOVP1,A
CTC1:
POPACC;恢复现场
RETI;中断返回
;以下为数据设置
S1DATA30H;秒计数器
20、编写程序将
设为脉冲下降沿触发的高优先级中断源。
解:
用位操作:
SETBIT1;设
为边沿触发方式
SETBPX1;设
高优先级中断源
用字节操作:
MOVTCON,#04H;设
为边沿触发方式
MOVIP,#04H;设
高优先级中断源
21、试编程实现将
设为高优先级中断,且为电平触发方式,T0设为低优先级中断计数器,串行口中断为高优先级中断,其余中断源设为禁止状态。
解:
MOVTMOD,#04H;设T0为计数器状态
MOVTCON,#00H;设外部中断1为电平触发方式
MOVIE,#96H;开放外部中断1、T0和串行口中断
MOVIP,#14H;设
和串行口为高优先级,T0设为低优先级
22,用AT89S52的P1口传送8个开关状态,用P2口显示8个开关状态,若开关合则对应灯亮,试画出连接图,编制驱动程序。
①、画电路图
②、编程
MOVP1,#0FFH
UP:
MOVA,P1
MOVP2,A
SJMPUP
23、用AT89S52的P1口驱动8个发光二极管,P3.4接一个开关K1,当开关按下时,8个发光二极管由左向右轮流点亮;开关断开时,8个发光二极管不亮。
试画出连接图,编制驱动程序。
解:
①、画电路图
①
②、编程
movp3,#0ffh
up0:
mova,#0feh
up1:
jbp3.4,up1
movp1,a
lcalldelay1
rla
sjmpup1
delay1:
movr7,#20
delay11:
movr6,#250
djnzr6,$
djnzr7,delay11
ret
24、编程让LED数码管显示30H单元的内容(30H单元的内容在0—9之间)。
UP:
MOVA,30H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
SJMPUP
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 智能 电子 产品设计 制作 复习