第十一章 MCS51单片机C语言程序设计基础.ppt

第十一章 MCS51单片机C语言程序设计基础.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#inclucle intrins.h void main() { unsigned int y; y=0x00ff; y=_irol_(y,4); } 举例: 运行后,y=0x0ff0。 一、内部函数库intrins.h 二、绝对地址访问函数absacc.h 用预处理器伪指令#define为各空间的绝对地址定义宏数组名如下: #define CBYTE((unsigned char*)0x500000L)/*code空间*/ #define DBYTE((unsigned char*)0x400000L)/*data空间*/ #define PBYTE((unsigned char*)0x300000L)/*pdata空间*/ #define XBYTE((unsigned char*)0x200000L)/*xdata空间*/ 以上存取对象是char类型字节。 DBYTE[0x10] 表示data空间绝对地址16处的字节对象,XWORD[0xff] 表示xdata空间绝对地址255处的字对象。 #define CWORD((unsigned int*)0x500000L)/*code空间*/ #define DWORD((unsigned int*)0x400000L)/*data空间*/ #define PWORD((unsigned int*)0x300000L)/*pdata空间*/ #define XWORD((unsigned int*)0x200000L)/*xdata空间*/ 以上存取对象是int类型字。 三、其他函数库 math.h 数学函数图 stdio.h 标准IO库,主要是用来操作串口的。 string.h 字符串操作函数 stdlib.h 标准库函数。包括格式转换,基本数值运算等。 setjmp.h 全程跳转函数,允许程序从深层函数调用中直接返回。 习题与思考 请简述与汇编语言对比,采用C51进行单片机程序设计的优点 设晶振频率为12MHz,利用定时器/计数器0,采用查询方式设计单片机程序,使单片机在P1.0引脚上输出周期为4ms,占空比为1:1的方波。 设单片机需要相应8个外部中断源。请设计相应的电路原理图和程序框架。(提示:可使用74LS148优先编码器对8个中断进行编码,74LS148的GS引脚可作为中断请求输出。) 请设计串口接收中断服务程序。程序按照接收的命令发送数据。要求接收数字1,发送字符a,接收其他数据不响应。设晶振速度为11.0592MHz,波特率为4800. C语言是一种编译型程序设计语言,它兼顾了高级语言的特点并具备汇编语言的功能。 使用C语言开发51单片机程序,可以是开发者专注于应用软件的设计,而不必将大量精力花在内存分配等底层工作上,从而大大加快了软件开发的速度。 本章内容我们主要研究如何利用C语言编写单片机程序。 * 变量声明包括一般变量声明和特殊功能寄存器声明。 中断响应方法包括:外部中断、定时器中断、和串口中断。 * 71: void ch451_inter() interrupt 2 using 1 72: { 73: unsigned char i; //定义循环变量 74: unsigned char command,keycode; //定义控制字寄存器,和中间变量定时器 75: C:0x0068 C0E0 PUSH ACC(0xE0) C:0x006A C0D0 PUSH PSW(0xD0) C:0x006C 75D008 MOV PSW(0xD0),#0x08 * * * TMOD定时器1设置为方式2,8位自动重装。 SCON=0x50 选择方式1,8位UART,TI溢出计算波特率。REN,接收使能。 * 如何确定程序送出的DPTR的具体值是多少?后面要使用通用指针定义。 * 第二章 MCS51单片机C语言程序设计 C语言具有很强的表达能力,并具有较高的可移植性,提供了种类丰富的运算符和数据类型,可以直接实现对系统硬件的控制。 相对于汇编语言,使用C语言进行系统开发可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。 本章就介绍使用C语言开发8051系列单片机程序的方法。 ;双字节无符号数加法程序 (R3R4+R6R7)=(R3R4) ;入口??? :R3,R4,R6,R7 NADD???? :MOV??? A,R4 ????????? ADD??? A,R7 ????????? MOV?

文档评论(0)

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

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

1亿VIP精品文档

相关文档