- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51程序设计无须懂得单片机的具体硬件也能够编出符合硬件实际的
可以指定一般指针本身在存储空间的位置 char *data p 一般指针只有在执行时才能确定存储位置,执行速度较慢,因此尽可能使用基于存储器的指针 基于存储器的指针 数据类型 存储器类型 *变量名 char data *p; int xdata *ap; long code *bp 编译期间即可确定存储类型,没有一般指针占用的1存储类型字节。 c51指针 1.?绝对宏: ?在程序中,用“#includeabsacc.h”即可使用其中定义的宏来访问绝对地址,包括: CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD? 例如: #includeabsacc.h #define?ADstart?XBYTE[0x8000]?????????//总线方式访问AD #define?ADL??????XBYTE[0x8000] #define?ADH??????XBYTE[0x8001] rval=CBYTE[0x0002];指向程序存贮器的0002h地址?rval=XWORD?[0x0002];指向外RAM的0004h地址 c51绝对地址访问方式 2.?_at_关键字 直接在数据定义后加上_at_?const即可,但是注意: (1)绝对变量不能被初使化; (2)bit型函数及变量不能用_at_指定 例如:? idata?struct?link?list?_at_?0x40;指定list结构从40h开始 xdata?char?text[25]?_at_0xE000;指定text数组从0E000H开始? 提示:如果外部绝对变量是I/O端口等可自行变化数据,需要使用volatile关键字进行描述,请参考absacc.h。? c51绝对地址访问方式 中断函数 函数类型 函数名(形参表) interrupt n [using n] interrupt n : n表示中断号 using n: n表示使用那一组工作寄存器组,0—3 C51中断服务程序 C51 一个大的单片机程序往往包含很多模块,每个模块为一个C文件,完成一定的功能,可以提供给外部其它文件进行调用。 每一个C源文件都要建立一个与之名字一样的H文件(头文件),里面一般有该C文件的函数的声明 假设我们有一个LCD.C文件,其提供最基本的LCD的驱动函数LcdPutChar(char cNewValue) ; //在当前位置输出一个字符 LCD.C的头文件LCD.h ,其内容如下。 C51模块化设计 #ifndef _LCD_H_ #define _LCD_H_ extern LcdPutChar(char cNewValue); #endif 条件编译和宏定义是为了防止重复包含 建立一个所有的文件都要共同使用的头文件,里面当然就是单片机的管脚使用的定义,还有里面放那些需要的KEIL系统的头文件,比如 #i ncludereg52.h,#includeabsacc.h等等,把这个文件命名为common.h,或者干脆就叫main.h C51模块化设计 每个C源文件应该包含自己的头文件以及那个共同的使用的头文件,里面还放自己本文件内部使用的全局变量或者以extern定义的全局变量 建立工程的时候,只要把C源文件加到工程中,把H文件直接放到相应的目录下面就可以了,不需要加到工程里面 C51模块化设计 Typedef重新定义数据类型名字 typedef unsigned int uint16 uint16 g_nTimeCounter = 0 若在8位单片机下编写的一些代码想要移植到32位的处理器上,可以直接修改uint16的定义,即 typedef unsigned short int uint16 将常用的数据类型全部采用此种方法定义,形成一个头文件,便于我们以后编程直接调用。 C51模块化设计 此模板可用作起始文件以更新项目里程碑的更新。 节 右键单击幻灯片以添加节。 节可以帮助您组织幻灯片或促进多个作者之间的协作。 备注 使用“备注”节传递备注或为受众提供其他详细信息。 演示过程中,可在“演示文稿视图”中查看这些备注。 请记住字体大小(对于可访问性、可见性、录像和联机生产都非常重要) 协调的色彩 特别注意图形、图表和文本框。 请考虑与会者将以黑白或灰色调打印。 请运行测试打印,以确保当以纯黑白和灰色调打印时,您的颜色工作正常。 图形、表格和图表 保持简单: 如果可能,请使用一致的、不分散的样式和颜色。 标记所有图表和表格。 * 项目是关于什么的? 定义此项目的目标 它是类似于过去的项目还是一项新工作? 定义此项目的范围 它是一个独立的项目,还是与
文档评论(0)