硬件测验程序:
/************ 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;i
}
/*************延时子程序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显现程序
}
}