MCS51单片机C语言程序设计基础.ppt

MCS51单片机C语言程序设计基础.ppt

ID:56443358

大小:435.00 KB

页数:35页

时间:2020-06-18

MCS51单片机C语言程序设计基础.ppt_第1页
MCS51单片机C语言程序设计基础.ppt_第2页
MCS51单片机C语言程序设计基础.ppt_第3页
MCS51单片机C语言程序设计基础.ppt_第4页
MCS51单片机C语言程序设计基础.ppt_第5页
资源描述:

《MCS51单片机C语言程序设计基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章MCS51单片机C语言程序设计C语言具有很强的表达能力,并具有较高的可移植性,提供了种类丰富的运算符和数据类型,可以直接实现对系统硬件的控制。相对于汇编语言,使用C语言进行系统开发可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。本章就介绍使用C语言开发8051系列单片机程序的方法。;双字节无符号数加法程序(R3R4+R6R7)=(R3R4) ;入口:R3,R4,R6,R7 NADD    :MOV   A,R4          ADD   A,R7          MOV   R4,A          MOV   A,R3          ADDC  A

2、,R6          MOV   R3,A          RETunsignedintval_1,val_2;unsignedintval_add;val_add=val_1+val_2;本章主要内容C51变量声明C51的IO口操作C51的中断响应方法C51的定时器操作C51的串行口操作C51的外部总线扩展操作2.1C51语言变量声明但在C语言编程中,对数据类型与变量的定义必须要与单片机的存储结构相关联,否则编译器就不能正确的映射。所以用C语言编写单片机应用程序是要根据单片机的结构及内部资源定义相应的C语言中的数据类型和变量。用C语言编写的应用程序必须经单片机的C语言编译

3、器,将源代码转换成单片机的可执行程序。支持MCS-51系列单片机的编译器有很多,比较著名也是实际应用最多的是KEIL/Franklin编译器。这也是这门课使用的编译器。一、C51数据类型数据类型长度(bit)长度(byte)值域bit110,1unsignedchar81[0,255]signedchar81[-128,127]unsignedint162[0,65535]signedint162[-32768,32767]unsignedlong324[0,4294967295]signedlong324[-2147483648,2147483647]float324±1.17

4、6E-38~±3.40E+38(6位有效数字)double648±1.176E-38~±3.40E+38(10位有效数字)指针2430~65535(存储空间)表2.1C51支持的数据类型二、C51数据类型修饰符存储类型与存储空间的对应关系data直接寻址片内数据存储区,访问速度快(128字节),值域0~127bdata可位寻址片内数据存储区,允许位与字节混合访问(16字节,值域0~127idata间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节,值域0~255pdata分页寻址片外数据存储区,,由MOVX@Ri访问(i=0,1),值域0~255xdata片外数据存

5、储区(64KB)由MOVX@DPTR访问,值域0~65535code程序存储器64KB空间,由MOVC@DPTR访问,值域0~65535表2.2C51存储类型修饰符二、C51数据修饰符修饰符名称功能const指示被修饰的变量或者指针是常量volatile指示被修饰的变量或者指针可由多种原因被修改,禁止优化。常用于修饰多个函数公用的变量。表2.3其他修饰符三、C51变量声明举例C51变量声明格式:[存储类型]+[类型说明]+[修饰符]+[标示符]=[初值]autoregisterstaticexterncharunsignedcharintunsignedintlongunsign

6、edlongfloatdoublebitsfrsfr16sbitdatabdataidatapdataxdatacodeconstvolatilevalue=初值unsignedcharxdataval;signedchardatastring;bitbdataval_bit;unsignedcharxdata*pval;unsignedcharcode*pcode;code应用举例unsignedcharcodetab[4]={0x00,0x01,0x02,0x03};voidmain(void){unsignedchari,j=0;for(i=0;i<4;i++){j=j+t

7、ab[i];}}9:for(i=0;i<4;i++){MOVR6,A10:j=j+tab[i];MOVA,R6MOVDPTR,#tab(0x001E)MOVCA,@A+DPTRADDA,R7MOVR7,A11:}三、C51存储模式存储模式说明SMALL参数及局部变量放入可直接寻址的片内存储区(最大128个字节),默认存储类型是data,访问方便。所有对象都嵌入片内RAM中。COMPACT参数及局部变量放入分页片外存储区(最大256个字节),默认存储类型是pdata,通过寄存器R0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。