网站大量收购独家精品文档,联系QQ:2885784924

MCS单片机程序设计课件.ppt

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

单片机原理、接口及应用;内容提要;3.1概述;连接/定位器

L51;目前很多公司将编辑器、汇编器、编译器、连接/定位器、符号转换程序做成集成软件包,用户进入该集成环境,编辑好程序后,只需点击相应菜单就可以完成上述的各步,如WAVE、KEIL、IAR等。;汇编的方法:汇编的方法有两种

1.手工汇编:

人工查指令表,查出程序中每条指令对应的机器代码。早期的计算机使用。

2.机器汇编:

用计算机中的汇编程序对用户源程序进行汇编。用机器汇编要提供给汇编一些信息,遵循汇编程序的一些约定。这些由伪指令指定。;1)确定程序中每条汇编语言指令的指令机器码

2)确定每条指令在存储器中的存放地址

3)提供错误信息

4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST);1.机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。

2.伪指令:汇编控制指令,没有指令代码,只用于汇编过程,为汇编程序提供汇编信息。;宏定义过程:;二.伪指令常用伪指令及功能:;2.字节定义标号:DB(字节常数,或字符或表达式)

功能:指示在程序存储器中以标号为起始地址的单元里存放的数为字节数据(八位二进制数)。

例如LN:DB32,’C’,25H,-1;LN~LN+2地址单元依次存放20H,43H,25H,FFH;5.等值指令标号EQU(数值表达式)

表示EQU两边的量等值,用于为标号或标识符赋值。

例如:X1 EQU2000H

X2 EQU0FH

MAIN:MOVDPTR,#X1;DPTR=2000H ADDA,#X2;A=A+0FH;6.位定义标号BIT[位地址]

作用:同EQU指令,不过定义的是位操作地址。

例如AICBITP1.1。

;汇编语言程序设计步骤;单片机原理、接口及应用;内容提要; 51系列单片机支持三种高级语言,即PL/M,C和BASIC。8052单片机内固化有解释BASIC语言,BASIC语言适用于简单编程而对编程效率运行速度要求不高的场合;PL/M是一种结构化的语言,很象PASCAL,PL/M编译器好象汇编器一样产生紧凑的机器代码,可以说是高级汇编语言,但它不支持复杂的算术运算,无丰富库函数支持,学习PL/M无异于学??一种新的语言。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。;; 应用C51编程具有以下优点:?

(1)C51管理内部寄存器和存贮器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题;?

(2)程序由若干函数组成,具有良好的模块化结构;?

(3)有丰富的子程序库可直接引用,从而大大减少用户编程的工作量。?

(4)C语言和汇编语言可以交叉使用.汇编语言程序代码短、运行速度快、但复杂运算编程耗时。如果用汇编语言编写与硬件有关的部分程序,用C语言编写与硬件无关的运算部分程序,充分发挥两种语言的长处,可以提高开发效率。;10.1C51程序结构;C语言程序的组成结构如下所示:;C语言的语句规则:

1.每个变量必须先说明后引用,变量名英文大小写是有差别的。

2.C语言程序一行可以书写多条语句,但每个语句必须以“;”结尾,一个语句也可以多行书写为好。

3.C语言的注释用/*……*/表示。

4.“{”花括号必须成对,位置随意,可在紧挨函数名后,也可另起一行,多个花括号可以同行书写,也可逐行书写,为层次分明,增加可读性,同一层的“{”花括号对齐,采用逐层缩进方式书写。;10.2C51的数据类型;10.2.1C51变量的数据类型;表10-1C51的数据类型;对表10.1作如下说明:

1.?字符型(char)、整型(int)和长整型(long)均有符号型(signed)和无符号型(unsigned)两种,如果不是必须,尽可能选择unsigned型,这将会使编译器省却符号位的检测,使生成的程序代码比signed类型短得多。

2.程序编译时,C51编译器会自动进行类型转换,例如将一个位变量赋值给一个整型变量时,位型值自动转换为整型值;当运算符两边为不同类型的数据时,编译器先将低级的数据类型转换为较高级的数据类型,运算后,运算结果为高级

文档评论(0)

147****0217 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档