单片机新手教学教案-含流程图及程序(1).doc_第1页
单片机新手教学教案-含流程图及程序(1).doc_第2页
单片机新手教学教案-含流程图及程序(1).doc_第3页
单片机新手教学教案-含流程图及程序(1).doc_第4页
单片机新手教学教案-含流程图及程序(1).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/赋值实例:用单片机控制第一个灯亮#include /包含51单片机寄存器定义的头文件void main(void)程序开始让第一个灯亮 P0=0xfe; /P0=1111 1110B,即P1.0输出低电平 /闪烁实例:用单片机控制一个灯闪烁#include /包含单片机寄存器的头文件/*函数功能:延时一段时间*/void delay(void) /两个void意思分别为无需返回值,没有参数传递 unsigned int i; /定义无符号整数,最大取值范围65535 for(i=0;i20000;i+) /做20000次空什么也不做,等待一个机器周期/*程序开始让第一个灯亮让第一个灯灭延时函数功能:主函数 (C语言规定必须有也只能有1个主函数)*/void main(void) while(1) /无限循环 P0=0xfe; /P1=1111 1110B, P1.0输出低电平 delay(); /延时一段时间 P0=0xff; /P1=1111 1111B, P1.0输出高电平 delay(); /延时一段时间 /流水实例1:使用P0口流水点亮8位LED #include /包含单片机寄存器的头文件/*函数功能:延时一段时间*/让第五个灯亮让第四个灯亮让第三个灯亮让第二个灯亮让第一个灯亮让第六个灯亮让第七个灯亮让第八个灯亮程序开始延时void delay(void) unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+); /*函数功能:主函数 *void main(void) while(1) P0=0xfe; /第一个灯亮 delay(); /调用延时函数 P0=0xfd; /第二个灯亮 delay(); /调用延时函数P0=0xfb; /第三个灯亮 delay(); /调用延时函数P0=0xf7; /第四个灯亮 delay(); /调用延时函数P0=0xef; /第五个灯亮 delay(); /调用延时函数P0=0xdf; /第六个灯亮 delay(); /调用延时函数P0=0xbf; /第七个灯亮 delay(); /调用延时函数 P0=0x7f; /第八个灯亮 delay(); /调用延时函数 /流水实例2:用自增运算控制P0口8位LED流水花样#include /包含单片机寄存器的头文件/*函数功能:延时一段时间*/void delay(void) unsigned int i; for(i=0;i20000;i+) ;/*函数功能:主函数*/void main(void) unsigned char i; for(i=0;i255;i+) /注意i的值不能超过255 P0=i; /将i的值送P0口 delay(); /调用延时函数/流水实例3:用右移运算流水点亮P1口8位LED#include /包含单片机寄存器的头文件/*函数功能:延时一段时间*/void delay(void) unsigned int n; for(n=0;n30000;n+);/*函数功能:主函数*/void main(void) unsigned char i; while(1) P0=0xff;delay();for(i=0;i1; /每次循环P1的各二进位右移1位,高位补0delay(); /调用延时函数 /开关实例:用if语句控制P0口8位LED的点亮效果#include /包含单片机寄存器的头文件sbit S1=P14; /将S1位定义为P1.4sbit S2=P15; /将S2位定义为P1.5/*函数功能:主函数*/void main(void) while(1) if(S1=0) /如果按键S1按下 P0=0x0f; /P0口高四位LED点亮 if(S2=0) /如果按键S2按下 P0=0xf0; /P0口低四位LED点亮 程序开始低四位灯亮高四位灯亮开关2按下开关1按下? /开关实例3:用swtich语句的控制P0口8位LED的点亮状态#include /包含单片机寄存器的头文件sbit S1=P14; /将S1位定义为P1.4/*函数功能:延时一段时间*/void delay(void) unsigned int n; for(n=0;n10000;n+); /*函数功能:主函数*/void main(void) unsigned char i; i=0; /将i初始化为0 while(1)if(S1=0) /如果S1键按下delay(); /延时一段时间 if(S1=0) /如果再次检测到S1键按下 i+; /i自增1 if(i=9) /如果i=9,重新将其置为1 i=1; switch(i) /使用多分支选择语句 case 1: P0=0xfe; /第一个LED亮break;case 2: P0=0xfd; /第二个LED亮 break;case 3:P0=0xfb; /第三个LED亮 break;case 4:P0=0xf7; /第四个LED亮 break;case 5:P0=0xef; /第五个LED亮 break;case 6:P0=0xdf; /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论