89C51单片机定时器控制的流水灯

/***************************************************
Copyright: 2014-02-11.version1.0
File name: timer.c
Description: 定时中断控制的流水灯
Author: lxl
Version: version1.0
Date: 2014.02.11
History: 无
****************************************************/
#include <reg51.h>
char a=0xff;
int num=0;
/*************************************************
Function: init()
Description: 定时中断初始化功能
Calls: 无
Called By: main()
Table Accessed: 无
Table Updated: 无
Input: void
Output: 无
Return: void
Others: 无
*************************************************/
void init(void)
{
 TMOD=0x01;
 EA=1;
 ET0=1; 
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 TR0=1;
}
/*************************************************
Function: main()
Description: 程序的主函数
Calls: init()
Called By: 无
Table Accessed: 无
Table Updated: 无
Input: void
Output: 无
Return: void
Others: 无
*************************************************/
void main(void)
{
 init();
 while(1)
 {
  P1=a;
 }
}
void tr() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 num++;
 if(num==20)
 {
  num=0;
  a--;
  if(a==0x00)
   a=0xff;
 } 
}

转载于:https://www.cnblogs.com/luxiaolai/p/3545009.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值