51单片机 LED点阵的呼吸灯效果

本文介绍了如何使用51单片机STC 89C52RC来实现LED点阵的呼吸灯效果,详细阐述了实现过程和技术要点。
摘要由CSDN通过智能技术生成

STC 89C52RC

#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

ulong periodCnt = 0;  //PWM周期计数值
uchar highRH = 0;  //高电平重载值的高字节
uchar highRL = 0;  //高电平重载值的低字节
uchar lowRH  = 0;  //低电平重载值的高字节
uchar lowRL  = 0;  //低电平重载值的低字节
uchar T1RH = 0;    //T1重载值的高字节
uchar T1RL = 0;    //T1重载值的低字节

uchar code dutyCycle[13] = {  //占空比调整表
	5, 18, 30, 41, 51, 60, 68, 75, 81, 86, 90, 93, 95
};
uchar code image[8] = {
    0x81,0x81,0xE7,0xC3,0xC3,0xE7,0x81,0x81
};
uchar hRHi[13], hRLi[13], lRHi[13], lRLi[13];

void configTmr1(uint ms);
void configPWM(uint fr, uchar dc);
void calcRldVal(uchar idx); 

void main() {
	uchar i;

    EA = 1;     //开总中断
    ADDR3 = 0;	//选中LED点阵
	configPWM(1000, dutyCycle[0]); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值