南邮单片机复习.doc

上传人:s****u 文档编号:12807957 上传时间:2020-05-25 格式:DOC 页数:27 大小:496.50KB
返回 下载 相关 举报
南邮单片机复习.doc_第1页
第1页 / 共27页
南邮单片机复习.doc_第2页
第2页 / 共27页
南邮单片机复习.doc_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第一章4. 把下列十六进制数转换为二进制数和十进制数。 (3) 0F1.CH 11110001.11B 241.75 (4) 20FAH 10000011111010 844213. 什么是单片机?单片机与微机相比有何特点?单片机(Single-Chip-Microcomputer)又称单片微控制器,其基本结构是将微型计算机的基本功能部件:中央处理机(CPU)、存储器、输入接口、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上。1). 单片机其体积小、功耗低、价格低廉;2). 单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能;3). 单片机是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统。补充问:当前主流的通用型单片机有哪些?答:现在流行的单片机; a. C8051F系列; b. MSP430系列; c. STC系列; d. AT90系列; e. PIC系列; f. M68HC系列; g. STM32F .第二章2. 8051单片机内部包含哪些主要功能部件?各功能部件的主要作用是什么? 8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。5. MCS-51单片机内部RAM可分为几个区?各区的主要作用是什么?内部数据存储器分为高、低128B两大部分。低128B为RAM区,地址空间为00H7FH,可分为:寄存器区、位寻址区、堆栈及数据存储区。存放程序运算的中间结果、状态标志位等。高128B为特殊功能寄存器(SFR)区,地址空间为80HFFH,其中仅有21个字节单元是有定义的。6. MCS-51单片机的P0P3四个I/O端口在结构上有何特点?使用时应注意哪些事项?答:(1)4个并行I/O端口都是双向的。P0口为漏极开路; P1、P2、P3口均有内部上拉电路,称为准双向口。 (2)所有32条并行I/O线都能独立地用作输入或输出。 (3)当并行I/O线作为输入时,该口的锁存器必须写入1 。 (4)P0、P2口除了可用于数据的输入/输出外,通常是用来构建系统的数据总线和地址总线。 (5)P3口的口线具有的第二功能,为系统提供了一些控制信号。9. 指出8051可进行位寻址的存储空间。 答: 007FH(即20H.02FH.7)及SFR地址能被8整除的寄存器中的各位。12. 什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?答:时钟周期:也称振荡周期,即振荡器的振荡频率fosc的倒数,是时序中最小的时间单位。机器周期:执行一条指令的过程可分若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期,一个机器周期包含12个时钟周期。当振荡频率为12MHz时,一个机器周期为12/(121000000)秒=1微秒指令周期:定义为执行一条指令所用的时间。 当振荡频率为12MHz时,一个指令周期为1、2、4us。补充问:说说近年来出现的单片机片内存储 器包含哪些种类。答:近年来出现的单片机片内存储器包含ROM和RAM,一般ROM都是FLASH,有些单片机片内还包含EEPROM。 单片机片内 RAM都是SRAM.第三章8查找20H4FH单元中出现00H的次数,并将查找结果存入50H单元。 MOV R3,#30H MOV R0,#20H MOV 50H,#00HLOP: MOV A,R0 JZ LOP1LOP3: INC R0 DJNZ R3,LOP AJMP LOP2LOP1: INC 50H AJMP LOP3 LOP2:AJMP LOP29已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行完后的A中的内容。ANL A, #17HORL 17H, AXRL A, R0CPLA (A)=11001011B=0CBH21内部RAM的DATA1和DATA2单元开始存放着两个等长的数据块,数据块的长度在LEN单元中。请编程检查这两个数据块是否相等,若相等,将0FFH写入RESULT单元,否则将0写入RESULT单元。 MOV R0,#DATA1 MOV R3, LEN LOP: MOV A, R0 CJNZ A,DATA2, LOP1 INC R0 INC DATA2 DJNZ R3,LOP MOV A,#0FFH MOV RESULT,A AJMP LOP2 LOP1:MOV A,#0 MOV RESULT, A LOP2: AJMP LOP2 END第4章习题答案7当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。98051单片机有5个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。问以下几种中断优先级顺序的安排(级别由高到低)是否可能?如可能,则应如何设置中断源的中断级别?否则,请叙述不可能的理由。(1)定时器0,定时器1,外中断0,外中断1,串行口中断。可能。其中:定时器0,定时器1为高优先级。(2)串行口中断,外中断0,定时器0,外中断1,定时器1。可能。其中:串行口中断为高优先级。(3)外中断0,定时器1,外中断1,定时器0,串行口中断。不可能。外中断0,定时器1为高优先级,剩下的没有按自然优先级顺序。(4)外中断0,外中断1,串行口中断,定时器0,定时器1。可能。其中:外中断0,外中断1,串行口中断为高优先级。(5)串行口中断,定时器0,外中断0,外中断1,定时器1。不可能。串行口中断为高优先级,剩下的没有按自然优先级顺序。(6)外中断0,外中断1,定时器0,串行口中断,定时器1。不可能。外中断0,外中断1为高优先级,剩下的没有按自然优先级顺序。(7)外中断0,定时器1,定时器0,外中断1,串行口中断。可能。其中:外中断0,定时器1为高优先级。第5章习题答案4定时器/计数器0已预置为156,且选定用于模式2的计数方式,现在T0引脚上输入周期为1ms的脉冲,问:(1) 此时定时器/计数器0的实际用途是什么?(2) 在什么情况下,定时器/计数器0溢出?答:(1)此时定时器/计数器0的实际用途是0.1S脉冲信号发生器。 (2)当T0每记数100次后定时器/计数器0溢出。8已知8051单片机的fosc=6MHz,试利用T0和P1.0输出矩形波。矩形波高电平宽100s,低电平宽300s。解:先确定 T0作为定时器工作于模式2时初值为:高电平为50,低电平为150。采用中断方式编程。 ORG 0000H AJMP MAIN ORG 001BH AJMP TIM0 ORG 0030H MAIN: MOV SP,#30H ; 设置栈底 MOV TMOD,#02H MOV TL0,#206 MOV IE,#82H SETB P1.0 SETB TR0 SJMP $ TIM0: JNB P1.0, AA CLR P1.0 MOV TL0,#106 RETI AA: SETB P1.0 MOV TL0,#206 RETI END第6章习题答案补充1:某异步串行接口其格式由一个起始位,七个数据位,一个奇校验位和一个停止位组成,设该接口每分钟传送1800个字符。a) 请计算传送的波特率;b) 画出传输一个字节32H的帧格式。答:a)180010 =18000bits 18000bits60s=300bps b)补充2:甲乙单片机均工作在方式1下,采用奇校验,波特率为1200bps(晶振为11.0592MHz),甲机发送两个字节51H和37H给乙机,试编写双机通信子程序。答:甲机发: ORG2000HSTART:MOV TMOD, #20H; 定时器1设为模式2 MOV TL1, #0E8HMOV TH1, #0E8H; 置定时器初值SETB TR1; 启动T1MOV SCON, #50H; 将串行口设置为方式1,REN=1MOV PCON, #00H; SMOD=0MOV A,#51HMOV C,PCPL CMOV ACC.7,CMOV SBUF,AJNB TI,$ CLR TIMOV A,#37HMOV C,PCPL CMOV ACC.7,CMOV SBUF,AJNB TI,$ CLR TIRET乙机收: ORG2000HSTART: MOV TMOD, #20H; 定时器1设为模式2 MOV TL1, #0E8HMOV TH1, #0E8H; 置定时器初值SETB TR1; 启动T1MOV SCON, #50H; 将串行口设置为方式1,REN=1MOV PCON, #00H; SMOD=0MOV R1, #20H; 接收数据区首地址R1MOV R2, #2; 置发送数据个数R2WAIT:JBC RI, PRI; 等待接收到数据SJMP WAITPRI:MOV A, SBUF; 读接收数据MOV C,ACC.7 ANL A,#7FHJNB C, PZEO ; C=0则跳转JB P, ERR ; C=1,P=1转至出错SJMP RIGHT ;转至正确PZEO: JNB P, ERR ; P=0,C=0转至出错RIGHT: MOV R1, A; 存放数据INCR1; 指向下一个存储单元DJNZ R2, WAIT ; 未接收完则继续接收RETERR:CLR RENSETB F0 ; 置F0=1RETEND第7章习题答案9设某一8051单片机系统,拟扩展2片2764 EPROM芯片和2片6264 SRAM芯片,试画出电路图,并说明存储器地址分配情况。答案:电路图如下: 存储器地址分配:2764(1):C000HDFFFH;2764(2):A000HBFFFH;6264(1):C000HDFFFH;6264(2):A000HBFFFH。14试设计一个8051应用系统,使该系统扩展1片27256、1片6264和1片8155。请画出系统电路图,并分别写出各芯片的地址。答:电路图如下:各芯片的地址如下:27256:0000H7FFFH;6264:A000HBFFFH;8155:RAM地址:7E00H7EFFH命令/状态口:7F00HPA口:7F01HPB口:7F02HPC口:7F03H定时器低8位:7F04H定时器高8位:7F05H第8章习题答案6矩阵式键盘如何实现中断方式?请在图8-4的基础上设计中断式键盘,并编写相应中断处理子程序。答案:电路图如下:中断处理子程序:KINT: ACALL DELAY10;延时消抖ACALL KS1;再次判断有无键按下JNZ LK2;确实有键按下,转列扫描AJMP KEY_1;是键抖动,重新扫描LK2: MOV R2, #0FEH;首列扫描字MOV R4, #00H;首列号LK4: MOV DPTR, #7F01HMOV A, R2MOVX DPTR, A;列扫描字送PA口INC DPTRINC DPTR;指向PC口MOVX A, DPTR;读入行状态JB ACC.0, LONE;第0行有键按下?MOV A, #00H;有键按下,行号送AAJMP LKP;转键值处理LONE:JB ACC.1, LTWO;第1行有键按下?MOV A, #08H;有键按下,行号送AAJMP LKP;转键值处理LTWO: JB ACC.2, LTHR;第2行有键按下?MOV A, #10H;有键按下,行号送AAJMP LKP;转键值处理LTHR: JB ACC.3, NEXT;第3行有键按下?MOV A, #18H;有键按下,行号送ALKP: ADD A, R4;键值处理PUSH ACCLK3: ACALL KS1;判断按键是否释放JNZ LK3POP ACC RETNEXT: INC R4;列号加1 MOV A, R2;判断是否8列扫描完毕 JNB ACC.7, KND;扫描完,返回 RL A;转下列扫描 MOV R2, A AJMP LK4KND: AJMP KEY_1KS1: MOV DPTR, #7F01H;判断有无键按下子程序 MOV A, #00H MOVX DPTR, A INC DPTR INC DPTR MOVX A, DPTR CPL A ANL A, #0FH RETDELAY12: MOV R7, #18H;延时12ms子程序TM: MOV R6, #0FFHTM6: DJNZ R6, TM6 DJNZ R7, TM RETI7状态或数码显示时,对LED的驱动可采用低电平驱动,也可以采用高电平驱动,二者各有什么特点?答案:高电平驱动要采用共阴极数码管,必须外接上拉电阻;低电平驱动要采用共阳极数码管,电源效率相对较高。实验部分答案题1:已知(A)=7AH,(R0)=30H,(30H)=0A5H,(PSW)=80H,写出下列各条指令执行后A和PSW的内容。 (1) XCH A,R0 30H,80H(2) XCH A,30H 0A5H,80H (3) XCH A,R0 0A5H,80H (4) XCHD A,R0 75H,81H (5) SWAP A 0A7H,81H(6) ADD A,R0 0AAH,04H (7) ADD A,30H 1FH,81H(8) ADD A,#30H 0AAH,04H (9) ADDC A,30H 20H,0C1H (10) SUBB A,#30H 49H,01H题2:已知单片机使用6MHz晶体,试编写一个延时1ms和1s的程序。晶振频率为6MHz,一个机器周期为2s,延时1ms的子程序:执行时间(机器周期)DELAY1MS:MOV R7, #0F9H 1 LOOP:DJNZ R7, LOOP 2 RET 2该程序段的总的执行时间为:(1+2249+2)*2ms=1002s1ms延时时间为1s的子程序:DELAY1S: MOV R6, #04H ;对延时100ms的子程序循环1000次DE1S2: MOV R5,#0FAH 。DE1S3: LCALL DELAY1MSDJNZ R5, DE1S3DJNZ R6, DE1S2 RET题3:编写程序完成将片外数据存储器地址为1000H1030H的数据块,全部传送到片内RAM30H60H中,并将原数据块区域全部清零。 MOV DPTR,#1000H MOV R0,#30H MOV R7,#31HRYCL:MOVX A,DPTR MOV R0,A CLR A MOVX DPTR,A DJNZ R7,RYCL RET 题4:请写出能实现下列功能的程序段。 (1) 16位二进制数放在20H和21H单元中(高8位在20H),请将该数除2。 (2)16位二进制数放在30H和31H单元中(高8位在30H),将其内容加1。 (3)将DPTR内容减5。 (4)有三个位变量X、Y、Z,请编写程序实现Y=X+YZ的逻辑关系式。 答(1) MOV A,20H CLR C RRC A MOV 20H,A MOV A,21H RRC A MOV 21H,A(2) MOV A,31H ADD A,#01H MOV 31H,A MOV A,30H ADDC A,#00H MOV 30H,A(3) MOV A,DPL CLR C SUBB A,#05H MOV DPL,A MOV A,DPH SUBB A,#00H MOV DPH,A(4) X bit 00HY bit 01HZ bit 02HMOV C,YANL C,ZORL C,XMOV Y,C题5:将内部RAM30H为起始地址的数据块传送到外部RAM1000H开始的连续区域,直到发现”$”字符(24H)为止。 答: ORG 2000H MOV R0,#30H MOV DPTR,#1000H NEXT:MOV A,R0 CJNE A,#24H,LOOP SJMP DONE LOOP:MOVX DPTR,A INC R0 INC DPTR SJMP NEXT DONE:SJMP $ END题6:设有a、b、c三个数(09),存于内部RAM的BUF1、BUF2、BUF3三个单元。编程实现c=a*a+b*b。 答: ORG 2000H STAR:MOV A,BUF1 ACALL SQR MOV R1,A MOV A,BUF2 ACALL SQR ADD A,R1 MOV BUF3,A HEAR:SJMP HEAR END SQR: MOV B, A MUL AB RET27
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!