单片机原理与应用系统设计 第03章 MCS-51单片机指令系统及编程技术课件.ppt

单片机原理与应用系统设计 第03章 MCS-51单片机指令系统及编程技术课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用系统设计 第03章 MCS-51单片机指令系统及编程技术课件

3.8.3 基于Keil uVision开发单片机C语言程序 (1) 创建工程如下图所示,选择[Project | New Project...]菜单,出现“Create New Project”对话框,在“文件名”一栏输入新建工程的名称,例如“Test. uv2”,然后点击[保存]。其中,uv2是KeiL uVision2工程文件的扩展名。 3.8.3 基于Keil uVision开发单片机C语言程序 New Project菜单 3.8.3 基于Keil uVision开发单片机C语言程序 New Project对话框 3.8.3 基于Keil uVision开发单片机C语言程序 (2)单片机选型 给新建的工程命名并保存后,弹出第二个对话框,见下图所示。 3.8.3 基于Keil uVision开发单片机C语言程序 单片机选型 3.8.3 基于Keil uVision开发单片机C语言程序 上述对话框用于选择所用单片机的型号。Keil uVison支持的单片机型号繁多,可按照先公司后型号的顺序查找并选择。这里选择Ateml公司的AT89C51芯片。单击[确定]后返回主界面,此时的项目管理器窗口中出现一个空的工程,未包含任何文件,见下图所示。 3.8.3 基于Keil uVision开发单片机C语言程序 新的空工程 3.8.3 基于Keil uVision开发单片机C语言程序 (3)创建源程序 选择菜单[File | New],在弹出的文本窗口中输入下例程序。该程序的功能是:每按一次按钮,发光管就改变一次状态。其中,按钮接单片机的引脚#INT0上,按下时输入低电平,发光管接在引脚P1.0上。 #include reg51.h #include intrins.h sbit LED = P1^0; //命名P1.0口为LED,用于控制LED的亮灭 void main(){ LED = 0; // LED灭 EX0 = 1; // 外部中断0使能 EA = 1; // 全局中断使能 while(1); } 3.8.3 基于Keil uVision开发单片机C语言程序 void delay (void) { // 延时子程序 int a = 5000; while(a--) _nop_(); // 空函数,在INTRINS.H中声明 } void int0_srv (void) interrupt 0 using 1 { delay(); // 软件防抖动 if( INT0 == 0 ) { LED = !LED; // LED的状态翻转1次 while( INT0 == 0 ); } } 3.8.3 基于Keil uVision开发单片机C语言程序 输入后,将上述源文件命名为“Test.c”,并保存在当前工程所在目录,见下图所示。可以看到,保存后的源文件中关键字和注释都变为彩色的,这是Keil uVision编辑器的关键字提示功能。但是,注意到工程管理窗口的[Target 1 | Source Group 1]目录还是空的,保存后的源文件并未添加进工程,添加文件需要手动完成。 3.6.1 无条件转移指令 (1)AJMP addr11;(PC)+2 → (PC),page address→(PC10~PC0) 无条件短跳转指令,目标地址在2k字节范围内,程序转到指定地址。 (2)SJMP rel ;(PC)+2 → (PC),(PC)+rel → (PC) 无条件相对跳转指令,目标地址在本指令前128到后127字节之间。 (3)LJMP addr16 ;addr15~addr0 → (PC) 无条件长跳转指令,目标地址可以在64k程序存储器地址空间内。 (4)JMP @A+DPTR ;(A)+(DPTR) → (PC) 跳转指令,将累加器中8位无符号数与数据指针DPTR的16位数相加, 结果作为下条指令的地址送入PC,不改变累加器和数据指针内容,也 不影响标志。 3.6.1 无条件转移指令 例如:若累加器A中存放待处理命令编号0~7,程序存储器中存放着标号为 PMTB的转移表,则执行下面的程序后,将根据A内的命令编号转向相 应的命令处理程序。 3.6.1 无条件转移指令 PM: MOV R1,A ;(A)×3 → (A) RL A ADD A,R1 MOV DPTR

文档评论(0)

a888118a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档