LED循环点亮控制 (1).ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目二LED循环点亮控制单片机应用技术单片机应用技术项目二LED循环点亮控制单片机应用技术项目二LED循环点亮控制单片机应用技术项目二LED循环点亮控制工作模块三LED循环点亮控制工作任务使用STC89C52单片机,P1口引脚接8个LED的阴极,通过程序按一定的规律向P1口的引脚输出低电平和高电平,控制八只发光二极管循环点亮。LED控制电路按照工作任务要求,LED循环点亮电路是由单片机最小应用系统和8个LED电路构成。8个LED采用共阳极接法,LED的阳极通过220Ω限流电阻后联接到5V电源上,P1口接LED的阴极。P1口的引脚输出低电平时对应的LED点亮,输出高电平时对应的LED熄灭。LED循环点亮功能实现分析由于LED循环点亮电路的LED是采用共阳极接法,可以通过“0”和“1”来控制LED的亮和灭。例如在P1口输出0xfe),D1被点亮在P1口输出0x7f),D8被点亮LED循环点亮功能实现分析LED循环点亮功能实现分析temp=0xfe;temp=1;temp=temp+1;P1=temp;LED循环点亮功能实现分析temp=0x01;P1=~temp;temp=temp1;0000000111111110000000101111101规律:左移1位再取反temp取反给P1左移temp取反给P1LED循环点亮功能实现分析实现过程分析先使所有的LED都熄灭;如:P1=0xff;//十六进制全1,熄灭所有LED初始控制码为:0x01。如:temp=0x01;//第一位为1,即初始控制码为0x01然后将控制码取反后,从P1口输出,点亮相应的LED;如:P1=~temp; //temp值取反送P1口延时一段时间。如:Delay();控制码左移一位,即可获得下一个控制码;如:temp=temp1; //temp值左移一位,获得下一个控制码for循环LED循环点亮控制程序设计unsignedchari;unsignedchartemp;P1=0xff;//十六进制全1,熄灭所有LEDwhile(1){temp=0x01;//第一位为1,即初始控制码为0x01for(i=0;i8;i++){P1=~temp; //temp值取反送P1口Delay();temp=temp1;//temp值左移一位,获得下一个控制码}}信息与智能工程系.郭志勇程序编程说明:(1)“#includeAT89X52.H”语句是一个“文件包含”处理,是将AT89X52.H头文件的内容全部包含进来。这里程序中包含AT89X52.H头文件的目的是为了要使用P1^0这个符号,即通知C编译器,程序中所写的P1^0是指STC89C52单片机的P1.0引脚。(2)P1.0不能直接使用,这里用“sbitLED=P1^0;”就是定义用符号LED来表示P1.0引脚,如果你也可以起P1_0或P10一类的名字。(3)“LED=0;”语句是使P1.0引脚输出低电平,点亮发光二极管LED。(4)“while(1);”语句的表达式是1,也就是说while语句的表达式始终为真,进入死循环,LED始终点亮。(5)KeilC支持C++风格的注释,可以用“//”进行注释,也可以用/*……*/进行注释。*程序编程说明:(1)“#includeAT89X52.H”语句是一个“文件包含”处理,是将AT89X52.H头文件的内容全部包含进来。这里程序中包含AT89X52.H头文件的目的是为了要使用P1^0这个符号,即通知C编译器,程序中所写的P1^0是指STC89C52单片机的P1.0引脚。(2)P1.0不能直接使用,这里用“sbitLED=P1^0;”就是定义用符号LED来表示P1.0引脚,如果你也可以起P1_0或P10一类的

文档评论(0)

学海无涯苦做舟 + 关注
实名认证
内容提供者

职业教育

1亿VIP精品文档

相关文档