- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
05AT89s52程序设计与调试.ppt
第五章 AT89S52程序设计与调试 5.1 程序设计步骤 5.2 源程序的基本格式及编辑环境 5.3 程序设计方法 5.4 C51基础 5.5 程序调试与下载运行 5.1 程序设计步骤 1.拟定设计任务书 2.建立数学模型并确定算法 3.程序的总体设计及其流程图 4.编写源程序 5.源程序的汇编与调试 6.系统软件的整体运行与测试 7.总结归纳进一步编写程序说明文件 5.2 源程序的基本格式及编辑环境 5.2.1. 源程序的基本格式5.2.2. 源程序的编辑环境 5.2.1. 源程序的基本格式 1.AT89S52的中断矢量分配 2.程序的起始 3.中断服务程序 4.程序字节 5.伪指令 ORG 0000H LJMP MAIN ;转向主程序 ORG 0003H LJMP INT0 ;转向外部中断0服务程序 ORG 000BH LJMP TIMER0 ;转向定时器0中断服务程序 ┆ ORG 002BH LJMP TIMER2 ;转向定时器2中断服务程序 ORG 0040H MAIN: SETB IT0 ;主程序从0040H开始 SETB EX0 ;主程序初始化 SETB EA ┆ LCALL DISP;调用显示子程序 LCALL DISPOSE;调用数据处理子程序 ┆ ORG 3000H DISP: …… ;显示子程序 ┆ DISPOSE: …… ;数据处理子程序 ┆ ORG 4000H INT0: …… ;外部中断0中断服务程序 ┆ ORG 4500H TIMER0: …… ;定时器0中断服务程序 ┆ ORG 5000H TIMER2: …… ;定时器2中断服务程序 ┆ ┆ ;其它中断服务程序 ORG 5500H TABDB: DB 12H,56H,3FH ;固定表格区段 ┆ END ;程序结束 5.2.2. 源程序的编辑环境 用于编写汇编程序的编写环境很广泛,可在许多文字编辑窗口进行输入,如写字板、记事本,或专门的汇编编辑、调试软件如MEDWIN、KEIL C中进行,文件名以.ASM为后缀。 因为编写完成的汇编软件还需要在特定的编译环境下进行语法编译,所以一般情况下,源程序直接在编译或仿真环境下进行编写。 编写前首先在PC机上安装需要的软件如MEDWIN或KEIL C,并进行适当的配置,然后建立工程,就可以编写源程序了。 5.3 程序设计方法 5.3.1 顺序结构程序5.3.2 分支结构程序5.3.3 循环结构程序5.3.4 子程序结构程序5.3.5 中断服务程序 5.3.1 顺序结构程序 顺序结构程序指程序中没有使用转移类指令的程序段 是程序设计中最基本、最简单的编程结构,所以也称为简单结构或直线结构。 5.3.2 分支结构程序 分支结构程序的特点是程序中含有转移指令,使程序具有判断和选择能力。 由于转移指令分无条件转移和有条件转移,所以分支程序也分无条件分支和条件分支两类。 无条件分支程序中含有无条件转移指令(如SJMP、AJMP等),比较简单。条件分支程序中含有条件转移指令,比较复杂。 例5-2 已知40H(VAR)单元内有一自变量X,按如下条件编写程序求Y(FUN)的值,并存入41H单元。 ORG 2000H VAR DATA 40H FUN DATA 41H XY: MOV A, VAR JZ DONE JNB ACC.7, POS MOV A, #0FFH SIMP DONE POS:MOV A, #01H DONE:MOV FUN,A RET ORG 2000H VAR DATA 40H FUN DATA 41H XY: MOV A, VAR JZ ZERO MOV FUN,#0FFH JB ACC.7, DONE MOV FUN, #01H SJMP DONE ZERO:MOV FUN,#00H DONE:RET 例5-3 通过键盘扫描程序KEYSCAN读入键值0~9至累加器A,键值不同功能不同,设计程序根据键值分别转入键控程序KEY0~KEY9。即要求: 当(A)=0时,转键控程序KEY0; 当(A)=1时,转键控程序KEY1; ┆ 当
文档评论(0)