第三章 单片机C51程序设计.ppt_第1页
第三章 单片机C51程序设计.ppt_第2页
第三章 单片机C51程序设计.ppt_第3页
第三章 单片机C51程序设计.ppt_第4页
第三章 单片机C51程序设计.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章单片机C51程序设计 本章要点 了解KeilC51编译器的功能掌握C51的数据类型及变量定义掌握KeilC51编译环境的使用方法单片机常用的编程语言有汇编语言和C语言 C语言的结构性 可读性和可维护性好 已成为单片机应用系统开发的主流语言 支持MCS 51用C语言编程的编译器主要有两种 1 FranklinC51编译器2 KeilC51编译器 简称C51 其中 C51是专为MCS 51开发的一种高性能的C编译器 本章内容 C51程序结构C51的数据类型存储器类型及存储区C51对特殊功能寄存器的定义KeilC5指针与函数绝对地址访问宏定义与C51常用的头文件单片机的IO口编程 3 1C51程序结构 C51程序结构与一般的C程序没有差别 C51源程序必须包含一个main 函数C51源程序文件 还可以包含若干个其他函数C51程序必须包含C51的库文件如果使用中断 需要单独编写中断函数如果使用中断 定时器和串口等外设或特殊功能模块 一般要先进行初始化设置主函数中 while 1 是必须的 3 1C51程序结构 预处理命令 include 全程变量定义 函数声明 函数定义charfunl 函数定义 函数体 中断函数定义void函数名 interruptx 函数体 includevoidmain 主函数 局部变量定义 单片机寄存器的初始化函数while 1 主函数体 关于While 1 是单片机程序必须的部分 C51对标准ANSIC的扩展 C51除ANSIC标准的32个关键字之外 C51还扩展以下的关键字 at sfr16 alien sfridata bdata pdatacode bit sbit interrupt 3 2C51的数据类型 表3 3存储器类型关键字 3 3存储器类型及存储区 1 DATA段unsignedchardatasys 0 unsignedintdataunit id 2 2 BDATA段unsignedcharbdatastatus byte unsignedintbdatastatus word 3 IDATA段unsignedcharidatasystem status 0 unsignedintidataunit id 2 3 3存储器类型及存储区 4 PDATA和XDATA段unsignedcharxdatasystem status 0 unsignedintpdataunit id 2 charxdatainp string 16 floatpdataoutp value 5 CODE段unsignedintcodeunit id 2 1234 存储模式指定缺省类型 这个模式选择是在Keil开发环境中设置的 3 4C51对特殊功能寄存器 SFR 的定义 C51编译器使用sfr与sfr16两个关键词 将这些特殊功能寄存器的名字与其绝对地址联系起来 将单片机的硬件与C语言编程结合起来 1 使用 sfr 关键字定义SFR 特殊功能寄存器C51定义的一般语法格式如下 sfrname intconstant 例3 1 使用 sfr 关键字定义SFRsfrSCON 0 x98 声明SCON为串口控制器 地址为0 x98sfrP0 0 x80 声明P0为特殊功能寄存器 地址为0 x80 声明TMOD为定时器器的模式寄存器 地址为0 x89sfrTMOD 0 x89 sfrPSW 0 xD0 声明PSW为特殊功能寄存器 地址为0 xD0 这些寄存器 Keil提供的头文件默认都定义好 添加头文件REGX51 H 图3 1加入REGX51 H的例子 2 使用 sbit 关键字定义SFR的每一位 语法格式如下 sbitbitname sfrname intconstant 例3 2 使用 sbit 关键字定义SFR的每一位sfrPSW 0 xD0 定义PSW寄存器地址为DOHsbitOV PSW 2 定义0V位为PSW 2 地址为D2HsbitP2 7 P2 7 定义P2 7位为P2 7 3 5KeilC51指针与函数 1 通用指针2 存储器指针3 KeilC51函数 1 通用指针 通用指针的声明和使用均与标准C相同 不过同时还可以说明指针的存储类型 如 char s 字符指针 int numptr 整型指针 long state 长整型指针 通用指针总是需要三个字节来存储 第一个字节表示存储器类型 第二个字节是指针的高字节 第三个字节是指针的低字节 2 存储器指针 存储器指针或类型确定的指针在定义时包括一个存储器类型说明 并且总是指向此说明的特定存储器空间 例如 chardata str str指向data区中char型数据 intxdata pow pow指向外部RAM的int型整数 3 KeilC51函数 格式 函数类型函数名 形式参数 reentrant 函数的格式与标准C语言相同 3 6绝对地址访问 使用 include 语句即可使用其中定义的宏来访问绝对地址 该文件中实际只定义了几个宏 以确定各存储空间的绝对地址 使用方法如下 1 绝对宏包括 CBYTE XBYTE PWORD DBYTE CWORD XWORD PBYTE DWORD 例如 rval CBYTE 0 x0002 指向程序存贮器的0002h地址rval XWORD 0 x0002 指向外RAM的0004h地址 3 6绝对地址访问 2 at 关键字直接在数据定义后加上 at const即可例如 idatastructlinklist at 0 x40 指定list结构从40h开始 xdatachartext 25b at 0 xE000 指定text数组从0E000H开始注意 1 绝对变量不能被初使化 2 bit型函数及变量不能用 at 指定 3 7宏定义与C51中常用的头文件 C51中常用的头文件通常有reg5l h reg52 h math h ctype h stdio h stdlib h absacc h intrins h等 常用的却只有reg5l h或reg52 h math h 例如 include include 3 7宏定义与C51中常用的头文件 reg5l h和reg52 h是定义51单片机或52单片机特殊功能寄存器和位寄存器的 这两个头文件中大部分内容是一样的 52单片机比51单片机多一个定时器T2 因此 reg52 h中也就比reg5l h中多几行定义T2寄存器的内容 math h是定义常用数学运算 比如求绝对值 求方根 求正弦和余弦等 该头文件中包含有各种数学运算函数 当我们需要使用时可以直接调用它的内部函数 平时常用如下头文件 include include 3 8C语言的数制与常用运算符 1 C语言的数制计算机中常用的数制有三种十进制数是我们最熟悉的一种数制 基数为10 逢十进一 二进制数是计算机内的基本数制 其主要特点是 任何二进制数都只由0和1两个数码组成 其基数是2 进位规则是 逢二进一 十六进制数是微型计算机软件编程时常采用的一种数制其主要特点 基数是16 逢十六进一 2 常用的C语言运算符与标准C相同 表3 5常用的C语言的运算符 3 9C51的流程控制语句 1 分支结构 选择语句if switch case语句2 循环语句 while语句 do while语句 for循环语句 3 10单片机的I O口编程语句介绍 重点 51系列单片机共有四个8位并行I O口 分别是P0 P1 P2 P3 一条编程语句即可以操作单个引脚 也可以按字节来操作8个引脚 数字电路中只有两种电平特性 即高电平和低电平 因此单片机的引脚只有0 1两种逻辑状态 逻辑 0 的电压值是0V 逻辑 1 的电压值是5V 因为P1 P3口内部有上拉电阻 所以引脚在没有外围电路时读时 单片机读端口的值是逻辑 1 表3 6C51读写单片机的I O端口 3 11简单控制单片机引脚输出 实训二 1 实训题目 简单发光二极管流水灯程序2 实训内容练习写单片机的I O口编程 理解如何编程发出逻辑信息 并控制外围电路 程序1 8个发光二极管L1 L8分别接在单片机的P1 0 P1 7接口 程序2 LED跑马灯 利用for语句编辑一个的延时函数 并使用该延时函数让第一个发光二极管亮灭闪动 程序3 LED移位显示 下面程序可以使8个发光二极管动起来 点亮顺序为P1 0 P1 1 P1 2 P1 3 P1 7 并重复循环 编程方法同样 编程使单片机引脚输出 0 1 逻辑电平 3 12使用C语言高级语句控制引脚输出 1 实训题目 发光二极管流水灯程序2 实训内容本程序主要练习写单片机的I O口编程 将C语言的判断 循环语句与引脚输出结合起来 3 13KeiluVision5集成开发编程环境使用 实际操作演示 3 14KeilC51编译器使用及程序下载 1 实训题目 控制LED灯闪烁2 实训目的 熟悉KeilC51编译器的使用方法3 实训原理电路图如图2 6所示 将电源最小系统板 发光二极管板用杜邦线连接起来 发光二极管使用单片机的P1 0引脚来控制 当控制信号为低电平时 逻辑0 发光二极管亮 控制信号为高电平 逻辑1 时发光二极熄灭 思考与练习 1 C51编程与ANSIC编程主要有什么区别 2 51单片机能直接进行处理的C51数据类型有哪些 3 简述C51存储类型与51单片机存储空间的对应关系 4 C51中51单片机的特殊功能寄存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论