单片机开卷考试整理.docx

(10页)

'单片机开卷考试整理.docx'
?微型计算机:微处理器(CPU).存储器,接口适配器(输入输出接口电路),输入/输出(I/O)设备。单片机:微处理器,RAM ,ROM,I/O口,定时器运算器:算术逻辑单元(简称ALU),累加器,寄存器.作用:是把传送到微处理器的数据进行运算或逻辑运算。 ALU可对两个操作数进行加、减、与、或、比较大小等操作,最后将结果存入累加器。ALU执行不同的运算操作是由不同控制线上的信息所确定的。 来源:累加器数据寄存器 功能:执行各种算术运算执行各种逻辑运算,并进行逻辑测试。如零值测试或两个值的比较。 控制器:程序计数器,指令寄存器,指令译码器时序产生器,操作控制器。作用:发布命令的“决策机构”,即协调和指挥整个计算机系统的操作。功能:从内存中取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。 指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。CPU中的主要寄存器:累加器(A),数据寄存器(DR),指令寄存器(IR),指令译码器(ID),程序计数器(PC),地址寄存器(AR)计算机中常用编码:BCD码,ASCII码v 80C31片内没有程序存储器,v 80C51内部设有4 KB的掩膜ROM程序存储器。v 87C51是将80C51片内的ROM换成EPROM,v 89C51则换成4 KB的闪速E2PROM。89C51单片机的基本组成:1、一个8位 的微处理器CPU。 2、片内数据存储器(RAM128B/256B)3、片内4kB程序存储器Flash ROM(4KB)片外最多可扩至64KB ROM/EPROM,地址为1000H~FFFFH。4、四个8位并行I/O(输入/输出)接口 P0~P3:5、两个或三个定时/计数器: 6、一个全双工UART的串行I/O口: 7、片内振荡器和时钟产生电路: 8、五个中断源的中断控制系统。 9、具有节电工作方式单片机中运算器(1)8位的ALU: (2)8位累加器ACC(A)(3)8位程序状态字寄存器PSW(4)8位寄存器B(5)布尔处理器(6)2个8位暂存器单片机中控制器(1)程序计数器PC(16位)(2)指令寄存器IR及指令译码器ID (3)振荡器和定时电路 存储器1)程序存储器(ROM) 89C51片内为4KB Flash ROM。 地址0000H~0FFFH。用于存放程序和表格常数2)数据存储器(RAM) 89C51RAM均为128B,地址为00H~7FH;褂 32个字节单元可指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80H~FFH。I/O接口:四个8位并行I/O接口P0~P3,都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。P0口作一般I/O口使用时,应外接上拉电阻,才能输出高电平P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。 微机的存贮器结构分为普林斯顿结构和哈佛结构两类堆栈指针SP:系统复位时,SP初始化为07H。数据指针DPTR:一个16位的特殊功能寄存器,由DPH(83H),DPL(82H)组成下面是单片机外接晶振频率12 MHz时的各种时序单位的大小。 振荡周期=1/fOSC=1/12 MHz=0.083 3 μs 状态周期=2/fOSC=2/12 MHz=0.167 μs 机器周期=12/fOSC=12/12 MHz=1 μs 指令周期=(1~4)机器周期=1~4 μs 复位:1、上电自动复位:通过外部复位电路的电容充电实现2、手动复位:按键电平复位,按键脉冲复位1·可编程接口:可用软件选择其功能的接口。 2·控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。 3·机器数与真值:计算机中的数称为机器数,它的实际值叫真值。 4·累加器:既存操作数又存操作结果的寄存器。 5·微型计算机:由微处理器(CPU)、存储器、接口适配器(I/O接口电路)及输人/输出设备组成。通过系统总线将它们连接起来,以完成某些特定的运算与控制。 6·指令系统:一台计算机所能执行的全部指令的集合称为这个CPU的指令系统。 7·总线:所谓总线,是连接系统中各扩展部件的一组公共信号线。8·运算器:由算术逻辑单元ALU、累加器A和寄存器等几部分组成,用来执行各种算术运算和逻辑运算。 9·微处理器:微处理器本身不是计算机,它是微型计算机的核心部件,又称它为中央处理单元CPU。它包括两个主要部分:运算器、控制器。 10·指令:指令是CPU根据人的意图来执行某种操作的命令。 11·汇编语言:汇编语言是一种用指令的助记符、符号地址、标号等编写程序的语言,又称符号语言。 12·寻址方式:寻址方式就是寻找指令申操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。 13·堆栈:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 14·高级语言:高级语言是完全独立于机器的通用语言。 15·汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。 16·指令周期:指执行一条指令所占用的全部时间。通常一个指令周期含1~4个机器周期。 17·进位和溢出: 两数运算的结果若没有超出字长的表示范围,则由此产生的迸位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。例如将正数3FH和负数D0H相加,其结果不会超出8位字长的表示范围,所以其结果1 0FH中的进位是正常进位(也就是模)。但是,若正数3FH与正数70H相加,其结果为AFH,最高位为"1",成了负数的含义,这就不合理了,这种情况称为溢出。 18·单片机用于外界过程控制中,为何要进行A/D、D/A转换? 答: 单片机只能处理数字形式的信息,但是在实际工程中大量遇到的是连续变化的物理量,如温度、压力、流量、光通量、位移量以及连续变化的电压、电流等。对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号,然后经过放大器放大为0V~5V。省略部分。H是负数,所以其16位形式为FFDFH。最后求得目的地址=0809H+FFD-FH=07ElH。 55·读下面一段程序,并以简单方法对它进行改写,限用5条指令。MOV R0,#21H MOV A,20HMOV A,20H SWAP AANL A,#0FH ANL A,#0FHMOV @R0,A MOV @R0,AINC R0答:这段程序的任务是把片内RAM 20H单元的内容分解成高4位和低4位,低4位存入21H单元,高4位存入22H单元。可以认为这是把20H单元内的数据分成两个十六进制位或两个BCD位。这可用除法进行:MOV A,20H ;取数MOV B,#10H ;除数为16DIV AB ;分离十六进制位MOV 21H,B ;存低位MOV 22H, A ;存高位56·执行过某LCALL指令后,堆栈的内容如图12-1所示。试问:这条LCALL指令的首地址是多少?它执行前SP的内容等于多少?子程序中两条;は殖≈噶钜来问鞘裁?答:从堆栈的内容看,返回地址为504AH。LCATL指令代码含3B,故这条LCALL指令的首地址图等于504AH-3=5047H。这条指令执行前,(SP)=2FH。子程序中两条;は殖〉闹噶钜来问荘USH ACC和PUSH PSW。57·用一条什么指令可以取代下列4条指令?答:这4条指令的任务是要转移到目的地址1234H去,所以可用一条LJMP l234H指令来取代它们。10利用乘法指令编写15H×33H的程序,将乘积的高8 位存入31H单元,低8位存入30H单元 MOV A,#15HMOV B,#33HMUL A,BMOV 31H,BMOV 30H,A编程将片内35H~55H单元中的内容送入到以3000H为首的数据存储区中。M:MOV R0,#35H MOV R1,#21H MOV DPTR,#3000HLOOP:MOV A,@R0 MOVX @DPTR,A INC R0INC DPTRDJNZ R1,LOOP RET拆字。将片内RAM 20H单元的内容拆成两段,每段四位。并将它们分别存入21H与22H单元中。ORG 2000H START: MOV R0,#21H ;21H→R0 MOV A,20H ;(20H)→A ANL A,#0FH ;A∧#0FH→A MOV @R0,A ;(A)→(R0) INC R0 ;R0+1(R0 MOV A,20H ;(20H)→A SWAP A, ;A0~3 ← →A4~7 ANL A,#0FH ;A∧#0FH→A MOV @R0,A ;(A)→(R0) SJMP $ 片内RAM ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入RES单元。ORG 1000H ONE DATA 22H ;定义ONE TWO DATA 23H ;定义TWO RES DATA 30H ;定义RES MOV A,ONE START: CJNE A,TWO,BIG SJMP STORE BIG: JC STORE MOV A,TWO STORE:MOV RES,A SJMP $数据块传送。将片内RAM 20H单元开始的10个字节,传送到片外RAM 1000H单元开始的单元中去。ORG 0800H START: MOV R0,#20H MOV DPTR,#1000H MOV R7,#0AH LOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP SJMP $ 统计字串长度。内存从STRING开始有一字串,该字串以$(ASCII码为24H)结束,试统计该字串长度,结果存于NUM单元中ORG 0800H NUM DATA 20H STRING DATA 21H START: CLR A MOV R0,#STRING LOOP: CJNE @R0,#24H,NEXT SJMP COMP NEXT: INC A INC R0 SJMP LOOP COMP: MOV NUM,A SJMP $ R1中存有一个BCD码,编一子程序将其转换为ASCII码,存入片外RAM1000H单元中去。ORG 0100HBAS1: MOV A,R1 ADD A,30H MOV DPTR,#1000H MOVX @DPTR,A RET 片外RAM2000H单元中有一BCD码,编一子程序将其转换成ASCII码。ORG 0100H BAS2: MOV DPTR,#2000H MOVX A,@DPTR ADD A,#30H MOVX @DPTR,A RET 片内RAM30H单元开始有10个字节的二进制数。编一子程序,求它们的和。(和<256)将和存入20H单元中。方法1 ORG 1000H ASUB1: MOV R0,#30H CLR A MOV R7,#10 CLR C LOOP: ADDC A,@R0 INC R0 DJNZ R7,LOOP MOV 20H,A RET 方法2 ORG 2000H ASUB2: MOV R0,#30H MOV A,@R0 MOV R7,#09 CLR C LOOP: INC R0 ADDC A,@R0 DJNZ R7,LOOP MOV 20H,A RET 设单片机晶振频率6M,编写一段程序,大约延时1秒钟。Delay: MOV R7,#0FAHLOOP: MOV R6,#0FAHLOOP1: NOP NOP NOP NOP NOP NOP DJNZ R6,LOOP1 DJNZ R7,LOOP编写延时4ms的子程序。设晶振为12MHZ晶振为12MHZ,则1个机器周期为1微妙(1μs),一条DJNZ指令为2个机器周期,则执行该指令2000次为4ms2000=20*100 ORG 1000HDelay: MOV R6,#20DLY1: MOV R7,#100DLY2: DJNZ R7,DLAY2 DJNZ R6,DLY1 RET
关 键 词:
开卷考试 整理 单片机
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:单片机开卷考试整理.docx
链接地址: //www.wenku365.com/p-55128420.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开