通过单片机课程设计,熟练掌握c语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。通过定时器控制4只led滚动闪烁系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
单片机c语言程序设计之定时器控制4个led滚动闪烁
单片机定时器控制4个led滚动闪烁原理图
单片机定时器控制4个led滚动闪烁程序设计
/* 名称:定时器控制 4 个 led 滚动闪烁
说明:4 只 led 在定时器控制下滚动闪烁。
*/
#include《reg51.h》
#define uchar unsigned char
#define uint unsigned int
sbit b1=p0^0;
sbit g1=p0^1;
sbit r1=p0^2;
sbit y1=p0^3;
uint i,j,k;
//主程序
void main()
{
i=j=k=0;
p0=0xff;
tmod=0x02; //定时器 0 工作方式 2
th0=256-200; //200us 定时
tl0=256-200;
ie=0x82;
tr0=1; //启动定时器
}while(1);
//t0 中断函数
void led_flash_and_scroll() interrupt 1
{
if(++k《35) return; //定时中断若干次后执行闪烁
k=0;
switch(i)
{
case 0: b1=~b1;break;
case 1: g1=~g1;break;
case 2: r1=~r1;break;
case 3: y1=~y1;break;
default:i=0;
}
if(++j《300) return; //每次闪烁持续一段时间
j=0;
p0=0xff;关闭显示
i++; //切换到下一个 led
}
推荐阅读:单片机c语言程序设计之定时器控制单只led
BGA焊接台在智能家居行业的关键作用是什么?
英伟达进军比特币和以太坊市场,促进数字货币市场繁荣
元器件真假难辨?攻城狮应有的火眼金睛
部分太阳能专业术语(中英对照)
微功耗运算放大器驱动8通道18位同步采样ADC
单片机C语言程序设计之定时器控制4个LED滚动闪烁
三星家电新品发布会,重磅推出BESPOKE HOME系列智能家居
为ADC添加一个带噪声滤波器的数控PGA
一千座5G工厂的花苞
中国移动A股成功上市 正式在上交所登录上市
拆解并分析Model S Plaid的计算平台
电源开发技术讲解之关于H桥的理解与应用
分享六大秘诀来克服RF信号路径上常会碰到的问题
智能门锁拐点已至,你不得不知的六大发展趋势
锂电池热保护器的主要特点和优势
Alpha Wire推出了创新的EcoWire Plus
汽车防盗系统中的模块电路设计—电路精选(19)
夏普暗示将与iPhone生产线手牵手 照顾苹果对OLED的需求
海洋光学将光谱检测推向新高度
全热交换器工作原理_全热交换器和新风系统区别