2022年单片机新手教学教案含流程图及程序 .pdf

上传人:Q****o 文档编号:12286432 上传时间:2022-04-24 格式:PDF 页数:7 大小:258.40KB
返回 下载 相关 举报
2022年单片机新手教学教案含流程图及程序 .pdf_第1页
第1页 / 共7页
2022年单片机新手教学教案含流程图及程序 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年单片机新手教学教案含流程图及程序 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机新手教学教案含流程图及程序 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学习必备欢迎下载/ 赋值实例:用单片机控制第一个灯亮#include / 包含 51单片机寄存器定义的头文件void main(void) P0=0 xfe; /P0=1111 1110B ,即 P1.0输出低电平 / 闪烁实例:用单片机控制一个灯闪烁#include / 包含单片机寄存器的头文件/* 函数功能:延时一段时间*/ void delay(void) / 两个 void意思分别为无需返回值, 没有参数传递 unsigned int i; / 定义无符号整数,最大取值范围65535 for(i=0;i20000;i+) / 做 20000 次空什么也不做,等待一个机器周期 /* 函数

2、功能:主函数(C语言规定必须有也只能有1 个主函数)*/ void main(void) while(1) / 无限循环 P0=0 xfe; /P1=1111 1110B, P1.0输出低电平delay(); / 延时一段时间P0=0 xff; /P1=1111 1111B, P1.0输出高电平delay(); / 延时一段时间 程序开始让第一个灯亮程序开始让第一个灯亮让第一个灯灭延时精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 7 页 - - - - - - - - - - 学习必备欢迎下

3、载/ 流水实例 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=0 xfe; / 第一个灯亮delay(); / 调用延时函数P0=0 xfd; / 第二个灯亮delay(); / 调用延时函数P0=0 xfb; / 第三个灯亮delay(); / 调用延时函数P0=0 xf7; / 第四个灯亮de

4、lay(); / 调用延时函数P0=0 xef; / 第五个灯亮delay(); / 调用延时函数P0=0 xdf; / 第六个灯亮delay(); / 调用延时函数P0=0 xbf; / 第七个灯亮delay(); / 调用延时函数P0=0 x7f; / 第八个灯亮delay(); / 调用延时函数 让第五个灯亮让第四个灯亮让第三个灯亮让第二个灯亮让第一个灯亮让第六个灯亮让第七个灯亮让第八个灯亮程序开始延时精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 7 页 - - - - - - - -

5、 - - 学习必备欢迎下载/ 流水实例 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 / 包含单片

6、机寄存器的头文件/* 函数功能:延时一段时间*/ void delay(void) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 7 页 - - - - - - - - - - 学习必备欢迎下载unsigned int n; for(n=0;n30000;n+); /* 函数功能:主函数*/ void main(void) unsigned char i; while(1) P0=0 xff; delay(); for(i=0;i1; / 每次循环 P1的各二进位右移 1 位,高位补 0 d

7、elay(); / 调用延时函数 / 开关实例:用if 语句控制 P0 口 8 位 LED 的点亮效果#include / 包含单片机寄存器的头文件sbit S1=P14; / 将 S1位定义为 P1.4 sbit S2=P15; / 将 S2位定义为 P1.5 /* 函数功能:主函数*/ void main(void) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 7 页 - - - - - - - - - - 学习必备欢迎下载 while(1) if(S1=0) / 如果按键 S1按下P

8、0=0 x0f; /P0 口高四位 LED点亮if(S2=0) / 如果按键 S2按下P0=0 xf0; /P0 口低四位 LED点亮 / 开关实例 3: 用 swtich 语句的控制 P0 口 8 位 LED 的点亮状态#include / 包含单片机寄存器的头文件sbit S1=P14; / 将 S1位定义为 P1.4 /* 函数功能:延时一段时间*/ void delay(void) unsigned int n; for(n=0;n10000;n+); /* 函数功能:主函数*/ 开关 1 按下 ? 开关 2 按下高四位灯亮低四位灯亮程序开始精品资料 - - - 欢迎下载 - - -

9、- - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 7 页 - - - - - - - - - - 学习必备欢迎下载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=0 xfe; / 第一个 LED亮bre

10、ak; case 2: P0=0 xfd; / 第二个 LED亮break; case 3:P0=0 xfb; / 第三个 LED亮break; case 4:P0=0 xf7; / 第四个 LED亮break; case 5:P0=0 xef; / 第五个 LED亮break; case 6:P0=0 xdf; / 第六个 LED亮break; case 7:P0=0 xbf; / 第七个 LED亮break; case 8:P0=0 x7f; / 第八个 LED亮break; default: / 缺省值,关闭所有LED P0=0 xff; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 7 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 7 页 - - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁