傻大方


首页 > 学习 >

单片机原理及应用第8章|单片机原理及应用:第8章 单片机的C语言应用程序设计



按关键词阅读: 语言 程序设计 原理 应用 单片机

1、第8章 单片机的C语言应用程序设计 8.1 C语言与MCS-518.3 C51数据类型及在MCS-51中的存储方式8.4 MCS-51内部资源使用的C语言编程8.5 MCS-51片外扩展的C语言编程下页下页8.1 C语言与语言与MCS51 C C语言编写单片机应用程序特点:语言编写单片机应用程序特点:1 1)只需初步了解单片机存储结构及内部资源;)只需初步了解单片机存储结构及内部资源;2 2)C C语言能管理内部寄存器分配、不同存储器寻址和数据类型等语言能管理内部寄存器分配、不同存储器寻址和数据类型等细节问题;在小程序中代码量大 , 在较大程序中效率高;细节问题;在小程序中代码量大 , 在较大程序中效 。

2、率高;2 2)定义的数据类型和变量、语法规定、程序结构及程序设计方)定义的数据类型和变量、语法规定、程序结构及程序设计方法都与标准的法都与标准的C C语言程序设计相同 , 具有语言程序设计相同 , 具有C C语言程序设计的特点 。
语言程序设计的特点 。
上页上页下页下页回目录回目录 用用C C语言编写应用程序步骤:语言编写应用程序步骤:编辑源程序 , 编译生成单片机可执行的代码 , 调试 , 写入单片机 。
MCSMCS5151系列单片机的系列单片机的C C语言编译器语言编译器:主要有KEIL C51编译器、Franklin C51编译器 。
上页上页下页下页回目录回目录8.3 C51数据类型及在数据类型及在MCS-51中的 。

3、存储方式中的存储方式8.3.1 C51的数据类型C51编译器支持C语言所有标准的数据类型:char,unsigned char,int, unsigned int,long, unsigned long,float等 。
加入了专门访问8051单片机硬件的数据类型: bit:声明位变量 , 其值为1或0; sbit:声明可寻址的位变量或SFR中的某个位变量 , 其值为1或0; sfr:声明特殊功能寄存器 , 地址范围0255 sfr16:声明特殊功能寄存器 , 地址范围065535上页上页下页下页回目录回目录如:如:sfr SCON=0 x98;
/sfr SCON=0 x98;
/声明声明SCONSCON为串口控制 。

4、器 , 地址为串口控制器 , 地址98H98Hsfr P0=0 x80;
sfr P0=0 x80;
sfr PSW=0 xD0;
sfr PSW=0 xD0;
sfrsfr之后的寄存器名必须大写 , 定义之后可以直接对这些之后的寄存器名必须大写 , 定义之后可以直接对这些寄存器赋值 。
如寄存器赋值 。
如P0=0X11;
P0=0X11;
sbit CY=PSW7;
sbit CY=0 xD07;
sbit CY=0 xD7;
右边的表达式定义特殊位在寄存器中的位置 , 值必须在右边的表达式定义特殊位在寄存器中的位置 , 值必须在07.8.3.2 C51变量的存储类型变量的存储类型C51C51每个变量可以使用下表所列的存储器类型明确分 。

5、配到指每个变量可以使用下表所列的存储器类型明确分配到指定的存储空间 。
定的存储空间 。
存储类型与存储空间的对应关系 data 直接寻址片内数据存储区 , 访问速度快(128字节) bdata 可位寻址片内数据存储区 , 允许位与字节混合访问(16字节) idata 间接寻址片内数据存储区 , 可访问片内全部RAM地址空间(256字节) pdata 分页寻址片外数据存储区(256字节)由MOV Ri访问(i=0,1) xdata 片外数据存储区(64 KB)由MOVX DPTR访问 code 程序存储器64 KB空间 , 由MOVC DPTR访问上页上页下页下页回目录回目录带存储类型的变量的定义举例:unsigne 。

6、d char data var1;
/声明一个内部直接寻址的无符号字节变量bit bdata flags;/在可位寻址片内数据存储区定义一个位变量char xdata var2;/在外部数据存储区定义一个字符变量unsigned char code=“Welcome to Beijing”;/在程序存储区定义字符串上页上页下页下页回目录回目录8.3.3 8.3.3 存储模式存储模式确定用于函数自变量、自动变量和无明确存储类型的变量的确定用于函数自变量、自动变量和无明确存储类型的变量的默认存储器类型默认存储器类型存储模式说 明SMALL默认的存储类型是data , 参数及局部变量放入可直接寻址片内RA 。

7、M的用户区中(最大128字节) 。
另外所有对象(包括堆栈) , 都必须嵌入片内RAM 。
存取速度快 , 尽量使用此模式 。
COMPACT默认的存储类型是pdata , 参数及局部变量放入分页的外部数据存储区 , 通过R0或R1间接访问 , 栈空间位于片内数据存储区中LARGE默认的存储类型是xdata , 参数及局部变量直接放入片外数据存储区 , 使用数据指针DPTR来进行寻址 。
用此数据指针进行访问效率较低 , 尤其对两个或多个字节的变量 , 这种数据类型的访问机制直接影响代码的长度上页上页下页下页回目录回目录 对于片外扩展I/O口 , 则根据硬件译码地址 , 将其视作为片外数据存储器的一个单元 , 使用#define语句进行定义 。


稿源:(未知)

【傻大方】网址:/a/2021/0926/0024178640.html

标题:单片机原理及应用第8章|单片机原理及应用:第8章 单片机的C语言应用程序设计


上一篇:电力|电力电子技术-IGBT

下一篇:大学物理上课件6|大学物理(上)课件:6 相对论习题