欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机——程序的基本结构ppt课件.pptx

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

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

    单片机——程序的基本结构ppt课件.pptx

    采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 在在汇编语言程序设计中,普遍采用结构化程汇编语言程序设计中,普遍采用结构化程序设计方法。任何复杂的程序都可由顺序结构、序设计方法。任何复杂的程序都可由顺序结构、分支结构、循环结构、子程序结构等程序构成。分支结构、循环结构、子程序结构等程序构成。结构程序设计的特点是程序的结构清晰、易于读结构程序设计的特点是程序的结构清晰、易于读写和验证、可靠性高。写和验证、可靠性高。 不管多么简单或复杂的程序,不管多么简单或复杂的程序,总离不开若干顺序程序段所组成总离不开若干顺序程序段所组成的。如图的。如图1所示,所示,A框和框和B框分别框分别代表不同的程序段,代表不同的程序段, 是是A、B顺顺序执行。它是最简单、最基本的序执行。它是最简单、最基本的程序结构,其特点是按指令的排程序结构,其特点是按指令的排列顺序一条条地执行,直到全部列顺序一条条地执行,直到全部指令执行完毕为止。指令执行完毕为止。 图图2-7-1 顺序程序顺序程序结构结构ab 【例【例1】 将片内将片内RAM的的20H单元中的压缩单元中的压缩BCD码拆成两码拆成两个个ASCII码存入码存入21H、22H单元。高单元。高4位转换后存在位转换后存在21H单单元,低元,低4位转换后存在位转换后存在22H单元单元。 方法方法一一 分析:两个分析:两个 BCD 码拼装在一个单元内叫压缩码拼装在一个单元内叫压缩 BCD码。设码。设20H 内为压缩内为压缩 BCD 码码59, 22H通过变换通过变换 BCD 码码 “5” 为为ASCII码码 “35”;BCD 码码 “9” 变换为变换为ASCII码码 “39”。程序入口:程序入口:20H 程序出口:程序出口:21H、22H 根据分析图设计程序:根据分析图设计程序:MOV A, 20HANL A, #0FH ;ADD A, #30H ;MOV 21H, A ;ANL 20H, #0F0H ;MOV A, 20H ;SWAP A ;ADD A, #30H ;MOV 22H,A ; 图图2-7-2 程序程序流程图流程图 START: MOV A,30H JZ OUT ; ANL A #80H ; JZ OUT1 ; MOV 31H, 30H SJMP OK OUT: MOV 31H, #3 ; OUT1: MOV A, #5 ; ADD A , 30H MOV 31H, A OK: SJMP $ MCS51汇编指令系统提供了两条专用的查表指令:汇编指令系统提供了两条专用的查表指令:MOVC A,A+DPTR 基址寄存器基址寄存器DPTR能提供能提供16位位基址,因此查表范围可达基址,因此查表范围可达64KB空间,且表格的大小和空间,且表格的大小和位置也可在位置也可在64KB ROM中任意安排。中任意安排。MOVC A,A+PC 表格只能放在该指令的表格只能放在该指令的256个地个地址单元内,地址需要调整。址单元内,地址需要调整。 查表查表是把事先安排的数据按照一定的顺序编制成是把事先安排的数据按照一定的顺序编制成表格存放在表格存放在 ROM 中,然后根据输入的数据,从表格中中,然后根据输入的数据,从表格中查出所需的结果。查表可以将复杂的问题变得简单。查出所需的结果。查表可以将复杂的问题变得简单。ORG 0000H LJMP STRAT ORG 0100H STRAT:MOV R1,#0 ; MOV DPTR,#TAB ; GO:MOV A, R1 LOOP: MOVC A,A+DPTR ; CJNE A,#0FFH,OK ; SJMP STRAT ; OK:MOV P0,A LCALL DEL ; INC R1 ;SJMP GO (此处略延时程序(此处略延时程序DEL) TAB:DB 0FEH,0FDH,0FBH,0F7H,0EFH DB 0DFH,0BFH,7FH,0FFH ; . END 可以可以被调用的程序段称为被调用的程序段称为子程序。子程序。在在实际问题中,常常实际问题中,常常会遇到在一个程序中有许多相同的运算或操作,例如多字节会遇到在一个程序中有许多相同的运算或操作,例如多字节的加、减、字符处理等。如果每遇到这些运算和操作,都从的加、减、字符处理等。如果每遇到这些运算和操作,都从头做起,则使程序非常繁琐且浪费内存。因此在实际应用中头做起,则使程序非常繁琐且浪费内存。因此在实际应用中,通常把这些多次使用的程序段,按一定结构编好,存放在,通常把这些多次使用的程序段,按一定结构编好,存放在内存中,当需要时,程序可以去调用这些独立的程序段。因内存中,当需要时,程序可以去调用这些独立的程序段。因此,字程序就是此,字程序就是一种能完成某一特定任务的程序段。一种能完成某一特定任务的程序段。1 1、给、给每个子程序赋予名字每个子程序赋予名字2 2、现场、现场保护与恢复保护与恢复3 3、参数、参数的正确传递的正确传递4 4、子程序、子程序说明说明1 1、子程序应有入口地址(用标号)子程序应有入口地址(用标号)2 2、主程序主程序调用子程序调用子程序两个子程序调用指令:两个子程序调用指令:(1 1)绝对调用指令:)绝对调用指令:ACALL addr11 ACALL addr11 (2 2)长调用指令:)长调用指令:LCALL addr16LCALL addr163 3、注意设置堆栈指针和现场保护注意设置堆栈指针和现场保护4 4、最后一条指令必须最后一条指令必须是是RETRET指令指令5 5、子程序可以嵌套,即子程序可、子程序可以嵌套,即子程序可以调用子程序(以调用子程序(最多最多8 8层层)6 6、在子程序调用时,还要注意参在子程序调用时,还要注意参数传递的问题数传递的问题 MAINMAIN: ; ININ为主程序或调用程序标号为主程序或调用程序标号 LCALL SUB LCALL SUB ;调用子程序调用子程序SUBSUB SUBSUB:PUSH PSWPUSH PSW ;现场保护现场保护 PUSH ACCPUSH ACC 子程序处理程序段子程序处理程序段POP ACCPOP ACC ;现场恢复现场恢复POP PSWPOP PSWRETRET ;最后一条指令必须为最后一条指令必须为RETRET ORG 0100H SUB2: PUSH PSW ;保护现场保护现场 MOV R1,#0 ;目的单元清目的单元清0 INC R1 MOV R1,#0 LOOP: MOV A,R0 ;取数取数 ADD A,R1 ;求和求和 MOV R1,A ;存和的低字节数存和的低字节数 DEC R1 ;修改指针,指向和的高位地址修改指针,指向和的高位地址 CLR A ADDC A,R1 ;取进位位取进位位 MOV R1,A ;存和的高字节数存和的高字节数 INC R1 ;修改指针,指向和的低位地址修改指针,指向和的低位地址 INC R0 ;修改指针,指向下一个单元修改指针,指向下一个单元 DJNZ R2,LOOP POP PSW ;恢复现场恢复现场 RET (1) (1) 子程序如下:子程序如下: ORG 0000H MAIN: MOV R0,#30H ;设置设置R0为入口指针寄存器为入口指针寄存器 MOV R1,#60H ;设置设置R1为出口指针寄存器为出口指针寄存器 MOV R2,#2FH ;设置设置R2传递字节数传递字节数 ACALL SUB2 TOEND: END (2) (2) 子程序如下:子程序如下: 在在应用程序中,有时需要多次反复执行相同的操作,应用程序中,有时需要多次反复执行相同的操作,只是操作的操作数不同,这时就可以采用循环程序结构。只是操作的操作数不同,这时就可以采用循环程序结构。循环程序可以显著缩短程序,减少程序所占用的存储空间,循环程序可以显著缩短程序,减少程序所占用的存储空间,使程序结构大大优化使程序结构大大优化。循环程序一般包括以下几部分:循环程序一般包括以下几部分: 循环循环程序有两种基本结构程序有两种基本结构,图图2-7-3 循环程序基本结构循环程序基本结构一种是先执行后判断,一种是先执行后判断,一种是先判断后执行。一种是先判断后执行。 【例例5】设设8051使用使用12 MHz晶振,试设计延迟晶振,试设计延迟100 ms的延时程序。的延时程序。 (一般延时程序采用循环程序结构(一般延时程序采用循环程序结构) DELAY:MOV R2,#200 ;延时一个机器周期延时一个机器周期T = 1 msLOOP1:MOV B,#250 ;每循环延时每循环延时1 ms LOOP2:NOP DJNZ B,LOOP2 ;250*2=500 ms DJNZ R2,LOOP1 ;0.5ms*200=100 ms RET延时程序如下:延时程序如下:【例例6】对项目一流水灯电路,要求每个对项目一流水灯电路,要求每个LED闪亮闪亮5次次(亮灭各亮灭各0.5s)后,再转到下一个)后,再转到下一个LED闪亮,循环不止。闪亮,循环不止。 ORG 0000H ; 程序开始地址程序开始地址 MAIN:MOV A,#0FEH ; 初值初值 1111 1110 送送P0口口 ; 低电平点亮低电平点亮LED LOOP:MOV R5,#5 ; 闪烁次数设置闪烁次数设置 MOV P0,A LCALL DEL ; 延时延时0.5s LOOP1:MOV P0,#0FFH ; LED熄灭熄灭0.5s LCALL DEL MOV P0,A ; LED点亮点亮0.5s解:本例是一种常用循环程序结构,用解:本例是一种常用循环程序结构,用R5作闪烁次数计数作闪烁次数计数 LCALL DEL DJNZ R5,LOOP1 ;闪烁没有到闪烁没有到5次,返回继续次,返回继续 RL A ;闪烁闪烁5次后转到下一个次后转到下一个LED JMP LOOP DEL:MOV R1,#20 ;以下是以下是0.5s延时子程序延时子程序 DL3: MOV R2,#50 DL2: MOV R3,#250 DL1: DJNZ R3,DL1 DJNZ R2,DL2 DJNZ R1,DL3 RET END ;程序结束程序结束采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物

    注意事项

    本文(单片机——程序的基本结构ppt课件.pptx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开