单片机第4章 单片机C程序设计.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*本章内容4.1C51特点4.2C51数据类型 4.3C51变量与存储类型4.4C51绝对地址4.5C51重要函数4.6C51基本运算符*4.1C51特点1.C51的函数printf为串行输出,函数scanf为串行输入。2.C51扩展了位数据类型。3.C51数据对象含有存储类型,即数据可能在片内RAM、片外RAM、ROM中。4.C51中扩充了SFR。5.C51中有特殊的中断程序。CONTENT4.2C51数据类型除了标准C的char、int、long、float等数据类型之外,C51扩展了以下几种: bit-位数据类型 sbit-SFR中的可寻址位 sfr-8位SFR sfr16-16位SFR4.3C51的变量定义与存储类型C51数据对象定义格式:数据类型 存储类型 变量名(初值) chardatax=12; intxdatax=1122; floatdatax=124.75;其中char,int是数据类型,data,xdata是存储类型4.3C51变量与存储类型---常用存储类型data:内部低128字节RAM区bdata:16字节可位寻址RAM区idata:内部高128字节RAM,仅限89S52pdata:外部RAM低256字节xdata:外部RAM64K字节code:ROM4.3C51变量与存储类型---存储模式如果不指定存储器类型,编译器根据存储模式,给对象指定存储类型small:变量在片内RAM中,即datacompact:变量在片外RAM的低256字节中,即pdatalarge:变量在片外RAM中,即xdata4.3C51变量与存储类型---SFR对SFR的定义,通过头文件reg51.h或reg52.h,已做了预定义。 用#include“reg51.h”引用即可。reg51.h中对21个SFR做了定义,如P0~P3的。4.3C51变量与存储类型---位变量bit和sbit1、bit:需要自定义,如bitx;2、sbit:格式,sbit位变量名=位地址;大部分SFR可寻址位,在头文件reg51.h或reg52.h中用sbit做了预定义,如CY、P等。注意:在reg51.h中,P0~P3的32个位,如P0.0,没有预定义,需要用户用sbit先定义,后使用。如:sbitled=P0^0;4.3C51变量与存储类型---数组与指针1、数组charcodeseg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极0-9字形码2、指定存储区的指针格式:[指针变量存储类型]指向数的数据类型指向数的存储类型*指针名如: chardata*str intxdata*pow指针实例#defineucharunsignedchar#defineuintunsignedintvoidfunc(void){uchardatavar1;ucharpdata*dp1;uintxdata*dp2;uchardata*dp3;dp1=0x30;dp2=0x1000;*dp1=0xff;*dp2=0x1234;dp3=var1;*dp3=0x20;}main(){while(1) {;}}*4.4绝对地址绝对地址访问宏XBYTE[0x数字]形式对外部RAM或外设进行访问,需头文件absacc.h支持。相当于汇编指令MOVX的功能,执行总线操作。4.5C51重要函数1、中断函数P101 函数名()interruptn[m] n---0~4,表示5个中断 m---0~3,表示选用某个工作寄存器组2、几个重要的库函数 (1)adsacc.h中的I/O地址访问宏XBYTE (2)stdio.h中的printf和scanf函数 (3)intrins.h中的移位:_c[或i,l]rol[或r]_(uchar,uchar);和空函数:_nop_()。4.6C51基本运算1、算术:+、-、*、/、%2、自加自减:++、--3、关系:、、=、=、==、!=4、赋值:=5、逻辑:、||、^、!,结果为“1-真”或“0-假”6、按位逻辑:、|、~、、,对象为字符或整型7、在可位寻址的SFR中,^表示SFR中的某一位,如P0^0。注意:在表达式中直接出现

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档