标题: 花样流水灯的设计, 含源码加原理图 [打印本页]

作者: 牧鸯日上    时间: 2016-5-22 01:19
标题: 花样流水灯的设计, 含源码加原理图
在单片机的P2口上接8只LED组成流水灯。使用一个按键开关来控制流水灯的变化。开关断开是,流水灯是左右循环闪烁,当开关按下时,流水灯进行交替闪烁。开关断开恢复左右循环闪烁。很简单的一个程序,适合刚开始学习单片机做流水灯的新手学习。
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. void delay(int z) //延时程序
  4. {
  5. int x,y;
  6. for(x=0;x<=z;x++)
  7. for(y=0;y<=255;y++);
  8. }
  9. void init_tx()        //中断初始化函数
  10. {
  11. EA=1;           //开中断
  12. EX1=1;           //允许外部中断1中断请求
  13. IT1=0;           //外部中断1触发方式为跳沿触发方式
  14. IP=0X00;  //设置中断优先级
  15. }
  16. void main()
  17. {
  18. unsigned char LED;
  19. init_tx();
  20. LED=0x00; //初始化LED灯
  21. P2=LED;
  22. while(1)
  23. {
  24.   unsigned char i,j;
  25.   LED=0x80;
  26.   P2= LED;                        //点亮一个LED灯
  27.   delay(100);
  28.   for(i=0;i<=6;i++)          //右移流水灯模块
  29.   {
  30.    LED=_cror_(LED,1);
  31.    P2=LED;
  32.    delay(100);
  33.   }
  34.   LED=0X01;
  35.   P2= LED;         //点亮最后一个灯
  36.   delay(100);
  37.   for(j=0;j<=6;j++)                 //左移流水灯模块
  38.   {
  39.    LED=_crol_(LED,1);
  40.    P2= LED;
  41.    delay(100);
  42.   }       
  43. }
  44. }
  45. void tx1() interrupt 2          //外部中断1处理程序
  46. {  
  47.   unsigned char temp;
  48.   temp=P2;                                  //保护现场
  49.   P2=0xaa;                                  //点亮4个LED灯
  50.   delay(200);
  51.   P2=0x55;                                  //点亮另外4个LED灯
  52.   delay(200);
  53.   P2=temp;                                  //返回现场
  54. }                 

复制代码


花样流水灯.rar

28.05 KB, 下载次数: 18, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1