• 单片机基础(四):C51对C语言的扩展


    C51对C语言的扩展

    C51与标准C语言在数据结构I/O处理函数等方面与标准C语言存在差别


    数据结构

    sfr、sfr16 特殊功能寄存器型变量

    • 特殊功能寄存器(SFR,Special Function Register)在单片机中有很重要的作用,常见的SFR是8位,所以sfr16用于表示16位的SFR
    • 定义方式为 变量类型 变量名 = 地址
      如 sfr P1 = 0x90
    • 所有的sfr、sfr16型变量都已定义在"reg51.h"、"reg52.h"中

    bit 、sbit 位变量

    • bit 、sbit 型变量在内存中都只占一个二进制位
    • bit 用于定义一般可处理位的变量,sbit 用于定义特殊功能寄存器中的可位寻址的变量
    • sbit 可用绝对位地址、相对位地址、相对sfr变量位位置定义
      sbit CY = 0xD7 sbit CY = 0xD0^7 sbit CY = PSW^7

    可定义存储器类型
      可指明定义的变量分配到哪一个存储器中
      完整定义格式为
    在这里插入图片描述
      存储种类 数据类型 存储器类型 变量名 = 初值
    在这里插入图片描述


    I/O处理


    中断函数
      中断是单片机的重要特性,C51在C语言函数的基础上补充了中断函数的概念

    • 中断函数的定义
        interrupt m修饰符,表明某个函数为中断响应函数,编译时将该函数将该函数转化为中断响应函数,根据 m 的取值将函数地址存放在程序存储器的中断对应的位置
    • 中断函数不能传递参数,不能有返回值
    • 中断函数不能被其他函数调用
    • 若中断函数调用其他函数,所调用的函数使用的寄存器必须与中断函数相同

    单片机基础(五):中断

    在这里插入图片描述

    定义形式如下

    void main(){
    	......
    }
    
    void Int0_isr interrupt 0{
    	......
    }
    

    2019/2/24

  • 相关阅读:
    html <select> <option> 实现根据选择不同的option,调用不同的方法功能
    jquery 实现无缝循环广告
    Linux 一次性杀死用户所有进程
    jquerymobile总结
    jQuery lightBox plugin
    开始算法复习。。。
    关于android Intent意图的一点心得
    好了,咳咳,就从这里这时开始吧
    CSV文件的生成与分析
    【观点】想写代码?离开你的电脑吧!
  • 原文地址:https://www.cnblogs.com/kafm/p/12721825.html
Copyright © 2020-2023  润新知