- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在单片机应用开发中,软件编程占有非常重要的地位。要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。同时,由于实际系统的日趋复杂,对程序的可读性、升级与维护以及模块化的要求越来越高,以方便多个工程师协同开发。 C51语言是近年来在国内外的51单片机开发中,普遍使用的一种程序设计语言。C51能直接对单片机硬件进行操作,既有高级语言的特点,又有汇编语言的特点,因此在单片机应用的程序设计中,得到非常广泛的使用。 可在Keil μVision3的开发环境中极为简便地进行操作。 Keil μVision3完全兼容先前的Keil μVision2版本。Keil公司目前已经推出了v7.0以上版本的C51编译器,较新的版本为Keil C51 v8.08a。 经常用到Keil C51和Keil μVision3两个术语。Keil C51一般简写为C51,指的是51单片机编程所用的C51语言;而Keil μVision3,可简写为μVision3,指的是用于51单片机的C51程序编写、调试的集成开发环境。 μVision3内部集成了源程序编辑器,并允许用户在编辑源文件时就可设置程序调试断点,便于在程序调试过程中快速 下面对表3-2中的各种存储区作以说明。 (1)DATA区。寻址是最快的,应该把经常使用的变量放在DATA区,但是DATA区的存储空间是有限的,DATA区除了包含程序变量外,还包含了堆栈和寄存器组。DATA区声明中的存储类型标识符为data,通常指片内RAM的128字节的内部数据存储的变量,可直接寻址。 声明举例如下: unsigned char data system_status=0; unsigned int data unit_id[8]; char data inp_string[20]; unsigned char idata system_status=0; unsigned int idata unit_id[8]; char idata inp_string[16]; float idata out_value; (4)PDATA区和XDATA区。PDATA区和XDATA区位于片外存储区,PDATA区和XDATA区声明中的存储类型标识符分别为pdata和xdata。 PDATA区只有256字节,仅指定256字节的外部数据存储区。但XDATA区最多可达64KB,对应的xdata存储类型标识符可以指定外部数据区64KB内的任何地址。 对PDATA区的寻址要比对XDATA区寻址快,因为对PDATA区 do { 循环体语句; } while(表达式); do-while语句的特点是先执行内嵌的循环体语句,再计算表达式,如果表达式的值为非0,则继续执行循环体语句,直到表达式的值为0时结束循环。 由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还是非0,循环体至少要被执行一次。 和while循环一样,在do-while循环体中,要有能使while后表达式的值变为0的操作,否则,循环会无限制地进行下去。根据经验do-while循环用的并不多,大多数的循环用while来实现会直观。 【例】实型数组sample存有10个采样值,编写程序段,要求返回其平均值(平均值滤波)。程序如下: float avg(float *sample) { float sum=0; char n=0; do for是C51的关键字,其后的括号中通常含有三个表达式,各表达式之间用“;”隔开。这三个表达式可以是任意形式的表达式,通常主要用于for循环的控制。紧跟在for(? )之后的循环体,在语法上要求是一条语句;若在循环体内需要多条语句,应该用大括号括起来组成复合语句。 for的执行过程如下: (1)计算“表达式1”,表达式1通常称为“初值设定表达式”。 (2)计算“表达式2”,表达式2通常称为“终值条件表达式”,若满足条件,转下一步,若不满足条件,则转步骤(5)。 本例的一个典型应用就是软件延时。、在程序的设计中,经常用到时间延迟,可用循环结构来实现,即循环执行指令,消磨一段已知的时间。AT89S51单片机指令的执行时间是靠一定数量的时钟周期来计时的,如果使用12MHz晶振,则12个时钟周期花费的时间为1μs。 【例】 编写一个延时1ms程序。 void delayms( unsigned char int j) { unsigned char i; while(j--) { for(i=0;i
您可能关注的文档
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良 第6章 思考和练习解答.doc
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良 目录.ppt
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良 项目式实验仿真50例目录.doc
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良单片机项目式教程仿真50例第1章 第1章 思考和练习解答.doc
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良单片机项目式教程仿真50例第4章 第4章 思考和练习解答.doc
- 单片机应用项目式教程——基于Keil和Proteus 教学课件 作者 张志良单片机项目式教程仿真50例第6章 第6章 思考和练习解答.doc
- 单片机应用与接口技术 教学课件 作者 周坚 等.ppt
- 单片机应用与调试 C语言版 教学课件 作者 王国明 Microsoft Word 项目1 1.pdf
- 单片机应用与调试 C语言版 教学课件 作者 王国明 Microsoft Word 项目1 2.pdf
- 单片机应用与调试 C语言版 教学课件 作者 王国明 Microsoft Word 项目1.pdf
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第4章 并行端口.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第5章 中断系统.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第6章 定时器计数器.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第7章 串行口.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第8章 扩展存储器.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第9章 扩展输入输出.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第10章 键盘显示器接口.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第11章 DA、AD转换的接口.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第12章 串行扩展.ppt
- 单片机原理及接口技术 C51编程 教学课件 作者 张毅刚 第13章 应用设计.ppt
最近下载
- 必修一 1.1质点与参考系.pptx VIP
- 网络设备配置与管理项目教程(华为eNSP模拟器版)全册电子课件汇总.pptx
- 2024年新人教版7年级上册英语全册课件(新版教材).pptx
- DM.05 ×× U9 ERP项目-项目日报-年月日.docx VIP
- DM.01 ×× U9 ERP项目-项目章程.pptx VIP
- (含六套期末试卷)七年级下册地理精品学案:第2课时复杂的气候.doc VIP
- DM.18 ×× U9 ERP项目-阶段汇报.pptx VIP
- DM.16.01 ××U9 ERP项目培训计划书.docx VIP
- 标准图集-03J601-2 木门窗(部品集成式).pdf VIP
- 2025年江苏省高考化学试卷真题(含答案及解析).pdf
文档评论(0)