C51程序设计汇总ppt课件.ppt

C51程序设计汇总ppt课件.ppt

ID:59446520

大小:255.00 KB

页数:34页

时间:2020-09-17

C51程序设计汇总ppt课件.ppt_第1页
C51程序设计汇总ppt课件.ppt_第2页
C51程序设计汇总ppt课件.ppt_第3页
C51程序设计汇总ppt课件.ppt_第4页
C51程序设计汇总ppt课件.ppt_第5页
资源描述:

《C51程序设计汇总ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C51程序设计本讲重点:C51的数据类型和存储类型;指针和中断的使用;通过实例消化理解C51的编程方法;尝试将实验课中的ASM51程序转为C51程序.用C语言进行单片机程序设计是单片机开发与应用的必然趋势。对汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块中进行程序的优化即可。采用C语言不必对单片机和硬件接口结构有很深入的了解,编译器可以自动完成变量的存贮单元的分配,编程者可以专注于应用软件部分的设计,大大加快软件的开发速度。产品中的单片机重新选型后,C语言可以很容易地进行程序移植工作。C51与A

2、SM51相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.提供的库包含许多标准子程序,具有较强的数据处理能力;6.由于具有方便的模块化编程技术,使已编好程序可容量地植入新程序;从1985年开始就有了8051单片机的C语言编译器,简称C51。㈠C51简介目前比较流行的C51编译器是KeilC51其集成开发软件为KeiluVision2,

3、它集编辑、编译、仿真于一体,界面友好,易学易用。㈢C51的数据类型基本数据类型:㈡C51的程序结构与一般C语言的结构相同,以main()函数为程序人口,程序体中包含若干语句还可以包含若干函数。位型字符型整型长整型浮点型bitcharintlongintfloat1位1字节2字节4字节4字节构造类型:数组、结构体、共用体、枚举指针类型(1)字符型:char、unsignedchar;(2)整型:int、unsignedint、long、unsignedlong;(3)浮点与双精度型:float、double

4、;(4)结构体、指针等(5)C51中扩展的类型:bit、sfr、sfr16、sbitbit:位类型 如:bitrun_flag;位于RAM位寻址区sfr:特殊功能寄存器类型,如sfrP0=0x80;(0x80为地址)sfr16:16位特殊功能寄存器类型,如sfr16DPTR=0x82;(即DPTR)sbit:特殊功能寄存器位类型如sbitEINT=0xAF;(0xAF为位地址。即EA)㈢C51的数据类型bit与sbit的使用对于可位寻址的SFR空间和RAM空间的字节型变量,可以定义特殊位变量标识该变量的某

5、一位,这种位数据类型的标识符为sbit.在程序设计时,对于可位寻址对象,既可以按字节寻址也可以按位寻址的变量,其存储类型只能是bdataintbdataa;charbdatab[4];然后可以使用sbit关键字定义其中可独立寻址访问的位变量:sbita0=a^0;sbita12=a^12;sbitb03=b[0]^3;sbitb36=b[3]^6;㈣C51数据的存储类型存储类型说明data直接访问内部RAM(128字节)访问速度最快bdata可位寻址内部RAM(16字节),允许位与字节混合访问;idata

6、间接访问内部RAM(256字节),允许访问全部内部数据区;pdata分页访问外部RAM(256字节),用MOVX@Ri指令访问;xdata外部RAM(64K),用MOVX@DPTR指令;code程序存储器(64K),用MOVC@A+DPTR指令;定义格式:[存储种类][存储类型]数据类型变量名;也可写为:[存储种类]数据类型[存储类型]变量名;存储种类有:静态变量static、外部extern、寄存器register自动auto(auto缺省)存储类型有:data、idata、bdata;xdata、pd

7、ata和code。例:unsignedchardatatime0H;unsignedintcodetimexx[30];(五)变量的定义方法缺省时存储类型为存储模式对应的类型。存储模式有small(对应data型)、compact(紧凑型,对应pdata型)和large(对应xdata型),括号中为缺省时的存储类型。#defineucharunsignedcharuchardataa1;/*字符变量a1定位在8051的片内数据存储区中*/bitbdataflag;/*位变量flag定位在8051的片内数据

8、存储区中的可位寻址区*/floatidatax;/*浮点变量x定位在8051的片内数据存储区中并只能通过间接寻址来访问*/ucharxdatas[]={3,4,7,2,12,8};/*无符号字符数组s定位在片外数据存储区中*/ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*无符号字符数组table定位在ROM区中*/变量的绝对定位1、

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

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

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