标题: stc15单片机led闪烁设计 [打印本页]

作者: cj23436    时间: 2020-3-2 13:10
标题: stc15单片机led闪烁设计
15单片机led闪烁设计
  1. /*#include "STC15F2K60S2.h"
  2. #include "intrins.h"

  3.   
  4. void Delay200ms()                //@11.0592MHz
  5. {
  6.         unsigned char i, j, k;

  7.         _nop_();
  8.         _nop_();
  9.         i = 9;
  10.         j = 104;
  11.         k = 139;
  12.         do
  13.         {
  14.                 do
  15.                 {
  16.                         while (--k);
  17.                 } while (--j);
  18.         } while (--i);
  19. }


  20. void main()
  21. {           
  22.      {
  23.           P2 =         ((P2&0x1f|0xa0));
  24.           P0 = 0x10;
  25.           P2 &=0x1f;
  26.             }
  27.           while(1)
  28.           {
  29.             P2 = ((P2&0x1f)|0x80);
  30.                   P0 =0x00;
  31.                      P2 &= 0x1f;
  32.             Delay200ms();
  33.                
  34.                   P2 = ((P2&0x1f|0x80));
  35.                  P0 =0xff;
  36.                 P2 &= 0x1f;
  37.                
  38.             Delay200ms();


  39.           }

  40. }
  41. */
  42. #include "STC15F2K60S2.h"
  43. #include "intrins.h"
  44. #define uchar unsigned char
  45.                 void Timer0Init(void);
  46. uchar cj;
  47. bit f=0;
  48. void main()
  49. {           
  50.       Timer0Init();
  51.           P2 =         ((P2&0x1f|0xa0));
  52.           P0 = 0x10;
  53.           P2 &=0x1f;
  54.             
  55.           while(1)
  56.           {

  57.           }

  58. }
  59. void Timer0Init(void)                //5毫秒@11.0592MHz
  60. {
  61.         AUXR |= 0x80;                //定时器时钟1T模式
  62.         TMOD &= 0xF0;                //设置定时器模式
  63.         TL0 = 0x00;                //设置定时初值
  64.         TH0 = 0x28;                //设置定时初值
  65.         TF0 = 0;                //清除TF0标志
  66.         TR0 = 1;                //定时器0开始计时
  67.         EA        = 1;
  68.         ET0        = 1;
  69. }

  70. void time0() interrupt 1
  71. {
  72.         cj++;
  73.         if(cj==200)
  74.         {
  75.           cj=0;
  76.         if(f==0)
  77.         {f=1;P2 = ((P2&0x1f)|0x80);P0 =0x00;P2 &= 0x1f;}
  78.                 else
  79.                         if(f==1)
  80.                         {f=0;P2 = ((P2&0x1f)|0x80);P0 =0xff;P2 &= 0x1f;}
  81.        
  82.         }
  83. }
复制代码


led闪烁.zip

26.79 KB, 下载次数: 4, 下载积分: 黑币 -5






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