单片机C语言程序设计:TIMER0与TIMER1控制条形LED

嵌入式设计应用

128人已加入

描述

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

单片机C语言程序设计:TIMER0与TIMER1控制条形LED

TIMER0与TIMER1控制条形LED硬件原理图

C语言

TIMER0与TIMER1控制条形LED程序如下:

/* 名称:TIMER0 与 TIMER1 控制条形 LED

说明:定时器 T0 定时控制上一组条形 LED,滚动速度较快

定时器 T1 定时控制下一组条形 LED,滚动速度较慢

*/

#include《reg51.h》

#include《intrins.h》

#define uchar unsigned char

#define uint unsigned int

uchar tc0=0,tc1=0;

//主程序

void main()

{

P0=0xfe;

P2=0xfe;

TMOD=0x11; //定时器 0、定时器1 均工作于方式 1

TH0=(65536-15000)/256; //定时器 0:15ms

TL0=(65536-15000)%256;

TH1=(65536-50000)/256; //定时器 1:50ms

TL1=(65536-50000)%256;

IE=0x8a;

TR0=1; //启动定时器

TR1=1;

while(1);

//T0 中断函数

void Time0() interrupt 1

{

TH0=(65536-15000)/256; //恢复定时器0初值

TL0=(65536-15000)%256;

if(++tc0==10) //150ms 转换状态

{

tc0=0;

P0=_crol_(P0,1);

}

}

//T1 中断函数

void Time1() interrupt 3

{

TH0=(65536-50000)/256; //恢复定时器 1 初值

TL0=(65536-50000)%256;

if(++tc1==10) //500ms 转换状态

{

tc1=0;

P2=_crol_(P2,1);

}

}

      

         扩展程序设计:单片机C语言程序设计之TIMER0控制流水灯

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分