《mcs-51系列单片机原理及接口技术》8 c51语言程序设计

《mcs-51系列单片机原理及接口技术》8 c51语言程序设计

ID:11138367

大小:202.50 KB

页数:48页

时间:2018-07-10

《mcs-51系列单片机原理及接口技术》8 c51语言程序设计_第1页
《mcs-51系列单片机原理及接口技术》8 c51语言程序设计_第2页
《mcs-51系列单片机原理及接口技术》8 c51语言程序设计_第3页
《mcs-51系列单片机原理及接口技术》8 c51语言程序设计_第4页
《mcs-51系列单片机原理及接口技术》8 c51语言程序设计_第5页
资源描述:

《《mcs-51系列单片机原理及接口技术》8 c51语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章C51语言程序设计8.1C51语言程序设计8.2C51语言语法简介8.3基本程序设计8.4C51编程举例8.1C51语言简介C51语言的优点:1)对单片机的指令系统不要求了解,仅要求对单片机的存储器结构有初步了解。2)寄存器分配、不同寄存器的寻址及数据类型等细节可由编译器管理。3)程序有规范的结构,可分为不同的函数,可使程序结构化。4)指定操作的变量选择组合,改善了程序的可读性。5)关键字及运算函数可用近似人的思维过程方式使用。6)编程及程序调试时间显著缩短,从而提高效率。7)提供的库包含许多标准子程序,具有较强的数据处理能力。8)已编好的程

2、序可容易地植入新程序,具有较强的模块化编程技术。C51中函数分为两大类,一类是库函数,一类是用户定义函数。库函数是C51在库文件中已经定义的函数,其函数说明在相关的头文件中。这类函数,用户在编程时只要用include预处理指令将头文件包含在用户文件中,直接调用即可。外部函数是用户自己定义、自己调用的一类函数。C51程序的一般格式如下:类型函数名(参数表)参数说明;{数据定义部分;执行语句部分;}例8-1:用8279芯片实现键盘和显示功能,数据口地址0xfffe,命令/状态口地址0xffff。#include/*库函数*/#incl

3、ude/*库函数*/#defineCOMXBYTE[0xffff]/*定义8279的命令地址*/#defineDATXBYTE[0xfffe]/*定义8279的数据地址*/……sbitclr_flag;unsignedcharkeyin();/*用户函数名称类型声明*/voiddisplay(unsignedcharidata*d)voidmain(void)/*主函数*/{……COM=0xd1;/*对8279总清*/do{ACC=COM;}while(clr_flag==1);COM=00;/*8279初始化命令*/COM=0

4、x2a;……}voiddisplay(unsignedcharidata*d){……}/*显示函数函数体略*/……/*按键函数略*/返回8.2C51语言语法简介8.2.1数据与数据类型C51语言按照ANSIC的标准来定义,它的数据也基本遵从标准C的数据结构,C51的数据结构是以数据类型的形式出现的。为了支持8051结构,提供了几种标准C的扩展,这些扩展符有:bit、str、sbit、str16等。C51的C语言的数据类型如下:位型(bit)字符型(char)基本类型整形(int)长整形(long)浮点型(float)数组类型(array)数据类型结

5、构体类型(struct)构造类型共用体(union)枚举(enum)指针类型空类型keilC51编译器支持的数据类型、长度和数域数据类型长度(bit)长度(byte)值域范围bit10,1unsignedchar810~255signedchar81-128~127unsignedint1620~65535signedint162-32768~32767unsignedlong3240~4294967295signedlong324-2147483648~2147483647float324±1.176E-38~±3.40E+38一般指针243存储

6、空间0~65535sbit10,1sfr810~255sfr161620~655358.2.2C51数据的存储类型与8051存储器结构定义8051单片机系统外部数据存储区0-FFFFH程序存储区0-FFFFH内部数据存储区80-FFH内部数据存储区00-7FH可位寻址存储区20-2FHC51存储类型定义xdata,pdatacodeidatadatabdataC51数据类型定义举例chardataday;//字节型变量,定位在直接寻址片内数据存储器bitbdataflag;//位型变量,定位在可位寻址片内数据存储器floatidatax,y,z;/

7、/浮点型变量,定位在间接寻址片内数据存储器unsignedcharxdatavector[10];//无符号数字节变量,定位在片外数据存储器unsignedintpdataresult;//无符号数字节变量,定位在片外数据存储器8.2.3特殊功能寄存器及C51定义C51语言中为了访问51单片机的特殊功能寄存器(SFR),定义了关键字”sfr”等来描述SFR。sfr:定义字节寻址的特殊功能寄存器。sfrP1=0x90;表示P1口地址为90Hsfr16:定义16位按字寻址的特殊功能寄存器。sfr16T2=0xCC;表示定时/计数器T2的低地址T2L=0

8、xCC,高地址T2H=0xCD。sbit:定义可位寻址的特殊功能寄存器和可位寻址的某些特殊位。这种变量的定义有3种形式,分

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

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

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