欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机 一纸开材料.docx

    • 资源ID:333109       资源大小:1.23MB        全文页数:56页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机 一纸开材料.docx

    1、单片机 一纸开材料Chap18051/8031系列CPU管脚:P0(3932),8位双向三态I/O口,有较大的负载能力。8051不带片外存储器时,为通用I/O口,传送输入/输出数据。带片外存储器并访问时,先传送低8位地址后传送数据。P1(18),8位准双向I/O口,用于传送输入/输出数据。8位准双向I/O口。P2(2128),8051不带片外存储器时,为通用I/O口,传送输入/输出数据。 带片外存储器并访问时,传送高8位地址。P3(1017),8位准双向I/O口。可作普通I/O口和专用口。P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外

    2、部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)(两个16位可编程定时/计数器,分别由两个8位寄存器拼装而成。最大计数值为216-1,即65535。)P3.6WR(外部数据存储器写控制)P3.7RD(外部数据存储器读控制)XTAL1(19) :振荡器输入端(单片机内部反向放大器的输入端)XTAL2 (18):振荡器输出端(单片机内部反向放大器的输出端)ALE/PROG (30):外部存储器地址锁存允许/编程线访问外部存储器,CPU在P0口输出片外存储器低8位地址的同时,在该线上输出一个高电平脉冲,其下降沿用于控制地址锁存;不访问片外存储器时,CPU自动在该线上输出可用

    3、作外部时钟源的脉冲序列,频率为振荡器频率的1/6。EA/VPP(31) :允许访问片外程序存储器/编程电源线EA接高电位,访问内部程序存储器 EA接低电位,访问外部程序存储器PSEN(29) :片外ROM选通线。RST/VPD(9): 复位/备用电源线。复位时高电位有效。程序状态寄存器(Program Status Word):PSW 是一个8位标志寄存器,用来存放指令执行后的有关状态。PSW的格式:P奇偶标志位(1为双P=0) AC半进位位OV溢出标志位 Cy 进位位F0 用户标志位(用户根据程序执行的需要通过传送指令确定) RS1,RS0寄存器选择位(用于决定8051的8个8位工作寄存器R

    4、0R7在RAM中的实际物理地址)RS1,RS0对工作寄存器的选择IP中断优先级寄存器IE中断允许寄存器TMOD计数器方式寄存器TCON计数器控制寄存器SCON串行口控制寄存器SBUF串行口数据缓冲器PCON电源控制寄存器存储器分类 /EA=1 /EA=0 程序存储器: 内部(/EA=1,),4K;外部(/EA=0),/PSEN=0,60K; 地址:0000HFFFFH,64K单元;使用MOVC指令数据存储器: 内部RAM(00H7FH, 低128B; 80HFFH, 高128B) 外部RAM(0000HFFFFH,64K单元) 控制信号:/RD或/WR有效(=0) 使用计数器:DPTR 使用指

    5、令:内部RAM用MOV;外部RAM用MOVX程序存储器和数据存储器使用独立的两个地址空间。由/PSEN和/RD(/WR)区分。程序存储器ROM 存放程序代码和表格数据,64KB,地址指针是16位PC。注意6个特殊的单元:0000H-0002H单元:上电时,程序计数器PC所指向的单元;0003H-000AH单元:外部中断/INT0的入口地址;000BH-0012H单元:定时器T0的溢出中断入口地址;0013H-001AH单元:外部中断/INT1的入口地址;001BH-0022H单元:定时器T1的溢出中断入口地址;0023H-002AH单元:串行口接收、传送的中断入口地址。注:中断响应后,由硬件控

    6、制PC自动转到各中断区的首地址。但每个中断区只有8个单元,无法放置完整的中断处理子程序,编程时必须在中断入口区放置一条无条件转移指令,将程序引导到真正的中断处理程序的实际入口位置。复位操作复位是单片机的初始化操作。复位的主要功能:把PC初始化为0000H,使CPU从0000H单元开始执行程序;当程序运行出错或操作错误系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。除PC之外,复位操作还对其它一些寄存器有影响,但复位不影响内部RAM状态。复位后的内部寄存器状态Chap2寻址方式立即寻址:指令码中直接含有操作数本身(立即数)立即数可以是8位或16位立即数通常用#data或#data16表示

    7、立即数只能作为源操作数立即数同操作码一起存放在程序存储器中MOV A,#3BH ;A3BHMOV DPTR,#1828H ;DPTR#1828H直接寻址:指令码中含有操作数地址(8位二进制数);可用于直接寻址的存储空间是:片内RAM的低128字节和特殊功能寄存器SFR;直接寻址通常用direct(操作数所在存储单元的物理地址)表示;MOV 40H, A ;(40H) A对片内高128B的RAM,direct既可以使用SFR的物理地址,也可以用SFR的名称符号。MOV A, 81H ;A (81H)MOV A, SP ;A SP,可读性好3、寄存器寻址:操作数在R7-R0,A,B,AB,DPTR

    8、中,指令码中含有该操作数的寄存器号;操作数位于片内RAM中 MOV A, Rn ; (A) (Rn)4、寄存器间接寻址:指令码中含有存放该操作数地址的寄存器号;间址寄存器采用R0,R1,DPTR表示;R0,R1用于对片内RAM和外部RAM (0000H00FFH)寻址,DPTR的寻址范围是片外ROM/RAM的全部64KB区域;寄存器间址指令不能用于寻址SFRMOV A, R0 ; A (R0)5、变址寻址:指令码中隐含有作为基地址寄存器用的数据指针DPTR或程序计数器PC(存放基地址);指令码中也隐含有累加器A(A中存放地址偏移量,00HFFH范围内的无符号数);寻址空间是程序存储器。MOVC

    9、 A, A+PC ; A (A+PC) MOVC A, A+DPTR ; A (A+DPTR)6、相对寻址:相对转移指令的指令码中含有相对地址偏移量;相对转移指令分为:短转移指令和长转移指令(分别为双字节和三字节);PC的当前值 + 相对地址偏移量rel = 下一条要执行指令的地址;PC的当前值是指相对转移指令从程序存储器中取出后的PC值。2000H 8054H SJMP rel ; PC PC+2+rel7、位寻址:位寻址指令的指令码中含有位地址;位寻址指令中位地址用bit表示(字节地址direct);位寻址区:片内RAM位寻址区20H2FH和11个SFR;MOV C, 7FH ; Cy (

    10、7FH)MOV C, 2FH.7 ; Cy (7FH) MOV C, ACC.7 ; Cy ACC.7A1 BIT 7FH 位地址赋值伪指令 MOV C, A1 ; Cy 2FH.7 , A1 为符号位地址1、数据传送指令(28条)此类指令不影响Cy, AC, OV标志,只影响奇偶标志P。片内RAM单元之间的数据传送指令(15条)指令的源操作数和目的操作数地址都在单片机内部,是片内RAM或SFR的地址。(1)立即寻址型传送指令MOV A,#data ; A data MOV Rn,#data ; Rn data MOV Ri,#data ; (Ri) data MOV direct,#data

    11、 ; direct data(2)直接寻址型传送指令:指令操作码中至少含有一个操作数的直接地址。MOV A, direct ; A (direct) MOV direct ,A ; direct AMOV Rn, direct ; Rn (direct)MOV Ri, direct ; (Ri) (direct)MOV direct2,direct1 ; direct2 (direct1)注:目的存储单元有累加器A、工作寄存器和片内RAM单元(包括SFR的字节地址)。 (3)寄存器寻址型传送指令MOV A, Rn ; A RnMOV Rn, A ; Rn A MOV direct, Rn ;

    12、direct Rn(4)寄存器间址型传送指令MOV A, Ri ; A (Ri)MOV Ri , A ; (Ri) A MOV direct, Ri ; direct (Ri)外部数据传送指令(外部RAM/ROM)(13条)(5)16位数传送指令MOV DPTR,#data16 ; DPTR data16 16位立即数是外部RAM/ROM的地址,其高8位送入DPH,低8位送入DPL。(6)外部ROM的字节传送指令(查表指令)MOVC A, A+DPTR ; A (A+DPTR) 远程查表MOVC A,A+PC ; PC PC+1, A (A+PC) 近程查表(7)外部RAM的字节传送指令:实现

    13、外部RAM和累加器A之间的数据传送。MOVX A, Ri ; A (Ri) MOVX Ri, A ; (Ri) A MOVX A, DPTR ; A (DPTR) MOVX DPTR, A ; (DPTR ) A注:前面两条指令访问外部RAM:0000H00FFH后面两条指令访问外部RAM:0000HFFFFH(8)堆栈操作指令PUSH direct ; SP SP+1,(SP) (direct) POP direct ; direct (SP), SP SP-1 堆栈操作指令是直接寻址指令,书写格式为:PUSH ACCPUSH 00HPOP ACCPOP 00H注:弹出指令不会改变堆栈区存储

    14、器单元中的内容。(9)数据交换指令XCH A,Rn ; ARnXCH A,direct ;A (direct)XCH A, Ri ; A (Ri)XCHD A, Ri ; A30 (Ri)30注:只是将累加器A中的内容和片内RAM单元内容相互交换。2、算术运算指令(24条)加法指令( 13条)(1)不带Cy加法指令ADD A,Rn ; A A+RnADD A,Direct ; A A+(Direct)ADD A,Ri ; A A+(Ri)ADD A,#data ; A A+data对PSW标志位均有影响;计算机总是按带符号数法则运算,产生PSW标志位。两个带符号数相加,运算结果是否溢出应判断O

    15、V标志位。(2)带Cy加法指令ADDC A,Rn ; A A+Rn +CyADDC A,Direct ; A A+(Direct) +CyADDC A,Ri ; A A+(Ri)+CyADDC A,#data ; A A+data +Cy Cy指令执行前的Cy值。常用于多字节无符号数的加法运算(3)加1指令:只影响奇偶校验标志位INC A ; A A+ 1 INC Rn ; Rn Rn+1INC Direct ; Direct ( Direct )+1INC Ri ; (Ri) (Ri)+1INC DPTR ; DPTR DPTR+1减法指令( 8条)(4)带Cy减法指令SUBB A,Rn ;

    16、 A A Rn - CySUBB A, Direct ; A A -(Direct)- CySUBB A,Ri ; A A -(Ri) - CySUBB A, #data ; A A data - Cy对PSW标志位均有影响;计算机总是按带符号数法则运算,产生PSW标志位。两个带符号数相减,运算结果是否溢出应判断OV标志位。(5)减1指令:只影响奇偶校验标志位DEC A ; A A - 1 DEC Rn ; Rn Rn - 1DEC Direct ; Direct ( Direct )- 1DEC Ri ; (Ri) (Ri) - 1(6)十进制调整指令( 1条)DA A ;若AC=1或A3A

    17、09,则A A+06H 若Cy=1或A7A49,则A A+60H通常紧跟在加法指令后使用,对A中的操作数进行十进制调整。 专用于实现BCD运算。(7)乘法、除法指令( 2条)MUL AB ;AB=BA, 形成标志对标志位的影响:Cy=0;若B不等于0,则OV=1,否则OV=0; P由A中1的奇偶性确定。 DIV AB ; AB=AB, 形成标志对标志位的影响:Cy=0;执行过程中,若发现B等于0,则OV=1; P由A中1的奇偶性确定。3、逻辑运算指令(25条)(1)逻辑与运算指令 ANL A,Rn ; A ARnANL A, direct ; A A(direct) ANL A, Ri ; A

    18、 A(Ri) ANL A, #data ; A AdataANL direct ,A ; direct (direct) AANL direct ,#data ; direct (direct) data(2)逻辑或运算指令ORL A,Rn ; A A RnORL A, direct ; A A (direct) ORL A, Ri ; A A (Ri)ORL A, #data ; A A dataORL direct ,A ; direct (direct) AORL direct ,#data ; direct (direct) data(3)逻辑异或运算指令XRL A,Rn ; A A

    19、RnXRL A, direct ; A A (direct) XRL A, Ri ; A A (Ri) XRL A, #data ; A A dataXRL direct ,A ; direct (direct) AXRL direct ,#data ; direct (direct) data例:ANL A,#0FH ;高四位清零,低四位不变ORL A,#0FH ;高四位不变,低四位置1XRL A,#0FH ;高四位不变,低四位求反(4)累加器A清零和取反指令 CLR A ; A 0 CPL A ; A A(5)移位指令RL A ; A7 A6 . A0 A7RR A ; A0A7 . A1

    20、 A0RLC A ; CY A7 A6 . A0 CYRRC A ; CY A7 . A0 CYSWAP A ;高4位和低4位交换指令4、控制转移指令(17条)(1)无条件转移指令LJMP addr16 ; PC addr16长转移指令:64K范围内转移指令 AJMP addr11 ; PC PC+2,PC10PC0 addr11绝对转移指令:2K范围内转移指令SJMP rel ; PC PC+2, PC PC+rel短转移指令:-126-129范围内转移指令, rel的取值范围-128-127JMP A+DPTR ; PC A+DPTR间接转移指令:变址转移指令,目标转移地址的基地址送入DP

    21、TR(2)条件转移指令累加器A判零转移指令JZ rel ; 若A=0,则 PC PC+2+rel, 否则PC PC+2JNZ rel ;注意:都是双字节相对转移指令,rel为相对地址偏移量。(3)比较不相等转移指令CJNE A,#data,rel;若A=data,则PCPC+3若A不等于data,则PCPC+3+rel,形成Cy标志。CJNE A,direct,rel;CJNE Rn,#data,rel;CJNE Ri,#data,rel;注意:指令的相对转移范围为-125 +130(4)减1非零转移指令DJNZ Rn,rel;若Rn-1不等于0,则PCPC+2+rel 若Rn-1=0,则PC

    22、PC+2DJNZ direct,rel;若,(direct)- 1不等于0,则PCPC+3+rel 若,(direct)-1=0,则PCPC+3 注意:条件转移指令均为相对转移指令,因此指令的转移范围十分有限。(5)短调用指令ACALL addr11 ; PCPC+2 SPSP+1,(SP) PC7PC0 SPSP+1,(SP) PC15PC8 PC100addr11注意:(1)短调用指令也称为绝对调用指令;(2)本调用指令应与被调用子程序起始地址在同一个2KB范围内。(6)长调用指令LCALL addr16 ; PC PC+3 SP SP+1,(SP) PC7PC0 SP SP+1,(SP)

    23、 PC15PC8 PC150 addr16注意:本调用指令是一个64KB范围内调用指令。(7)一般子程序返回指令RET; PC15PC8 (SP), SP SP-1, PC7PC0 (SP), SP SP-1(8)中断子程序返回指令RETI; PC15PC8 (SP), SP SP-1, PC7PC0 (SP), SP SP-1在返回断点的同时,释放中断逻辑,接受新的中断请求。(9)空操作指令:NOP ; PC PC+15、布尔变量操作指令(17条)(1)位传送指令MOV C , bit MOV bit , C 其中:C为PSW中的Cy;bit为布尔变量的位地址。 这组指令的其中一个操作数必须

    24、是进位标志C,另一个可以是位地址。(2)位置位和复位指令位置位指令(置1) SETB C ;1Cy SETB bit ;1( bit )位复位指令(清0)CLR C ;0CyCLR bit ;0( bit )(3)位逻辑运算指令位逻辑“与”指令 ANL C, bit ;(C)( bit ) C ANL C, /bit ;(C) /(bit ) C位逻辑“或”指令 ORL C, bit ;(C)( bit ) C ORL C, /bit ;(C)/( bit ) C位逻辑“非”指令 CPL C ;/(C ) C CPL bit ;/(bit) bit(4)位条件转移指令累加器cy状态判断转移指令

    25、 JC rel ;若Cy=1,则(PC)+2+relPC ;若Cy=0,则(PC)+2PC JNC rel ;若Cy=0,则(PC)+2+relPC ;若Cy=1,则(PC)+2PC位状态判断转移指令 JB bit, rel ;若(bit)=1,则(PC)+3+relPC ;若(bit)=0,则(PC)+3PC JNB bit, rel ;若(bit)=0,则(PC)+3+relPC ;若(bit)=1,则(PC)+3PC JBC bit, rel ;若(bit)=1,则 (PC)+3+relPC,0bit ;若(bit)=0,则 (PC)+3PC6、伪指令是在机器汇编时供汇编程序识别和执行的

    26、命令,用于对汇编的过程进行控制。ORG 指令代码存储起始地址 ORG 2000HSTART:MOV A, #64H : ENDEND:结束汇编伪指令每个源程序只能有一个END,且在程序的末尾。EQU 等值(赋值)语句 字符名称 EQU 数据或汇编符 DAPORT EQU 0C010H 注:先定义后使用,定义字符名称不能在表达式中使用。DATA 数据地址赋值语句 字符名称 DATA 表达式 AA DATA 35H 注:表达式可为数据或地址,也可包含已定义的“字符名称”,但不能是汇编符号。DB:定义字节 标号: DB 项或项表 把“项或项表”中的数据依次存放到以左边标号为起始地址的存储单元中DW:

    27、定义双字节数(字)(高8位放低地址单元)标号: DW 项或项表DB:定义存储空间 标号: DS 表达式从标号地址开始预留一定数量的内存单元BIT:位地址赋值 字符名称 BIT 位地址汇编语言程序设计1.查表程序设计DPTR作基址的查表指令MOVC A, A+DPTR ; A (A+DPTR )步骤:(1)DPTR所查表的始址 (2)A所查表的项数 (3)执行查表指令PC作基址的查表指令MOVC A, A+PC ; A (A+PC )步骤:(1)A 所查表的项数(2)查表指令前应放如下指令:ADD A, #data其中,data=查表指令到表始址间的指令字节数(3)执行查表指令例:已知R0中有1

    28、个0-F的数,编程将其变换成ASCII码。求解:(1)采用DPTR作基址 ORG 3000H MOV DPTR, #ASCTAB ; DPTRASCTAB MOV A, R0 ; A项数 ANL A, #0FH ; 屏蔽高4位 MOVC A, A+DPTR ; A结果 MOV R0, A ; 送回R0 SJMP $ASCTAB: DB 0, 1 , 9 DB A, B , F END2)采用PC作基址 ORG 1000H MOV A, R0 ; A项数 ANL A, #0FH ; 屏蔽高4位 ADD A, #data ; AA+data MOVC A, A+PC ; 查表 MOV R0, A ; 存结果 SJMP $ASCTAB: DB 0, 1 , 9 DB A, B , F END注意:data=查表指令和表始址间的指令字节数=03H2.子程序设计子程序始址应以子程序任务定名 例如:延时程序可用 DELAY参数传递 入口参数:子程序所需的原始数据,如SIN(X)中的X 出口参数:子程序执行后的结果数据,如SIN(0.5)的值 参数传递方法: (1) R0-R7,A,B 等,放参数本身 (2) Rn, A,B 等,放参数地址 (3) 堆栈传送参数 (4) 位地址传送参数主程


    注意事项

    本文(单片机 一纸开材料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开