单片机的C语言程序应用课件_第1页
单片机的C语言程序应用课件_第2页
单片机的C语言程序应用课件_第3页
单片机的C语言程序应用课件_第4页
单片机的C语言程序应用课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第二章C与8051

1.对单片机的指令系统不要求了解,仅要求对8051的存储器结构有初步了解;

寄存器的分配、不同存储的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;关键字及运算函数可用近似人的思维过程方式使用;编程和程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;具有方便的模块化编程技术,程序移植性强。C语言的优点:2.2.2Cx51编译器编译器版本编译时间存储模式编译堆栈浮点支持AmericanAutomation16.02.076min3sSMLNo[1]IAR4.05A2min3sTSCMLBYesYesAvocet1.31min47sSMLNoYesBso/Tasking1.102min25sSALYesYesKEIL3.011min28sSALYesYesIntermetrics3.322min52sSL[3]NoYesMCC1.7[2]SMLNoNoDunfields2.11[2]SL[4]NoNo注:[1]仅大模式有浮点支持;[3]支持几种动态分配方案[2]不能翻译所有测试程序;[4]ROM与RAM映射到同一地址空间3.2.3keil8051开发工具keil8051开发工具的用途:可用于编译C源程序、汇编程序,链接和定位目标文件及库,创建HEX文件以及调试目标程序。4.keil

开发套件对照表:部件PK51DK51CA51A51FR51µVsion2项目管理器和编辑器√√√√Ax51汇编器√√√√Cx编译器√√√Bl51链接器/定位器√√√√LIB51库管理器√√√√µVsion2调试器/模拟器√√RTX51Tiny√RTX51Full√5.keil

软件开发流程:(1)创建一个项目,从期间数据库中选择目标芯片,并配置工具软件的设置;(2)用C或汇编创建源程序;(3)用项目管理器构造应用;(4)纠正源文件中的错误;(5)调试链接后的应用。6.文件夹组织结构

安装程序复制开发工具到基本目录的各个子目录中。默认的基本目录是C:\KEIL。下表列出的文件夹结构是包括所有8051开发工具的全部安装信息。C:\KEIL\C51\ASM汇编SFR定义文件和模板源程序文件

C:\KEIL\C51\BIN8051工具的执行文件

C:\KEIL\C51\EXAMPLES示例应用

C:\KEIL\C51\RTX51完全实时操作系统文件

C:\KEIL\C51\RTX_TINY小型实时操作系统文件

C:\KEIL\C51\INCC编译器包含文件

C:\KEIL\C51\LIBC编译器库文件启动代码和常规I/O资源

C:\KEIL\C51\MONITOR目标监控文件和用户硬件的监控配置C:\KEIL\UV2普通uVision2文件

7.keilCx51使用简介:(1)点击Project菜单,选择弹出的下拉式菜单中的New

Project,如图1-2。图1-2

NewProject菜单8.(2)选择所要的单片机,这里选择常用的Ateml

公司的AT89c51。而且本单片机c语言教程里的大部分程序都是基于此芯片的,此时屏幕如图1-4所示。图1-4选取芯片9.图1-5新建程序文件这个操作也能通过菜单File-New或快捷键Ctrl+N来实现。好了,现在能编写程序了。10.11.图1-6把文件加入到项目文件组中12.(5)编译运行。看图1-7,图中1、2、3

都是编译按钮,不一样是1

是用于编译单个文件。2是编译链接当前项目,如果先前编译过一次之后文件没有做动编辑改动,这个时候再点击是不会再次重新编译的。3

是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动。在3

右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。5

是菜单中的它们。在4

中能看到编译的错误信息和使用的系统资源情况等,以后我们要查错就靠它了。6

是有一个小放大镜的按钮,这就是开启\关闭调试模式的按钮,它也存在于菜单Debug-Start\StopDebugSession,快捷键为Ctrl+F5。13.图1-7编译程序14.(6)进入调试模式,软件窗口样式大致如图1-8所示。图中1为运行,当程序处于停止状态时才有效,2为停止,程序处于运行状态时才有效。3是复位,模拟芯片的复位,程序回到最开头处执行。按4能打开5中的串行调试窗口,这个窗口能看到从51芯片的串行口输入输出的字符。15.2.4Cx51程序开发过程Cx51源程序Cx51编译器浮动目标码模块链接器绝对定位目标码文件EPROM编程器系统库用户库列表文件映像文件硬件仿真16.2.5Cx51程序结构一般格式:类型函数名(数据类型形式参数,数据类型形式参数···){

数据说明部分;执行语句部分;}一个函数可以以3种形态出现:函数定义,函数调用,函数说明.17.Cx51程序结构

程序:P1端口输出#include<REG52.H> //单片机资源描述voidmain(void) //一个项目只有一 //个main主函数{ //函数体开始 P1=0x55; //隔一个为高 while(1){;} //单片机空循环待机} //函数体结束18.Cx51编程要点1.C语言由函数构成2.一个函数由两个部分组成3.C程序总是从mian()函数开始的4.书写格式自由5.分号结束6.C语言对输入/输出“函数化”7.注解用//或/*内容*/19.C程序的规范化设计在单片机C程序设计中,项目一般按功能模块化进行结构化设计。将一个项目划分为多个功能,每个功能的相关程序放在一个C程序文档中,称之为一个模块,对应的文件名即为模块名。一个模块通常由两个文档组成,一个为头文件*.h,对模块中的数据结构和函数原型进行描述;另一个则为C文件*.c

,对数据实例或对象定义,以及函数算法具体实现。20.H头文件的作用作为项目设计,除了对项目总体功能进行详细描述外,就是对每个模块进行详细定义,也就是给出所有模块的头文件。通常H头文件要定义模块中各函数的功能,以及输入和输出参数的要求。模块的具体实现,由项目组成根据H文件进行设计、编程、调试完成。为了保密和安全,模块实现后以可连接文件OBJ、或库文件LIB的方式提供给项目其他成员使用。21.H头文件的基本格式//如下为键盘驱动模块KeyDriver.H的模型#ifndef _KeyDriver_H_ //防重复引用#define _KeyDriver_H_ //此符号唯一/////////////////////////////////////////////////////////////////charkbhit(void); //击键否unsignedchargetch(void); //取键值/////////////////////////////////////////////////////////////////#endif22.C程序的基本格式#include<REG52.H> //头文件在系统中#include“KeyDriver.h” //头文件在项目中charkbhit(void) //击键否{}unsignedchargetch(

温馨提示

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

最新文档

评论

0/150

提交评论