欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    KeilC特殊功能寄存器和位定义.ppt

    • 资源ID:6510520       资源大小:311.47KB        全文页数:8页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    KeilC特殊功能寄存器和位定义.ppt

    使用关键字sfr和sfr16可以直接对51单片机的特殊寄存器进行定义,格式如下:sfr 定义的名字=特殊功能寄存器地址;Sfr16 定义的名字=特殊功能寄存器地址;例如:sfr P1=0 x90;/定义P1 I/O口,其地址90Hsfr关键字后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则。等号后面必须是地址常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80HFFH)。,一、sfr和sfr16的使用,在单片机的C语言程序设计中,可以通过关键字sfr来定义所有特殊功能寄存器,从而在程序中直接访问它们,例如:sfr P1=0 x90;/特殊功能寄存器P1的地址是90H对应P1口的8个I/O引脚在程序中就可以直接使用P1这个特殊功能寄存器了,如:P1=0 x00;/将P1口的8位I/O口全部清0C语言中,还可以通过关键字sbit来定义特殊功能寄存器中的可寻址位,如:sbit P1_0=P10;通常情况下,这些特殊功能寄存器已经在头文件reg51.h中定义了,只要在程序中包含了该头文件,就可以直接使用已定义的特殊功能寄存器。如果没有头文件reg51.h,或者该文件中只定义了部分特殊功能寄存器和位,用户也可以在程序中自行定义。,sfr16用来定义16位特殊功能寄存器,如8052的T2定时器,可以定义为:sfr16 T2=0 xCC;/这里定义8052定时器2,地址为T2L=CCH,T2H=CDH用sfr16定义16位特殊功能寄存器时,等号后面是它的低位地址,高位地址一定要位于物理低位地址之上。注意的是不能用于定时器0和1的定义。?sfr16 占用两个内存单元,值域为 065535。sfr16 和 sfr 一样用于操作特殊功能寄存 器,所不一样的是它用于操作占两个字节的寄存器,如定时器 T0 和 T1。,二、sbit和bit的使用,51单片机的内部RAM中,20H2FH为位操作区域,20H的最低位为00H,2FH的最高位为7FH,位地址的范围是00H07FH,共16*8=128位,可以对每一位进行独立操作。特殊功能寄存器中,对于字节地址能被8整除的寄存器,也可进行位寻址的地址,其位地址从80H开始。特殊功能寄存器的地址和最低位的位地址相同,比如P0口的地址是80H,那么P0口的最低位的位地址也是80H,次低位是81H,最高位的地址是87H,所以P0口的口地址80H与最低位的位地址80H,在物理结构上是完全不同的。,1、bit和int char差不多,只不过char=8位,bit=1位。都是变量,编译器在编译过程中自动分配地址。除非你指定,否则这个地址是随机的。这个地址是位寻址区。bit只有0和1两种值2、sbit(静态地址位定义)是单片机c语言 中的一种扩充数据类型,利用它能访问芯片内部的 RAM 中的可寻址位(20H2FH)或特殊功能寄存器中的可寻址位。一旦用了sbit xxx=REGE6这样的定义,这个sbit变量就确定地址了。sbit大部分是用在专用寄存器中的,方便对寄存器的某位进行操作。3、bit位标量bit位标量同样是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。,sbit可定义位寻址对象,用sbit定义的位地址必须是专用寄存器,字节地址必须位于80H-FFH之间,方法如下:(1)sbit 位变量名位地址sbit P1_1=0 x91;是把位的绝对地址赋给位变量(2)sbit 位变量名特殊功能寄存器名位位置sft P1=0 x90;先定义一个特殊功能寄存器名sbit P1_1=P1 1;再指定位变量名所在的位置(3)sbit 位变量名字节地址位位置如:sbit P1_1=0 x90 1;(3)和(2)其实是一样的,只是把特殊功能寄存器的位址直接用常数表示。,在C51存储器类型中提供一个bdata的存储器类型,是指可位寻址的数据存储器,位于单片机的可位寻址区中,可以将要求可位寻址的数据定义为bdata,如:uchar bdata ib;/在位寻址区定义无符号字符变量ibsbit ib7=ib7/用关键字sbit定义位变量ib7Int bdata ab2;/在可位寻址区定义数组ab2 sbit ab12=ab112;/定义ab12为数组ab1中的第12位 操作符“”后面的位位置的最大值取决于指定的基址类型,char 0-7,int 0-15,long 0-31。,sfr P1=0 x90;/这里没有使用预定义文件,而是自己定义特殊寄存器。sbit P1_0=P1 0;sbit P1_1=0 x91;sbit P1_7=0 x90 7;/这里分别定义P1端口和P10,P11,P17引脚,之前我们使用的预定义文件其实就是这个作用。,

    注意事项

    本文(KeilC特殊功能寄存器和位定义.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开