- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课题名称 第二章 第2节 C51语言程序设计 计划
学时 2课时 内容分析 知识点: C51语言基本结构(循环)函数与中断子程序、预处理命令、存储器形式与模式、数组与指针 教学目标及要求 掌握51系列单片机的循环结构、函数与中断、预处理命令和存储器模式、数组与指针。 重点及措施 教学重点: 函数、中断、数组与指针
难点及措施 教学难点:数组与指针 教学方式 教学采用教师课堂讲授为主,使用多媒体教学方式,学生讨论、交流与提问。 教
学
过
程
【讲授内容】
2.5.3 循环语句
在程序设计中经常会遇到需要重复执行的操作,如延时、累加、累乘、数据传递等,利用循环结构来处理各类重复操作既简单又方便。
C51 语言中提供了3种语句来实现循环结构,分别是for 语句、while 语句和do-while 语句。其中,for 称为计数循环,while语句称为“当”型循环,do-while 语句又称为“直到”型循环。
for 语句的典型应用形式:
for( 循环变量初值; 循环条件 ; 循环变量增值 )
循环体
例题5:编程实现下列功能:开机后,全部LED不亮;按下K1键,D0闪烁;松开K1键,D0停止闪烁并熄灭。
#includereg51.h
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
void delay(int x)
{
int i;
for(i=0;ix;i++);
}
void main()
{
int i;
P0=0xff;
while(1)
{
if(K1==0)
for(i=0;i10;i++)
{LED1=0;
delay(10000);
LED1=1;
delay(10000);
}
else LED1=1;
}
}
例题6:编程实现下列功能:开机后,四个LED灯循环点亮。
#includereg51.h
#includeintrins.h
void delay(int x)
{
int i;
for(i=0;ix;i++);
}
void main()
{
int i,x;
x=0xfe;
P0=x;
for (i=0;i4;i++)
{
delay(20000);
x=_crol_(x,1);
P0=x;
}
while(1);
}
2.6 函数与中断子程序
引入:模块化程序设计
在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。把复杂任务细分成多个问题的过程,就叫程序的模块化。模块化程序设计是靠设计函数和调用函数实现的。
C51程序由基本语句和函数组成,每个函数可完成相对独立的任务,依一定的规则调用这些函数,就组成了解决某个特定问题的程序。
C51语言程序是由一个个函数构成的。所谓函数,是指
可以被其他程序调用的具有特定功能的一段相对独立的程序。引入函数的主要目的有两个:一是为了解决代码的重复;二是结构化模块化编程的需要。
2.6.1 函数
用C51语言设计程序,就是编写函数。在构成C51语言设计程序的若干个函数中,有且仅有一个是主函数main( )。因为C51 语言程序的执行都是从main( ) 函数开始的,也是在main( ) 函数中结束整个程序运行的,其他函数只有在执行main( ) 函数的过程中被调用才能被执行。
同变量一样,函数也必须先定义后使用。所有函数在定义时都是相互独立的,一个函数中不能再定义其他函数,但可以相互调用。函数调用的一般规则是:主函数可以调用其他普通函数;普通函数之间可以相互调用;普通函数不能调用主函数。
从用户使用的角度看,函数可以分成两大类:标准库函数和用户自定义函数。
1、无返回值、不带参数的函数的写法
【例】写出一个完整的调用子函数的例子,用单片机控制一个LED灯闪烁发光。用P1口的第一个引脚控制一个LED灯,1秒钟闪烁一次。
#includereg51.h //头文件
#define uint unsigned int //宏定义
sbit D1=P1^0; //声明单片机P1口的第一位
uint x,y;
void main()
{
文档评论(0)