资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机应用技术项目二项目二 单片机控制单片机控制8 8位发光二极管位发光二极管单片机应用技术任务任务1 1:单片机控制发光二极管:单片机控制发光二极管排电阻+5V单片机应用技术任务任务1 1:单片机控制发光二极管:单片机控制发光二极管 从上图可看出,由于二极管的阳极已接上了从上图可看出,由于二极管的阳极已接上了+5V,+5V,所以只要在阴极接地(所以只要在阴极接地(0V0V)就可以发光。)就可以发光。由于阴极接的是由于阴极接的是P1P1口,只要口,只要P1P1口的某一位输出口的某一位输出二进制的二进制的0 0,对应的二极管就发光。,对应的二极管就发光。 当当P1=P1=0xF0xF0 0时,则时,则LED1LED1,LED2LED2,LED3LED3,LED4LED4亮,亮,只要执行程序:只要执行程序:#include/#include/包含头文件,该文件定义包含头文件,该文件定义了特殊功能寄存器了特殊功能寄存器void main()void main() / / 主函数主函数 / /花括号开头花括号开头P1=0xF0;P1=0xF0; / /P1P1(P1P1要大写要大写)口低)口低4 4位位LEDLED亮亮 单片机应用技术程序的编辑及下载程序的编辑及下载 程序要下载到单片中,一般要经过两个过程。程序要下载到单片中,一般要经过两个过程。 12单片机应用技术程序的编辑及编译程序的编辑及编译KEILKEIL软件使用软件使用 演示软件的使用,使用方法说明另附演示软件的使用,使用方法说明另附WORDWORD文件。文件。单片机应用技术修改程序修改程序单片机应用技术延时函数(程序)延时函数(程序)第一种方法:第一种方法:voidvoid delaydelay (unsigned(unsigned intint t)t) unsignedunsigned intint i;i;for(;t0;t-for(;t0;t- -)-) forfor (i=1;i124;i+);(i=1;i124;i+); 第二种方法:第二种方法:voidvoid delaydelay (unsigned(unsigned intint t)t) unsignedunsigned charchar i;i;while(t-while(t- -)-) forfor (i=0;i124;i+);(i=0;i124;i+); 单片机应用技术LED1LED1到到LED8LED8循环点亮(走马灯)循环点亮(走马灯)#include #include #define uchar #define uchar unsigned char unsigned char #define uint #define uint unsigned intunsigned intsbit P10=P10;sbit P10=P10;sbit 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 delay(unsigned int t) void delay(unsigned int t) uchar i; uchar i; while(t-) while(t-) 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;/LED1亮亮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);/调用延时函数,括号内的调用延时函数,括号内的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类型对类型对应应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亮亮 单片机应用技术直接用直接用1616进制数对进制数对P1P1口赋值口赋值 /主程序主程序( (主函数,整个程序中有且只有一个)主函数,整个程序中有且只有一个) void main() void main() while(1) while(1) P1= 0xfe;/LED0P1= 0xfe;/LED0亮亮delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 P1=0XFD;/LED1P1=0XFD;/LED1亮亮DelayDelay(600);/600);/调用延时函数,括号内的调用延时函数,括号内的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亮亮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);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应单片机应用技术P1=0XFF;/P1=0XFF;/全灭全灭delay(600);/delay(600);/调用延时函数,括号内的调用延时函数,括号内的600600要与要与uint xuint x类型对应类型对应 单片机应用技术修改程序修改程序LED8LED8到到LED1LED1循环点亮(走马灯)循环点亮(走马灯)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号