找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1267|回復: 0
打印 上一主題 下一主題
收起左側

stc15單片機led閃爍設計

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:701095 發(fā)表于 2020-3-2 13:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
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, 下載次數(shù): 4, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表