C51支持的数据类型分为基本数据类型、构造数据类型和指针类型。C51的基本数据类型如表5-1所示,表中下面的5种数据类型是C51有的而标准C没有的。在MCS-51系列单片机中选择合适的数据类型,对提高运行效率具有特殊的意义。如果在编写C51程序时使用大量的、不必要的数据类型变量,就会导致C51编译器相应地增加了所调用的库函数的数量,以处理大量增加的数据类型变量,会使编译后的程序变得过于庞大。......
2023-11-17
随着程序设计技术的发展,在单片机的开发应用中逐渐引入了高级语言,C语言就是其中的一种。单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。C51程序与C语言程序在结构上大体相仿,例如:
这个示例程序框架每一行都由左边的代码和右边以双斜杠“∥”起始的注释构成,对于程序代码来说,注释属于可选内容。第1行使用预处理命令包含了MCS-51单片机所用到定义的寄存器、I/O接口等资源的名称、地址等内容,以便在程序中方便以名称的方式调用MCS-51单片机相应资源(如P0、TH0、TL0等)。同样的,如第2行注释介绍,在程序开始处也同样可以包含其他头文件(如math.h等),以便调用其他头文件中的代码资源。第5行至第16行为函数定义。第9行至第16行为主函数(main函数)定义,对于C语言程序来说,main函数(主函数)是程序开始的起点,是整个程序过程的入口,对于如无特殊需要,MCS-51单片机的主函数通常无返回值,且无参数调用。第5行定义了一个名为delay的应用函数,包含1个参数(unsigned int t)。一般来说,函数的定义或声明要在函数调用之前进行,如第14行进行了对delay函数的调用,传递的参数值为1000。第3行声明了名为point0的指针变量,如第4行注释介绍,在所有函数体之外可根据需要定义其他全局变量,第11行、第12行分别是局部变量声明和定义。(www.chuimin.cn)
在嵌入式系统设计中,C语言以简单、紧凑、灵活、可读性强等特点得到了广泛应用,在单片机的开发中扮演着重要角色。自1985年第一个C51编译器诞生以来,有众多公司推出了各自的C51编译器,其中最著名的是德国的Keil Cx51编译器。本章首先介绍C51的基本知识,然后通过C51语言实例编程,使读者快速掌握C51程序设计的思路和方法。
有关单片机基础及应用的文章
C51支持的数据类型分为基本数据类型、构造数据类型和指针类型。C51的基本数据类型如表5-1所示,表中下面的5种数据类型是C51有的而标准C没有的。在MCS-51系列单片机中选择合适的数据类型,对提高运行效率具有特殊的意义。如果在编写C51程序时使用大量的、不必要的数据类型变量,就会导致C51编译器相应地增加了所调用的库函数的数量,以处理大量增加的数据类型变量,会使编译后的程序变得过于庞大。......
2023-11-17
2)片外程序存储空间,简称片外ROM。C51的6种存储类型与存储空间的对应关系如表5-2所示。表5-2C51的存储类型与存储空间的对应关系表5-3C51的存储类型及其数据长度和值域当使用存储类型data、bdata定义常量和变量时,C51编译器会将它们定位在片内数据存储空间中,这个存储区根据单片机的型号不同,其长度也不同。整型变量var的存储类型是pdata,C51编译器将该变量定位在片外RAM中,并用指令MOVX@Ri访问。......
2023-11-17
流程控制语句不论对汇编语言还是C51都是程序设计中最重要的部分,C51同C语言一样是结构化程序设计语言。C51的结构化程序由若干个函数构成,函数由若干个基本结构构成,基本结构由若干条语句构成。结构化的C51程序设计语言有3种基本结构,即顺序结构、选择结构和循环结构。另外,在C51中还支持多分支结构,多分支结构既可以通过if和else if语句嵌套实现,也可用switch/case语句实现。......
2023-11-17
◎内容提要本章讲述MCS-51单片机的C51程序的基础知识,主要包括C51数据类型及存储类型、C51运算符及其表达式、C51流程控制语句、C51构造数据类型、C51指针的定义及使用、C51函数的定义及使用和预编译的用法。◇C51函数的定义、调用及使用时应注意的事项。※重点及难点◇C51存储类型和存储模式的区别。◇C51函数中参数的传递问题。教学目标:掌握MCS-51单片机的C51程序设计的基础知识。通过编程实例,快速掌握C51程序设计的思路和方法。......
2023-11-17
如果表达式成立,就重复执行循环体内的语句块;如果表达式不成立,就终止while循环,执行循环结构之外的下一行语句。do-while循环语句与while循环语句相比较,前者把while循环条件作了后移,即把循环条件测试的位置从起始处移至循环的结尾处。do-while循环语句用于至少执行一次循环体的场合。......
2023-11-17
8051有5个中断源,即两个外部中断、两个定时/计数器中断和一个串行发送/接收中断。1.外部中断外部中断是由连接到单片机外部引脚信号变化而引起的中断,反映外部某一事件的发生。CPU是在每个机器周期的S5P2检测P 3.2和P 3.3上的信号,如果是有效信号则对定时器控制寄存器TCON中的IE0或IE1置1,建立中断请求标志。表6-1中断源的主要内容及说明......
2023-11-17
1.基本组成微型计算机的基本组成如图1-2所示。图1-2微型计算机的组成框图中央处理器CPUCPU是计算机的核心部件,它由运算器和控制器组成,完成计算机的运算和控制功能。电池式NVRAM是由CMOS的SRAM、备用电池和切换电路组成,在电源断开或低于某值时切换电路把备用电池接入,对RAM进行写保护,防止意外数据写入和信息丢失。......
2023-11-17
MCS-51单片机的算术运算类指令包括加、减、乘、除、加1、减1等指令。这类指令有ADD、ADDC、INC、SUBB、DEC、DA、MUL、DIV共8种。表3-3算术运算类指令注:√表示该指令影响某一标志位。运算结果对PSW的影响同上述4条ADD指令。6.十进制调整指令十进制调整指令只有以下1条:该指令用于BCD码加法运算时,对BCD码的加法运算结果自动进行调整,但对BCD码的减法运算不能用此指令来调整。在运算过程中,单片机按二进制规则进行运算。......
2023-11-17
相关推荐