单片机 c语言程序框架详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/*单片机avr 流水灯源程序文件名:led.c */

#include

void delay(uint time_c) //子函数,实现延时功能,void 表示此函数无返回值,delay 函数名,time_c 函数的参数-无符号的整形数值

{

int i,j; //变量声明

while(time_c--)

{

for (j=0;j<1200;j++)

{; }; //函数体内的语句以';'分号结尾,表示一条语句的结束,分号需要用英文标点输入

}

}

void main (void) //主函数

{ //程序的初始化

DDRA=0xFF; //DDRA -PA口的方向寄存器,1为输出,0为输入,PA的8个I/O口全部设为输出。

PORTA=0xFF; //PORTA -PA口的输出控制寄存器,1为输出高电平,0为输出低电平,此处,PA口全部输出高电平。

while(1) // 死循环

{

PORTA=0xFE; //PA口的第0位清0,点亮第一个灯

delay(500); // 延时

PORTA=0xFD; //点亮第二个灯

delay(500);

PORTA=0xFB; //点亮第三个灯

delay(500);

PORTA=0xF7; //点亮第四个灯

dealy(500);

PORTA=0xEF; //点亮第五个灯

dealy(500);

PORTA=0xDF; //点亮第六个灯

dealy(500);

PORTA=0xBF; //点亮第七个灯

delay(500);

PORTA=0x7F; //点亮第八个灯

delay(500);

}

}

/* 流水灯程序结束*/

-------------------------------------------------------------------------------------------------------------------------------

#include :#include c语言的文件包含指令,指的是在一个文件中包含另一个文件的全部内容,在这个源文件led.c中包含了头文件’iom16v.h'的全部内容,(c语言中源文件的扩展名'.c',头文件的扩展名为'.h'),此处iom16v.h 头文件定义了单片机ATmega16的内部寄存器参数,使用不同的单片机要用不同的头文件,例如:使用ATmega32 ,头文件需改为'iom32v.h' 。 中“<>"表示在系统默认的目录中搜索文件,若为"iom16v.h" 双引号表示在项目源文件所在的目录搜索文件。

void delay(unit time_c) { } ;为自定义的子函数,实现某一特定功能的函数,c语言函数的内容都放在{}中;delay(500)为子函数调用,实现延时功能,500为函数的实参,time_c 称为形式参数,单片机的运行速度非常快,如果不加延时,所有的灯看起来都是亮的,人眼无法分辨,可以增加,或减少延时的时间看看结果的变化。

void main(void)

..............

while(1) { .........};

}

main 为主函数,是每一个c语言程序中必须有的,也必须只能有一个。它是单片机程序运行开始的入口处,在main函数中都有一个while(1)死循环,程序将在while所包含的语句中周而复始的运行。

/*单片机avr 流水灯源程序文件名:led.c */ 在c语言中在 '/* 和 '*/' 之间的内容为程序的注释,方便程序的阅读,可以对多行进行注释,'//':只能进行单行注释。

常量:在程序运行过程中数值不变的数据。

变量:在程序运行过程中,其值可以改变的数据

在书写变量说明时,应注意以下几点:

1.允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。

2.最后一个变量名之后必须以“;”号结尾。

3.变量说明必须放在变量使用之前。一般放在函数体的开头部分。

标识符:用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、常量、数组等。一个标识符由字符串

数字,和下划线组成,第一个字符必须是字母或下划线。如: time_c, time12, 像12time,@ab,是错误的。

流水灯原理图

小企鹅diy科学探究学习网

更多文章转到:/wqb_lmkj/blog文章分类下的单片机

相关文档
最新文档