[工程科技]c8051第3章幻灯

[工程科技]c8051第3章幻灯

ID:27613569

大小:304.00 KB

页数:76页

时间:2018-12-04

[工程科技]c8051第3章幻灯_第1页
[工程科技]c8051第3章幻灯_第2页
[工程科技]c8051第3章幻灯_第3页
[工程科技]c8051第3章幻灯_第4页
[工程科技]c8051第3章幻灯_第5页
资源描述:

《[工程科技]c8051第3章幻灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章C51程序设计使用C语言实现单片机编程是单片机系统开发的发展方向,C语言是通用计算机程序设计语言,现在也广泛用于单片机系统开发。3.1C51程序与汇编程序的不同之处对于51单片机来说,C51编写程序比汇编语言程序具有如下优缺点。1.优点(1)采用C语言编程,以行为方式描述单片机实现的任务,开发效率高、时间短。(2)将单片机实现的任务分别用程序模块实现,(3)可移植性好(4)提供数学函数并支持浮点运算,(5)不用深入了解单片机的指令系统,仅需要了解51单片机存储器结构。2.缺点实时性比汇编语言差,因为编写汇编的

2、时候可以清楚的知道每一条指令究竟要多少个机器周期,而C51语句与执行时间没有确切关系。一般来说,C51程序代码量较汇编程序代码量大,但随着C编译器编译效率的提高和存储器容量的增加,已经不是大问题。3.使用助记符与汇编程序一样,采用C51语言还是需要了解如何初始化单片机中众多特殊功能寄存器,因为这些寄存器是控制硬件功能的,因此需要了解单片机内部各个模块的工作原理,这也是初学单片机遇到的最大困难。C51程序中,也是采用助记符代表寄存器地址,助记符与寄存器地址之间的对应关系保存在“头文件”中,由于每种单片机的助记符、助记

3、符对应的寄存器地址不相同,因此每种单片机都有自己的头文件。为方便记忆,助记符常与手册中给出的特殊寄存器名相同。例如对于AT89S51单片机,就有头文件“AT89X51.H”,其内容为特殊功能寄存器的定义。在头文件的支持下,写C51程序时可以直接用助记符代替地址,容易记忆,并增加可读性。4.存储类型C51中变量的存储类型与51单片机存储空间的对应关系如下。data直接存取51单片机内部RAM(128B空间)。idata以MOV@Rn间接存取52单片机內部RAM(256B空间)。bdata以位寻址方式存取单片机内部数据

4、RAM中的位寻址区(16B)。xdata以MOVX@DPTR存取外部扩展RAM(64KB空间)。pdata以MOVX@Rn分页存取外部扩展RAM(256B,外部扩展RAM的第一个页面)。code以MOVC@A+DPTR指令存取Flash存储器(64KB空间)。在C51中定义变量时,可以定义变量的存储类型,例如,unsignedcharcodesm[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xA1,0x86,0x8e};5

5、.需要启动文件在51单片机中运行用户所编制的C51程序时,在执行main()程序时,需要先运行启动程序startup.a51,该汇编程序的工作是把idata、xdata、pdata存储区清0,初始化堆栈。还要执行init.a51程序初始化非零变量。6.Keil软件编译C51程序在Keil软件中的文本编辑器编辑完成C51程序(.c)后,经过C51编译器编译后,生成浮动目标文件(.obj)和列表文件(.lst);在库文件的支持下,经过L51链接器后,得到绝对定位目标文件(.hex)。Keil软件开发C51的过程与开发汇

6、编程序的过程基本相同,但需要注意如下两点。在使用Keil软件时,注意汇编程序不需要启动程序startup.a51,而C51程序需要该启动程序;另外C51程序文件的扩展名是.c,而汇编程序文件的扩展名是.asm。3.2C语言基础知识3.2.1C语言的标识符和关键字C语言中的部分保留字如下:atuobreakcaseconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstr

7、uctswitchtypedefunionvoidvolatilewhile在C保留字的基础上,C51的关键字如下:bitsbitsfrsfr16databdataidatapdataxdatacodeinterruptreentrantusing3.2.2数据类型分类数据类型字节数值域说明字符(char)unsignedchar10~255signedchar1-128~+127默认整型(int)unsignedint20~65535signedint2-32768~+32767默认长整型(long)unsign

8、edlong40~4294967295signedlong4-2147483648~+2147483647默认浮点float4±1.175494E-38~±3.402823E+38一般指针类型*1~3字节对象的地址位型bit位0或1特殊寄存器sfr单字节0~25516位特殊寄存器sfr16双字节0~65535可位寻址型sbit位0或13.2.3常量在程序运行

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

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

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