




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第 1 章1-1 什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器(MCU 即 Micro-Controller Unit)。它是在一块芯片上集成了中央处理器( CPU) 、存储器(RAM、ROM ) 、定时器/ 计数器、中断控制、各种输入/ 输出(I/O)接口(如并行 I/O 口、串行 I/O 口和 A/D 转换器)等为一体的器件。微型计算机的基本结构由 CPU(运算器、控制器) 、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(CPU) 、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行 I/O 口、串行 I/O 口和 A/D 转换器)等,它们通过单片机内部部总线连接而成为一体。1-2 MCS-51 系列单片机内部资源配置如何?试举例说明 8051 与 51 兼容的单片机的异同。答:MCS-51 系列单片机内部资源配置AT89S53 12KB Flash ROM256B 316 32 1 9/2 SPI,WDT,2 个数据指针W77E58 32KB Flash ROM256B+1024B316 36 2 12/2 扩展了 4 位 I/O 口,双数据指针,WDT。1-3 新型 8 位单片机,主要在哪几方面发展了?使用新型 8 位单片机能带来什么好处?1、运算速度大大提高;2、RAM、ROM 容量增大;3、精简指令集,指令比 51 少很多;4、更多的 IO 口;5、更多的其他功能,比如自带 AD,DA,自带 SPI,自带看门狗,自带大容量EEPROM 等等;6、中断的种类更细更多,有 20 几个中断向量的比比皆是,定时器/计数器的功能,数量都更多。简化电路,节省成本,降低功耗,提高系统的可靠性。第 2 章2-1 MCS-51 系列单片机内部有哪些主要的逻辑部件?答: 一个 8 位 CPU;一个片内振荡器及时钟电路;4K 字节 ROM 程序存储器;128 字节 RAM 数据存储器;两个 16 位定时器/计数器;可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路;32 条可编程的 I/O 线(四个 8 位并行 I/O 端口) ;一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构22-2 MCS-51 设有 4 个 8 位端口(32 条 I/O 线) ,实际应用中 8 位数据信息由哪一个端口传送?16 位地址线怎样形成?P3 口有何功能?答:实际应用中 8 位数据信息由 P0 口传送。16 位地址线由 P0 口输出低 8 位地址 A7A0,P2 口输出高 8 位地址 A15A8。P3 口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同 P1 口;当作第二功能使用时,P3.0RXD 串行输入(数据接收)口,P3.1TXD 串行输出(数据发送)口,P3.2 外部中断 0 输入线,P3.3 外部中断 1 输入线,P3.4T0 定时器 0INTINT外部输入,P3.5T1 定时器 1 外部输入,P3.6 外部数据存储器写选通信WR号输出,P3.7 外部数据存储器读选通信号输入。RD2-3 MCS-51 的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何作用?答:MCS-51 存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统、控制信号和功能。程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量,例如模/数转换时实时采集的数据等。2-4 MCS-51 内部 RAM 区功能结构如何分配?4 组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?答:MCS-51 系列单片机内部数据存储器:00H 7FH 单元组成的低 128 字节地址空间的 RAM 区,又分为为工作寄存器区(00H1FH) 、位寻址区(20H2FH)和用户 RAM 区(30H7FH) 。 80H FFH(128 255)单元组成的高 128 字节地址空间的特殊功能寄存器(又称 SFR)区。对于8032、8052、8752 的单片机还有 80HFFH 单元组成的高 128 字节地址空间的RAM 区。4 组工作寄存区是由程序状态字 PSW(特殊功能寄存器,字节地址为0D0H)中的 D4、D3 位(RS1 和 RS0)来决定的。位寻址区域的字节地址范围是 20H2FH(对应的位地址范围是 00H7FH) 。2-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?答:P0 字节地址 80H,TCON 字节地址 88H,P1 字节地址 90H,SCON 字节地址98H,P2 字节地址 A0H,IE 字节地址 A8H,P3 字节地址 B0H,IP 字节地址B8H,PSW 字节地址 D0H,ACC 字节地址 E0H,B 字节地址 F0H。2-6 简述程序状态字 PSW 中各位的含义。答:CY(PSW 7)进位标志,AC(PSW 6)辅助进位标志,F0 (PSW 5)用户标志位,RS1、RS0 (PSW 4、PSW 3)寄存器区选择控制位,OV(PSW 2)溢出标志,P(PSW0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器 A 中 1的位数的奇偶数。32-7 复位后,各内部寄存器的内容是什么?2-8 一个时钟频率为 6MHz 的单片机应用系统,它的振荡信号周期、时钟周期、机器周期分别是多少?答:振荡信号周期=16us、时钟周期=1 3us 、机器周期=2us。2-9 堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对 SP 重新赋值?答:堆栈的主要功能:保护断点和程序现场,保存用户数据。堆栈指针的作用是:堆栈指针 SP 是一个 8 位特殊功能寄存器,指示出堆栈顶部在内部 RAM 中的位置。两者的关系:堆栈指针 SP 给定当前的栈顶,SP 的初始值越小,堆栈深度就越深。系统复位后,SP 初始化为 07H,使得堆栈事实上由 08H 单元开始。考虑到 08H1FH 单元分属于工作寄存器区 13,若程序设计中要用到这些区,则最好把 SP 值改置为 1FH 或更大的值如 60H,SP 的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部 RAM 中的位置比较灵活。第 3 章3-4:(1)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #21HADD A, #45HADD A, #78HSJMP $END(2)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #78HADD A, #45HCLR C;SUBB A, #21HSUBB A, #09HSJMP $END(3)4ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #34HADD A, #0ABHMOV R0, AMOV A, 12ADDC A, #21HMOV R1, ASJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:CLR C;MOV A, #0BCHSUBB A, #0CDHMOV R0, AMOV A, 1#2AHSUBB A, #0FHMOV R1, ASJMP $END3-5:请编程实现:将片内 20H 存储单元的 8 位二进制数转换成 BCD 码,并存放在片外以 2000H 起始的单元中,2000H 单元存放转换后的 BCD 码的百位,2001H 单元存放转换后的 BCD 码的十位/个位。ORG 0000HAJMP STARTORG 0050HSTART:MOV A,20H ;A被除数MOV B, #100 ; B除数 100DIV AB ;AB,A商(百位数 BCD 码),B余数MOVX 2000H,A ;(2000H)将百位数 BCD 码MOV A,B ;A余数作被除数MOV B,#10 ;B除数 10DIV AB ;AB,A商(十位数 BCD 码),B余数(个位 BCD 码)SWAP A ;十位 BCD 码调整到 A 中高 4 位ADD A,B ;A 中压缩成 2 位 BCD 码MOVX 2001H,A ; (2001H)十位、个位 BCD 码5SJMP $END3-6: 将片内 RAM 20H,21H,22H,23H(千/百/十/个位)中的十进制的 ascii 码转换成 bcd 码,并压缩放于片内 30H,31H 两个单元,其中 31H 中放 bcd 码的十位/个位,30H 中放 bcd 码的千位 /百位。MOV A, #00H ;这一句不是必须MOV R0, #20HMOV R1, #21HXCHD A, R0 ;A(20H)SWAP A ;A 高 4 位(20H)的 BCD 码数字XCHD A, R1 ;A 低 4 位(21H) 的 BCD 码数字MOV 30H,AMOV A, #00H ;这一句不是必须MOV R0, #22H MOV R1, #23HXCHD A, R0 ;A(22H)SWAP A ;A 高 4 位(22H)的 BCD 码数字XCHD A, R1 ;A 低 4 位(21H) 的 BCD 码数字MOV 31H,A3-7:片内 RAM 的 30H32H 单元中连续存放了 6 个压缩 BCD 码,编制程序将它们转换为 ASCII 码,存入片外 3000H 开始的连续存储区中MOV R0,#30H MOV DPTR,3000HLOOP: MOV A,R0 SWAP A ANL A,#0FH ADD A,#30H ;30H= 0 MOVX DPTR,A INC DPTRMOV A,R0 ANL A,#0FH ADD A,#30H MOVX DPTR,A INC DPTRINC R0 CJNE R0,#33H, LOOP3-9: 从外部 RAM 2000H 单元开始存放着 100 个无符号数,编写程序统计出:(1)最大数;(2)最小数;(6)大于 50,小于 50,等于 50 的个数。6(1) MOV DPTR, #2000H MOV 30H, #0 ;先用 0 当做最大数 (求最小数时,用 255) MOV R2, #100LOOP: MOVX A, DPTR CJNE A, 20H, TTT ;(A)-(20H)TTT: JNC NEXT ;不够减转移 (求最小数时,用 JNC NEXT) MOV 30H, A ;够减,这个数是大数,给(20H)NEXT: INC DPTR DJNZ R2, LOOPSJMP $END(6)ORG 0600HMOV DPTR, #2000HMOV R2, #100 ;总数MOV R3, #0 ; 小于 50 的数的个数MOV R4, #0 ; 等于 50 的数的个数MOV R5, #0 ; 大于 50 的数的个数LOOP:MOVX A, DPTRCLR CSUBB A, #50JZ EQU_50JNC BIGINC R3 ;小于 50 的个数JMP NEXTEQU_50:INC R4JMP NEXTBIG:INC R5NEXT:INC DPTRDJNZ R2, LOOPMOV 30H,R3 ; 小于 50 的数的个数MOV 31H,R4 ; 等于 50 的数的个数MOV 32H,R5 ; 大于 50 的数的个数SJMP $3-10 MCS-51 片外 RAM 区 1000H1007H 单元中存有 8 个无符号数,编程求其平均值,将结果存于 1008H 中。%先加,加的结果可能超出 8 位,所以存储结7果于(30H)和(40H)单元中。MOV DPTR, #1000HMOV R7, #08HMOV 30H, #00HMOV 40H, #00HSS1:MOVX A, DPTRADD A, 30HMOV 30H, ACLR AADDC A, 40HMOV 40H, AINC DPTR DJNZ R7, SS1MOV R7, #03H ;移位 3 次,等于除以 8SS2:CLR C MOV A, 40H RRC AMOV 40H, AMOV A, 30HRRC AMOV 30H, A DJNZ R7, SS2MOVX DPTR, A3-11 下面是以数学公式,X 值存于片内 20H,Y 值存于 21H 单元中。Y=X2(X0) 0(X=0) 2X(X0)MAIN:MOV A,20H JZ SUL JB ACC.7,NEGMOV B,A MUL AB SJMP SULNEG:CLR C RLC A SUL:MOV 21H ,A 3-12 试编写程序,将外部 RAM 2000H20FFH 数据块,传送到 3000H30FFH区域。MOV R6,#0FFHMOV R2,#00HMOV R3,#20H;暂存 2000H 地址MOV R4,#00HMOV R5,#30H;暂存 3000H 地址NEXT:MOV DPL,R2MOV DPH,R38MOVX A,DPTRMOV DPL,R4MOV DPH,R5MOVX DPTR,AINC R2INC R4DJNZ R6,NEXT3-13:振荡频率:6MHz(机器周期:2us ) ,(1)1ms 延时ORG 2000HMOV R7,125LOP1: NOP NOP DJNZ R7,LOP1 RET(2) 100ms 延时ORG 2000HMOV R6,100LOP2: MOV R7,125LOP1: NOP NOP DJNZ R7,LOP1 DJNZ R6,LOP2 RET(3)1s 延时ORG 2000HMOV R5,10LOP3: MOV R6 ,100LOP2: MOV R7,125LOP1: NOP NOP DJNZ R7,LOP1 DJNZ R6,LOP2 DJNZ R5,LOP3 RET3-14:片内 RAM30H 有一数(015 ) ,查表求平方值,存入 31H 中。ORG 1000HMAIN: MOV DPTR,#TABMOV 30H, #13 ;NUMB=015MOV A, 30H MOVC A,A+DPTR 9MOV 31H,A SJMP $TAB: DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,255第 4 章4-4 试编程实现,将 设为高优先级中断,且为电平触发方式;T0 溢出中断0INT设为低优先级中断,串行口中断为高优先级中断,其余中断源设为禁止状态。SETB PX0CLR IT0 CLR PT0 SETB PS MOV IE,#93H4-9 试用中断技术设计一个秒闪电路,其功能是发光二极管 LED 每秒闪亮400ms。主机频率为 6MHz。(仿真见 exercise4_9.ms11)题意可理解为 LED 每次亮 400ms,灭 600ms。设使用定时器 T1,定时时间为 100ms,用 P1.0 作输出 ,设 P1.0 为高时灯灭。ORG 0000HAJMP STARTORG 000BHAJMP T0INTORG 0050HSTART: MOV SP, #30HMOV TMOD,#01H ;T0 方式 1 计数,MOV TH1, #3CHMOV TL1, #0B0H ;定时 100msMOV R0, #04HSETB F0 ;灯亮(1) 、灭( 0)的转换标志MOV IE, #88HSETB P1.0SETB TR1SJMP $ ORG 0100HT0INT: MOV TH1, #3CHMOV TL1, #0B0HDJNZ R0, NEXTJNB F0, TURNON ;F0 为 0 转TURNOFF: CPL P1.0CLR F0MOV R0, #06HSJMP NEXTTURNON: CPL P1.010SETB F0MOV R0, #04HNEXT: RETIEND4-1 简述中断、中断源、中断源的优先级及中断嵌套的含义。答: 当 CPU 正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU 暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。向 CPU 提出中断请求的源称为中断源。当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而 CPU 在一个时刻只能响应并处理中断优先高的请求。在实际应用系统中,当 CPU 正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自助餐饮创新创业
- 冷链物流挂靠合作合同
- 腰疼的预防及护理
- 老年口腔知识科普
- 学校培训展示
- 股权投资基金合同回购兜底:新趋势与合同规范
- 2024沅陵县职业中等专业学校工作人员招聘考试及答案
- 2024淮南市文汇女子职业学校工作人员招聘考试及答案
- 民事离婚合同样本指南
- 腾讯员工培训
- 施工组织设计-暗标
- 小区车位出租合同范本(三篇)
- 道路桥梁隧道工程监理单位抽检记录表
- GB/T 20522-2006半导体器件第14-3部分:半导体传感器-压力传感器
- GB/T 13824-2015旋转与往复式机器的机械振动对振动烈度测量仪的要求
- 三相三线电能表错误接线分析课件
- 三体系管理手册ISO
- 开关柜局部放电检测技术课件
- 机械式停车设备
- 高层外墙GRC拆除方案
- 2022年成都九联投资集团有限公司招聘笔试题库及答案解析
评论
0/150
提交评论