版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章2 80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。第三章7为什么说布尔处理功能是80C51单片机的重要特点?答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它
2、可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。 8对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问?答:寄存器间接寻址方式。15试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。答:MOV 2FH,20H MOV 2EH,21HMOV 2DH,22H16试编写程序,完成两个16位数的减法:7F4DH2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位
3、。答:CLR CYMOV 30H,#7FHMOV 31H,#4DHMOV R0, #31HMOV A,R0SUBB A ,#4EMOV R0,A ;保存低字节相减结果DEC R0MOV A, R0SUBB A,#2BHMOV R0,A ;保存高字节相减结果17试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。答:MOV A,R2ANL A,#0F0HORL R1,A18试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。答:MOV A,20HMOV B,21HMUL ABMOV R3,A
4、MOV R2,B19若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。 MOV P1.3,C MOV P1.4,C MOV C,P1.6 MOV P3.6,C MOV C,P1.0 MOV P3.4,C答:(CY)=1, (P1)=10111011B, (P3)=00111100B第四章3常用的程序结构有哪几种?特点如何?答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,
5、以便用简短的程序完成大量的处理任务。4子程序调用时,参数的传递方法有哪几种?答:利用累加器或寄存器;利用存储器;利用堆栈。6设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。答:程序如下:ORG 0000HMOV R0,21HMOV R1,23HMOV A,R0ADD A,R1MOV 25H,ADEC R0DEC R1MOV A,R0ADDC A,R1MOV 24H,ASJMP $END7编写程序,把外部RAM中1000H101FH的内容传送到内部RAM的30H4FH中。答:ORG
6、0000H MOV DPTR,#1000H MOV R0,#30H MOV R7,#32LOOP:MOVX A,DPTR MOV R0,A INC R0 INC DPTR DJNZ R7,LOOP RET8编写程序,实现双字节无符号数加法运算,要求 (R0R1)+(R6R7)(60H61H)。答:ORG 0000HMOV A,R1 ADD A,R7MOV 61H,AMOV A,R0 ADDC A,R6 MOV 60H,A SJMP $ END9若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$
7、DJNZ R7,LP RET答:延时时间: 2s*1+((1+2*250+2)*246)+2+2=0.247486秒(含调用指令2个机器周期)10在内部RAM 的30H37H单元存有一组单字节无符号数。要求找出最大数存入BIG单元。试编写程序实现。答: ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH START:MOV R7,#7 ;比较次数 MOV R0,#30H LOOP:MOV A,R0 MOV ONE,A INC R0 MOV TWO,R0 CLR C SUBB A,R0 JC NEXT ;ONE小,TWO大继续比下一对数 MOV R0
8、,ONE ;ONE大放后面(交换) DEC R0 MOV R0,TWO ;TWO小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END11编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。 org 0 MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $ DCDTH:MOV R7,#8 MOV R0,A ;暂存于
9、R0 LOOP:CLR C MOV A,R0 RLC A MOV R0,A MOV R1,#51H; MOV A,R1 ; ADDC A,R1 ; DA A ; MOV R1,A ; DEC R1 MOV A,R1 ADDC A,R1 DA A MOV R1,A DJNZ R7,LOOP INC R1 ;50H已是结果,R1指向51H,51H单元需拆分 MOV A,#00H XCHD A,R1 MOV 52H,A MOV A,R1 SWAP A MOV R1,A RET END12编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。答: ORG 0 MOV R1,#5B
10、H MOV A,R1 ANL A,#0F0H SWAP A ACALL ASCII MOV R3,A MOV A,R1 ANL A, #0FH ACALL ASCII MOV R4, A SJMP $ASCII:PUSH ACC CLR C SUBB A, #0AH POP ACC JC LOOP ADD A, #07HLOOP: ADD A, #30H RET END13编写程序,求内部RAM中50H59H十个单元内容的平均值,并存放在5AH单元。答: ORG 0000H MOV R7,#10 MOV R0,#50H MOV B,#10 CLR C CLR A LOOP:ADDC A,R0
11、INC R0 DJNZ R7,LOOP DIV AB MOV 5AH,A SJMP $ END14如图4.10所示,编制程序实现:上电后显示“P”,有键按下时显示相应的键号“0”“7”。答:实现程序如下:TEMP EQU 30H ORG 0000H JMP START ORG 0100HSTART:MOV SP,#5FH MOV P0,#8CH ;正序显示P MOV P3,#0FFH ;输入方式 CLR CYNOKEY:MOV A,P3 CPL A JZ NOKEY ;无键按下 MOV TEMP,P3 ;有键按下 CALL D10ms MOV A,P3 CJNE A,TEMP,NOKEY ;去
12、抖动 MOV R2,#0 ;键号计数器复位 MOV A,TEMP LP:RRC A JNC DONE INC R2 SJMP LP DONE:MOV A,R2 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOV P0,AJMP NOKEYD10ms:MOV R5,#10 ;10MSD1ms:MOV R4,#249 DL:NOP NOP DJNZ R4,DL DJNZ R5,D1ms RET CODE_P0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END 第五章
13、2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。答:将3个中断信号经电阻线或,接。ORG 0000HLJMP MAINORG 00013HLJMP ZDFZ ORG 0040HMAIN:SETB EA SETB EX1 SJMP $ 0RG 0200HZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2INRET:POP ACC POP PSWRETIO
14、RG 2000H DV0:-JMP INRETORG 2100HDV1:-JMP INRETORG 2200H DV2:-JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?答:当IT0=0时,为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样引脚电平,当采样到低电平时,置IE0向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,
15、否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。当IT0=1时,为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样引脚电平,如果在连续的两个机器周期检测到引脚由高电平变为低电平,即第一个周期采样到=1,第二个周期采样到=0,则置IE01,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。
16、另外,为了保证下降沿能够被可靠地采样到,和引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。4.定时/计数器工作于定时和计数方式时有何异同点?答:定时/计数器实质是加1计数器。不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1
17、,更新的计数值在下一个机器周期的S3P1期间装入计数器。相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即方式0:13位计数器;方式1:16位计数器;方式2:具有自动重装初值功能的8位计数器;方式3:T0分为两个独立的8位计数器,T1停止工作。8.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。答:采用定时20ms,然后再计数1、49次的方法实现。a、T0工作在定时方式1时,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机
18、器周期Tcy为1。Nt/ Tcy 20103/110620000X216N6553620000455364E20H 即应将4EH送入TH1中,20H送入TL1中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:MOV TMOD,#01H ;设T1工作于方式2 MOV TH0,# 4EH ;装入循环计数初值 MOV TL0,#20H ;首次计数值 LP0:SETB P1.0 ACALL NT0 CLR P1.0 MOV R7,#49 ;计数49次 LP1:ACALL NT0 DJNZ R7,LP1 AJMP LP0 NT0:MOV TH
19、0,# 4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END9.要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。答:采用T0实现a、T0工作在定时方式1时,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1。1/1000=1103Nt/ Tcy 0.5103/1106500X216N6553650065036FE0CH 即应将FEH送入TH0中,0CH送入TL0中。 c、实现程序如下: ORG 0000H
20、AJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ORG 0030H MAIN:MOV TMOD,#01H ;设T0工作于方式2 MOV TH0,# 0FEH ;装入循环计数初值 MOV TL0,#0CH ;首次计数值 SETB ET0 ;T0开中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI END10.试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.
21、7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。答:a、T1工作在计数方式2时,控制字TMOD配置: M1M0=10,GATE=0,C/=1,可取方式控制字为60H; T1工作在定时方式1时,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字为10H;b、计算初值X: 定时10ms时:晶振为12 MHz,所以机器周期Tcy为1。Nt/ Tcy 10103/110610000X216N655361000055536D8F0H 即应将D8H送入TH1中,F0H送入TL1中。 计数100时:N100 X28N2561001569C
22、H c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 001BH ;T1的中断入口地址 LJMP DVT1 ORG 0030H MAIN:MOV TMOD,#60H ;T1工作于计数方式2 MOV TH1,#9CH ;装入计数初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1 ;T1开中断 SETB EA ;CPU开中断 SETB TR1 ;启动T1 SJMP $ ;等待中断 DVT1:SETB P1.7 CLR ET1 CLR TR1 MOV TMOD,#10H ;T1工作于定时方式1 MOV TH1,#0D8H ;装初值 MOV TL1
23、,#0F0H SETB TR1 JNB TF1,$ ;查询等待10ms CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1工作于计数方式2 MOV TH1,#9CH ;装初值 MOV TL1,#9CH ; SETB ET1 ;T1开中断 SETB TR1 ;启动T1 RETI END11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒(即,亮1秒后熄灭并点亮下一个,-)。答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。a、T0工作在定时方式1时,控制字TMOD配置:
24、 M1M0=01,GATE=0,C/=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1。Nt/ Tcy 20103/110620000X216N6553620000455364E20H 即应将4EH送入TH1中,20H送入TL1中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:CLR CYMOV A,#01H LP0:MOV P1,A CALL D1SEC RL A AJMP LP0 D1SEC:MOV R7,#50 ;计数50次MOV TMOD,#01HDL:MOV TH0,#4EH MO
25、V TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DL RET END第六章180C51单片机串行口有几种工作方式?如何选择?简述其特点?答:四种工作方式,由SCON中的SM0、SM1进行定义:方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。方式1:10位数据的异步通信口,波特率可变。方式2:11位数据的异步通信口,波特率固定。方式3:11位数据的异步通信口,波特率可变。5利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将SW1SW8的状态反应在P0口所接的LED上(如SW1闭合时L7应点亮)。答:电路图如下: ORG 0000H MOV SCON,#10H LOOP:CLR P1.7 NOP NOP NOP SETB P1.7 CLR RIJNB RI,$MOV A,SUBFSJMP LOOP END6利用单片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度出租车行业节能减排技术创新合同4篇
- 二零二五年度充电桩储能系统设计与建设合同3篇
- 2025秀屿区文印中心企业宣传册制作承包经营合同3篇
- 2025版外墙瓷砖购销及质量检测认证合同3篇
- 二零二五年度家暴受害者离婚财产合理分配与子女权益保护合同
- 临时土地使用租赁合同(2024版)
- 2025年度智能化煤炭采购合同书4篇
- 二零二五年度农民工社会保险委托代缴服务协议
- 二零二五年度变压器安装与电网运行维护合同6篇
- 2025年度美容院连锁加盟经营管理合同
- 智能衣服方案
- 李克勤红日标准粤语注音歌词
- 教科版六年级下册科学第一单元《小小工程师》教材分析及全部教案(定稿;共7课时)
- 中药材产地加工技术规程 第1部分:黄草乌
- 危险化学品经营单位安全生产考试题库
- 案例分析:美国纽约高楼防火设计课件
- 老客户维护方案
- 移动商务内容运营(吴洪贵)任务一 用户定位与选题
- 2021年高考化学真题和模拟题分类汇编专题20工业流程题含解析
- 工作证明模板下载免费
- (完整word)长沙胡博士工作室公益发布新加坡SM2考试物理全真模拟试卷(附答案解析)
评论
0/150
提交评论