单片机C语言-程序结构

已有 651 次阅读

2011-3-30 22:29

|系统分类:科研笔记

先来复杂说说C言语的标识符和关键字。 标识符是用来标识源程序中某个对象的名字的, 可以写做“Timer1”, 标识符由字符串, 数字和下划线等组成, 注意的是第一个字符必需是字母或下划线, 如“1Timer”是错误的, 有些编译系统公用的标识符是以下划线扫尾, 所以普通不要以下划线扫尾命名标识符。 标识符在命名时该当复杂, 含义清晰, 这样有助于阅读了解程序。 在C51编译器中, 只支持标识符的前32位为有效标识, 普通情况下也足够用了。 在程序编写中不允许标识符与关键字相同。 while等标准的还有sbit, code, interrupt等扩展的, 其真实KEILuVision2的文本编辑器中编写C程序, 缺省颜色为天蓝色。   char类型的长度是一个字节, 通常用于定义处置字符数据的变量或常量。 分无符号字符类型unsignedchar和有符号字符类型signedchar, 默认值为signedchar类型。 所可以表达的数值范围是0~255。 signedchar类型用字节中最高位字节表示数据的符号, “0”表示负数, “1”表示负数, 负数用补码表示。 所能表示的数值范围是-128~+127。   ?负二进制数的补码等于它的绝对值按位取反后加1。 用于寄存一个双字节数据。 分有符号int整型数signedint和无符号整型数unsignedint, signedint表示的数值范围是-32768~+32767, “0”表示负数, “1”表示负数。   float浮点型在十进制中具有7位有效数字, 因浮点数的构造较复杂在当前再做详细的讨论。 对不同的处置器长度也不尽相同, 在C51中它的长度普通为1~3个字节。 指针变量也具有类型, 在当前专门讨论。   bit位标量是C51编译器的一种扩充数据类型, 但不能定义位指针, 它的值是一个二进制位, 类似一些初级言语中的Boolean类型中的True和False。 点用一个内存单元, 值域为0~255。 如用sfrP1=0x90这一句定P1为P1端口在片内的寄存器, 在后面的语句中我们用以用P1=255(对P1端口的一切引脚置高电平)之类的语句来操作特殊功能寄存器。   sfr16占用两个内存单元, 值域为0~65535。 如定时器T0和T1。 应用它可以访问芯片外部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。 所以我们可以定义sbitP1_1=P1^1;, 1的地址去写, 1引脚进行读写操作了。 通常这些可以直接运用系统提供的预处置文件(如reg51. AT89X51. 里面已定义好各特殊功能寄存器的复杂名字, 直接援用可以省去一点时间, 用你认为好记的名字。   以上就是Keil51中常用的数据类型, 上面我们来看一个跑马灯的程序, 加深了解一下C51的程序构造。 #####include

转载本文请联系原作者获取授权,同时请注明本文来自李飞科学网博客。

链接地址:http://blog.sciencenet.cn/blog-559366-428139.html

上一篇:C++虚函数及虚函数表解析

下一篇:Java线程同步锁解决共享数据安全

单片机c语言程序结构,科学网—单片机C语言-程序结构 - 李飞的博文相关推荐

  1. c语言酶切算法,科学网—FitHiC V1算法解析(一) - 卢锐的博文

    FitHiC V1主要用于识别中程顺式互作 处理Hi-C数据,最自然的分辨率划分方法是基于限制性内切酶切出来的酶切片段,即一个酶切片段为一个最小单位.但是,因为测序深度和基因组上感兴起的size不同, ...

  2. 冯诺曼伊体系 计算机五大逻辑,科学网—再谈冯·诺伊曼结构 - 姜咏江的博文

    再谈冯·诺伊曼结构 姜咏江 为了说明问题简单,我引用一段百度百科当中的文字和图: 冯.诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本 ...

  3. C语言循环水题,科学网—水文模型大本营 - 陈昌春的博文

    水文模型在气候变化与水资源问题日益引起关注的当代具有丰富的应用前景.现对水文模型作一些介绍. 目前堪称水文模型龙头老大的开放兼开源软件是SWAT(行业老大的SHE水文模型集群是商业软件,与ARCGIS ...

  4. linux子系统安装gromacs,科学网—Windows下GROMACS程序的编译 - 李继存的博文

    2015-12-07 22:12:05 总的来说, Windows下的GROMACS程序用于模拟意义不大, 对于长时间的模拟, 我都是放在Linux服务器上进行的. 但将Windows下的GROMAC ...

  5. R语言导出为html,科学网—[转载]R语言中数据的导入与导出(笔记) - 刘朋的博文...

    !!!help文档!!! 1.导入数据语句为mydata 要分析的.csv数据(.xlsx另存为...)导入.数据导入后可以edit(mydata),R语言工作区就会弹出数据, 可以进行编辑和修改.还 ...

  6. matlab 画qq图,科学网—[转载]R语言绘制QQ图 - 刘朋的博文

    R语言绘制QQ图 实例1: #############加载数据 data R R=apply(R,2,as.numeric) #R语言将字符串矩阵转化为数值型矩阵,apply()函数里面的第2个值,如 ...

  7. 大学c语言课程学习方法,科学网—从《C语言》浅谈大学课程学习 - 陈颖频的博文...

    经过一学期的教学,C语言已经接近尾声,希望同学们通过本课程能掌握大学课程的学习方法.园丁结合自身学习经历和项目开发经验想和各位同学谈谈,如何学好大学课程,首先,大学课程是基础中的基础,一般都会找比较经 ...

  8. matlab stract结构_科学网—[MATLAB]方便快捷读取结构体里数个结构体内的数据 - 胡振东的博文...

    clc;clear;close all cd F:\01_DATA\Data_process\Glide load('Glide0.mat') % Glide0.mat里的Glide结构体有G1,G2 ...

  9. c语言申报书,科学网—我的基金申请书写作的失败和成功经验 - 冯兆东的博文...

    我的基金申请书写作的失败和成功经验 冯兆东(2016-01-24) 一.我是一个"屡战屡败而又屡败屡战"的老手 记得好像是1983或1984年,我的两位兰州大学的老师在美国进修,我 ...

最新文章

  1. 禁止和恢复WIN7驱动强制签名
  2. 使用find命令查找文件
  3. sublime设置空格替换tab键
  4. mysql中连接运算符_MySQL的运算符
  5. 《认知设计:提升学习体验的艺术》——差距在哪里
  6. Xshell/Xftp个人完全免费版
  7. 注册表知识and技巧大全
  8. AlphaGo算法原理浅析
  9. 三种技术类型的3D摄像头大体总结 3D人脸识别
  10. 计算机界面没磁盘驱动器,驱动器中没有磁盘的原因和解决办法
  11. 网站联系表单,honeypot蜜罐理论及操作技术,诱饵机器人
  12. TI PMP解决方案简介
  13. 鼠标测试工具Simple_Mouse_Test
  14. 浅析气排球技、战术特点
  15. laravel框架的whereIn条件或者where条件里面的in条件怎么写
  16. css两张图片重叠显示
  17. 实用的Linux命令行技巧
  18. RabbitMQ3:RabbitMQ的使用方法
  19. 传输层协议(TPC和UDP介绍)
  20. 计算机视觉算法——语义分割网络总结

热门文章

  1. 艾美捷EndoGrade卵清蛋白注意事项说明
  2. 网络克隆实验(多播克隆)
  3. 写在前面......
  4. 中科新媒体:实体零售企业如何在数字化浪潮下创新营销
  5. TED演讲:给你一个机器替身,会发生哪些有意思的事?
  6. tms tck_TCK访问争议–与JPA 2.1专家组成员Oliver Gierke聊天
  7. 详解WebApp与Native App的区别
  8. Uncaught SyntaxError: The requested module ‘/node_modules/.vite/deps/vue-router.js?v=6552c805‘
  9. Class4-Week3 Object Detection
  10. 阿里云ECS训练营Class4