找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1070|回复: 0
打印 上一主题 下一主题
收起左侧

stc15单片机led闪烁设计

[复制链接]
跳转到指定楼层
楼主
ID:701095 发表于 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, 下载次数: 4, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表