项目二--单片机控制8位发光二极管_第1页
项目二--单片机控制8位发光二极管_第2页
项目二--单片机控制8位发光二极管_第3页
项目二--单片机控制8位发光二极管_第4页
项目二--单片机控制8位发光二极管_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、单 片 机 应 用 技 术 项目二项目二 单片机控制单片机控制8 8位发光二极管位发光二极管 1:单片机控制发光 二极管 2:单片机延时函数 (程序)编写 单 片 机 应 用 技 术 任务任务1 1:单片机控制发光二极管:单片机控制发光二极管 排 电 阻 +5V 单 片 机 应 用 技 术 任务任务1 1:单片机控制发光二极管:单片机控制发光二极管 从上图可看出,由于二极管的阳极已接上了从上图可看出,由于二极管的阳极已接上了 +5V,+5V,所以只要在阴极接地(所以只要在阴极接地(0V0V)就可以发光。)就可以发光。 由于阴极接的是由于阴极接的是P1P1口,只要口,只要P1P1口的某一位输出口

2、的某一位输出 二进制的二进制的0 0,对应的二极管就发光。,对应的二极管就发光。 当当P1=P1=0 xF0 xF0 0时,则时,则LED1LED1,LED2LED2,LED3LED3,LED4LED4亮,亮, 只要执行程序:只要执行程序: #include/#include/包含头文件,该文件定义包含头文件,该文件定义 了特殊功能寄存器了特殊功能寄存器 void main()void main() / / 主函数主函数 / /花括号开头花括号开头 P1=0 xF0;P1=0 xF0; / /P1P1(P1P1要大写要大写)口低)口低4 4位位LEDLED 亮亮 单 片 机 应 用 技 术 程

3、序的编辑及下载程序的编辑及下载 程序要下载到单片中,一般要经过两个过程。程序要下载到单片中,一般要经过两个过程。 用程序编辑软件将程序编辑并编译成功 (无错误),生成后缀(扩展名)为.HEX(十 六进制格式)或BIN(二进制格式)文件。 用专用设备将HEX(十六进制格式)或 BIN(二进制格式)文件,烧录(下载)到单 片机的程序存储器中。 1 2 单 片 机 应 用 技 术 程序的编辑及编译程序的编辑及编译KEILKEIL软件使用软件使用 演示软件的使用,使用方法说明另附演示软件的使用,使用方法说明另附 WORDWORD文件。文件。 单 片 机 应 用 技 术 修改程序修改程序 (1)修改程序

4、, 实现LED1,3, 5,7亮起来 (2)修改程序, 实现LED2,4, 6,8亮起来 单 片 机 应 用 技 术 延时函数(程序)延时函数(程序) 第一种方法:第一种方法: voidvoid delaydelay (unsigned(unsigned intint t)t) unsignedunsigned intint i i; ; for(;t0;t-for(;t0;t- -)-) forfor ( (i i=1;i124;i+);=1;i124;i+); 第二种方法:第二种方法: voidvoid delaydelay (unsigned(unsigned intint t)t) u

5、nsignedunsigned charchar i i; ; while(t-while(t- -)-) forfor ( (i i=0;i124;i+);=0;i124;i+); 单 片 机 应 用 技 术 LED1LED1到到LED8LED8循环点亮(走马灯)循环点亮(走马灯) #include #include #define uchar #define uchar unsigned char unsigned char #define uint #define uint unsigned intunsigned int sbit P10=P10;sbit P10=P10; sbit

6、P11=P11;sbit P11=P11; sbit P12=P12;sbit P12=P12; sbit P13=P13;sbit P13=P13; sbit P14=P14;sbit P14=P14; sbit P15=P15;sbit P15=P15; sbit P16=P16;sbit P16=P16; sbit P17=P17;sbit P17=P17; 单 片 机 应 用 技 术 /延时子程序延时子程序 void void delay(unsigneddelay(unsigned intint t) t) uchar i; uchar i; while(t-) while(t-)

7、for(i=0;i120;i+); for(i=0;i120;i+); 单 片 机 应 用 技 术 /主程序主程序( (主函数,整个程序中有且只有一个)主函数,整个程序中有且只有一个) void main() void main() while(1) /while(1) /一直执行以下程序一直执行以下程序 P10=0;/LED0P10=0;/LED0亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P10=1;/LED0P10=1;/LED0灭灭 P11=0;/LED1P11=0;/L

8、ED1亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P11=1;/LED1P11=1;/LED1灭灭 P12=0;/LED2P12=0;/LED2亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 单 片 机 应 用 技 术 P12=1;/LED2P12=1;/LED2灭灭 P13=0;/LED3P13=0;/LED3亮亮 delay(600);/delay(600);/调用

9、延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对类型对 应应 P13=1;/LED3P13=1;/LED3灭灭 P14=0;/LED4P14=0;/LED4亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对类型对 应应 P14=1;/LED4P14=1;/LED4灭灭 P15=0;/LED5P15=0;/LED5亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型

10、对类型对 应应 P15=1;/LED5P15=1;/LED5灭灭 P16=0;/LED6P16=0;/LED6亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对类型对 应应 单 片 机 应 用 技 术 P16=1;/LED6P16=1;/LED6灭灭 P17=0;/LED7P17=0;/LED7亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600 要与要与uint xuint x类型对应类型对应 P17=1;/LED7P17=1;/LED7

11、亮亮 单 片 机 应 用 技 术 直接用直接用1616进制数对进制数对P1P1口赋值口赋值 /主程序主程序( (主函数,整个程序中有且只有一个)主函数,整个程序中有且只有一个) void main() void main() while(1) while(1) P1= 0 xfe;/LED0P1= 0 xfe;/LED0亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XFD;/LED1P1=0XFD;/LED1亮亮 DelayDelay(600);/600);/调用延时函数,

12、括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XFB;/LED2P1=0XFB;/LED2亮亮 DelayDelay(600);/600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 单 片 机 应 用 技 术 P1=0XF7;/LED3P1=0XF7;/LED3亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XEF;/LED4P1=0XEF;/LED4亮亮

13、delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XDF;/LED5P1=0XDF;/LED5亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XBF;/LED6P1=0XBF;/LED6亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0X7F;/LED7P1=0X7F;/LED7亮亮 delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号

温馨提示

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

评论

0/150

提交评论