欢迎来到天天文库
浏览记录
ID:50337164
大小:850.50 KB
页数:36页
时间:2020-03-08
《单片微机原理与应用 教学课件 作者 罗印升 2011-part_10.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、“单片机原理与应用”课程第10章C51程序设计基础7/22/20211第10章:C51程序设计基础10.1C51概述10.2C51的数据类型10.3C51的存储类型与存储区10.4C51寄存器选择与中断函数10.5C51头文件与控制流程语句10.7C51编程举例与调试7/22/20212C51程序设计基础【基本知识点与要求】(1)理解单片机C语言程序开发流程及结构。(2)掌握数据类型及其在单片机中的存储类型。(3)了解C51的顺序、分支和循环控制流程。(4)掌握C51一般函数和中断函数的应用。(5)理解单片机C语言程序开
2、发流程及结构,掌握KeilC51的使用。【重点与难点】各种数据类型在C51中的应用,KeilC51的使用,难点是中断函数的应用。7/22/2021310.1C51概述基于51系列单片机的C语言或C语言编译器简称为C51语言或C51。单片机的资源有限,因此C51在C语言的基础上进行了扩展。使用C51不需要记忆汇编语言指令,但需要对51单片机的组成结构有所了解,这样才能更好的设计C51应用程序。printf和scanf这两个函数在ANSIC中通常用于屏幕打印和接收字符,而在C5l中,它们则主要用于串行接口通信时数据的发送和接
3、收。10.1.1C51程序开发流程源程序编写之后,就要在编译软件的环境KeilC51中进行编译和连接,生成绝对定位目标码文件,即单片机可以执行的目标文件。若源程序有错误则要重新修改才能再进行编译和连接。该绝对定位目标码文件最终可以被写入编程器或硬件仿真器。与硬件一起完成系统功能。7/22/2021410.1C51概述C51程序开发过程7/22/2021510.1C51概述10.1.2C51程序结构C51源程序的结构:(1)C51语言是由函数构成的。一个C51源程序至少包括一个函数(main),也可以包含一个main函数和
4、若干其它函数。因此,函数是C51程序的基本单位。被调用的函数可以是编译器提供的库函数,也可以是用户自己编制的函数。(2)一个C51程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。(3)任何编程语言都支持注释语句。注释语句只对代码起到功能描述的作用,在实际的编译链接过程中不起作用。C51语言中可以用“//”符号开头来注释一行,或者用“/*”符号开头、并以“*/”符号结束,对C51源程序中的任何部分进行注释。7/22/2021610.1C51概述下面是一个简单的C51程序。#include“reg
5、51.h”sbitP1_0=P1^0;voidmain(){P1_1=0;}这个程序的作用是当P1.0引脚输出低电平时,接在P1.0引脚上的LED点亮。“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有4行,但C编译器在处理的时候却要处理几十或几百行。这里程序中包含reg51.h。文件的目的是为了要使用P1这个符号。7/22/2021710.1C51概述打开reg51.h可以看到内容:/*-------------------------------------REG51.HHeaderfi
6、leforgeneric80C51and80C31microcontroller。Copyright(c)1988-2001KeilElektronikGmbHandKeilSoftware,Inc。Allrightsreserved。--------------------------------------*//*BYTERegister*/sfrP0=0x80;sfrP1=0x90;sfrP2=0xA0;sfrP3=0xB0;sfrPSW=0xD0;sfrACC=0xE0;sfrB=0xF0;sfrSP=0x81;
7、sfrDPL=0x82;sfrDPH=0x83;sfrPCON=0x87;sfrTCON=0x88;sfrTMOD=0x89;sfrTL0=0x8A;sfrTL1=0x8B;sfrTH0=0x8C;sfrTH1=0x8D;sfrIE=0xA8;sfrIP=0xB8;sfrSCON=0x98;sfrSBUF=0x99;7/22/2021810.1C51概述/*BITRegister*//*PSW*/sbitCY=0xD7;sbitAC=0xD6;sbitF0=0xD5;sbitRS1=0xD4;sbitRS0=0xD3;s
8、bitOV=0xD2;sbitP=0xD0;/*TCON*/sbitTF1=0x8F;sbitTR1=0x8E;sbitTF0=0x8D;sbitTR0=0x8C;sbitIE1=0x8B;sbitIT1=0x8A;sbitIE0=0x89;sbitIT0=0x88;/*IE*/sbitEA=0xAF;sbitES=
此文档下载收益归作者所有