欢迎来到天天文库
浏览记录
ID:50454153
大小:685.50 KB
页数:53页
时间:2020-03-09
《新编单片机原理及应用 教学课件 作者 汪贵平 1_第4章 C51语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章C51语言程序设计4.1C51语言简介4.2C51对C语言的扩展4.3C51使用技巧4.4C51程序设计方法4.1C51语言简介4.1.1C51程序结构4.1.2C51程序的编辑和编译4.1.1C51程序结构1/∗------------------------------2;说明:这是一个学习C51的例程3;功能:使P1.0口的LED按照设置的时间间隔闪烁4;设计者:李登峰5;设计日期:2008年3月12日6;修改日期:2008年3月14日7;版本序号:V1.0.08;----------
2、--------------------∗/9#include//寄存器定义10#include//一般I/O定义11/∗-----------------以下是全局变量定义-----------------∗/12sbitLED=P1^0;//LED灯连接在P1.0口线上13intdatai;//定义一个整型数全局变量i14/∗-----------------主程序开始-----------------∗/4.1.1C51程序结构15voidmain(voi
3、d)16{17while(1)18{19LED=1;/LED灯点亮20for(i=0;i<1000;i++);//延时21LED=0/LED灯熄灭22for(i=0;i<1000;i++);//延时23}24}4.1.2C51程序的编辑和编译1.新建一个工程文件2.新建一个C51程序文件3.把C51程序文件添加到工程文件4.程序编译5.运行和调试1.新建一个工程文件在主菜单Project下创建一个项目,从器件库中选择目标器件。比如创建一个StarBlink.prj工程文件。2.新建一个C51程序文
4、件在主菜单File下建立一个新文件,这时会打开一个新的程序编辑窗口,输入上节所列的程序,并保存为StarBlink.C文件。3.把C51程序文件添加到工程文件选中左边工程文件窗口中的Target1项,单击鼠标右键,在弹出的快捷菜单中选择addfiletogroup,再选中第二步中建立的StarBlink.C文件,即把它加入到工程中。4.程序编译在主菜单选中Project下的buildtarget(或F7)即可编译程序,编译完成后会生成调试所需要的一系列文件,按照第11章中介绍的内容设置生成目标文件
5、StarBlink.HEX。5.运行和调试在主菜单选中Debug下的go(F5)即可在模拟调试模式下调试程序了。可以设置观察窗口来监视程序运行的结果。如果程序没有错误,用仿真器连接目标板调试,或直接把目标文件StarBlink.HEX写入到单片机中运行,即可看到LED发光管闪烁的效果。4.2C51对C语言的扩展4.2.1特殊功能寄存器的定义4.2.2数据类型4.2.3数据存储空间的定义4.2.4绝对地址访问4.2.5函数的使用4.2.6C51指针4.2.7库函数4.2.8关键字4.2.1特殊功能寄
6、存器的定义在51系列单片机中,除了程序计数器(PC)和4组工作寄存器组外,一般在片内RAM区的高128字节中还有一些特殊功能寄存器(SFR),地址范围为0x80H~0xFFH。有些特殊的51系列单片机如PHILIPS80C51MX,还提供一个附加扩展的SFR空间,地址范围是0x180~0x1FF。4.2.2数据类型1)不能声明一个bit类型的数组。2)不能声明一个位指针。3)禁止中断的函数(#pragmadisable)和用明确的寄存器组(usingn)声明的函数不能返回一个位型值。4.2.3数据
7、存储空间的定义1.变量的存储类型2.编译器的存储模式选择1.变量的存储类型表4-1数据存储类型与存储空间对应关系表4-1数据存储类型与存储空间对应关系2.编译器的存储模式选择如果在变量声明中省略了存储类型,编译器会自动选择默认或暗含的存储类型,默认存储类型与编译器的存储模式设置有关。C51编译器中有SMALL、COMPACT和LARGE3种存储模式可供选择,可以在C51编译器命令行中用SMALL、COMPACT和LARGE控制命令选项来选择,或在uVision环境的编译选项中选定编译模式。4.2.
8、4绝对地址访问1.绝对宏2.at关键字3.连接定位控制1.绝对宏所谓绝对宏是利用C51提供的头文件absacc.h中定义的宏来访问绝对地址。absacc.h中定义的宏包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD,绝对宏的使用可以通过以下几个例子来理解。2.at关键字使用“at”关键字可以实现绝对地址访问,具体的格式如下所示:[变量类型][存储类型]变量名at地址常数;若要指定text数组从片外数据存储器0xE000单元开始存放
此文档下载收益归作者所有