微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM8S103F---RGB LED彩灯条

STM8S103F---RGB LED彩灯条

时间:11-18 来源:互联网 点击:

PCB图

硬件测试程序:

/************ STM8S103F学习 ***********************/
/*芯片型号:STM8S103F2PB6 */
/*功能描述:控制RGB LED PWM调光 */
/*作者: ClimberWin */
/*编写时间:2012.5.08 */
/*功能: 控制RGB LED PWM调光 */
/*内部晶振 */
/**************************************************/
#include

#define uint unsigned int
#define uchar unsigned char

#define R_LED PC_ODR_ODR6 //5050 红色LED
#define G_LED PC_ODR_ODR5 //5050 绿色LED
#define B_LED PC_ODR_ODR7 //5050 蓝色LED

void delayms(unsigned int count);//延时程序
void IO_config(void); //端口配置
void led_display(void); //LED显示程序
/***************延时子程序start****************/
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;ifor(j=0;j<120;j++);
}
/*************延时子程序end*****************/

/***********端口配置******************/
void IO_config(void)
{
PC_DDR = 0xE0;
PC_CR1 = 0xe0; // 将PC5 PC6 PC7设置成推挽输出
PC_CR2 = 0x00; // 将PC5设置成推挽输出

}
/***********************************/

/***********LED显示程序*************/
void led_display(void)
{
R_LED=1;
delayms(5000); // 延时
R_LED=0;
delayms(5000); // 延时

G_LED=1;
delayms(5000); // 延时
G_LED=0;
delayms(5000); // 延时

B_LED=1;
delayms(5000); // 延时
B_LED=0;
delayms(5000); // 延时

R_LED=1;
G_LED=1;
delayms(5000); // 延时
R_LED=0;
G_LED=0;
delayms(5000); // 延时

R_LED=1;
B_LED=1;
delayms(5000); // 延时
R_LED=0;
B_LED=0;
delayms(5000); // 延时

B_LED=1;
G_LED=1;
delayms(5000); // 延时
B_LED=0;
G_LED=0;
delayms(5000); // 延时

R_LED=1;
G_LED=1;
B_LED=1;
delayms(5000); // 延时
R_LED=0;
G_LED=0;
B_LED=0;
delayms(5000); // 延时

}
/***********************************/

/***********主程序******************/
main()
{
IO_config(); //端口配置
while(1)
{
led_display(); //LED显示程序
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top