[高等教育]10112第4章

[高等教育]10112第4章

ID:27748087

大小:600.50 KB

页数:32页

时间:2018-12-04

[高等教育]10112第4章_第1页
[高等教育]10112第4章_第2页
[高等教育]10112第4章_第3页
[高等教育]10112第4章_第4页
[高等教育]10112第4章_第5页
资源描述:

《[高等教育]10112第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章单片机的C程序设计本章重点C51单片机的程序结构;各种数据类型及变量的定义、存储及运算;C51单片机程序的流程控制;C51单片机函数的定义及调用。本章难点构造数据类型的存储结构及具体的灵活应用。3.1单片机程序设计概论C51系列单片机支持三种高级语言,即PL/M、C和BASIC。(各自特点)单片机的C语言编程特点C51管理内部寄存器和存储器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题;程序由若干函数组成,具有良好的模块化结构;有丰富的子程序库可直接引用,从而大大减少用户编程的工作量;C语言和汇编语言可以交叉使用。(各自特点)单片机的C语言编译器

2、C语言编译器将C语言源代码翻译成可执行代码的软件。支持C51系列单片机的C语言编译器有很多种,如AmericanAutomation、BSO/TASKING、IAR、Keil/Franklin等。Keil/Franklin以它的代码紧凑和使用方便等特点优于其他编译器,本章针对这种编译器来介绍C51单片机的C语言程序设计。3.1.3C51单片机的程序结构#include//头文件定义#definePI3.1415//常量定义unsignedchari,j;//全局变量定义sfrP0=0x80;//特殊功能寄存器定义,//一般头文件中已包含sbitC

3、Y=0xD7;//可位寻址位或引脚定义,//一般头文件中已包含voidDelay(intTimeMs);//函数声明main(){intm,n;//局部变量定义………………//初始化程序while(1){…………//主循环}}voidDelay(intTimeMs)//函数实现{…………//函数实现代码}注意事项C语言是大小写敏感语言;标识符应该先说明再引用;任何语句必须以“;”结束;“{”必须成对,理论上位置可以随意,为增加可读性应层次分明。3.2C51的数据与运算数据与数据类型数据:具有一定格式的数字或数值。数据是计算机操作的对象。不管使用任何语言、何种算法进行

4、程序设计,最终在计算机中运行的只有数据流。数据类型:数据的不同格式叫作数据类型。数据结构:数据按一定的数据类型进行的排列、组合、架构称为数据结构。C51的数据类型FranklinC51的数据类型3.2.2常量与变量常量是指在程序运行中其值不变的量。常量分为数值型常量和符号型常量数值型常量:i=0x16;符号型常量:#definePI3.1415变量是指在程序运行中其值可以改变的量。变量由变量名和变量值构成.变量名即是存储单元地址的符号表示;变量的值就是该单元存放的内容.C语言定义一个变量,编译系统自动为它分配一个存储单元,具体地址程序员不必关心。常见变量类型:bit

5、charintfloat3.2.3C51数据的存储类型与存储器结构存储类型是指数据存放位置,即数据存放在哪个存储器中。C51共有6种存储类型变量存储类型定义datacharxchardatax存储器模式是指决定了变量的默认存储器类型、参数传递区和无明确存储区类型的说明。C51的存储器模式有SMALL、LARGE和COMPACT3.2.4特殊功能寄存器(SFR)及其定义51单片机中,除了程序计数器(PC)和4组工作寄存器组外,其他所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH。SFR中地址能被8整除,即地址以8

6、或0结尾的可以位寻址。SFR定义(与标准C语言不兼容)sfrsfr-name=intconstant;sfrPSW=0XD0;位寻址的SFR中的位定义(与标准C不兼容)第1种格式:sbitbit-name=sfr-name^intconstant;sbitCY=PSW^7;第2种格式:sbitbit-name=intconstant^intconstant;sbitCY=0XD0^7;第3种格式:sbitbit-name=intconstant;sbitCY=0XD7在reg51.h头文件中,已经对标准51单片机的SFR及可寻址位作了定义。3.2.5并行接口及其定义

7、51系列单片机片内集成4个I/O口,可以在片外扩展I/O口。51单片机片外扩展I/O口与片外数据存储器统一编址,即把一个I/O口当作数据存储器中的一个单元来看待。片内IO口定义sfrP0=0X80;注:在reg51.h头文件中已定义片外IO口(相当于1个单元外部数据存储器)定义#include#definePORTAXBYTE[0XFFC0]absacc.h是C51中绝对地址访问函数的头文件。PORTA地址FFC0H,长度8位。3.2.6位变量(BIT)及其定义sbit定义位变量sbitCY=PSW^7;sbitCY=0XD0^7;sbitC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。