|
这是一段8s208r.h的直驱程序,换103F2后,PC1口只有5个口,PC3.PC4.PC5.PC6.PC7,若用PD1,PD2,PD3替换PB0.PB1.PB2,要根据库函数,重写显示函数吗?我电话(微信)18151144529,C语言似懂非懂,资料不是很好找,多指教。
#include"stm8s208r.h"
/*------函数声明------”/
void delay(unsigned int delay_time);
void display_SMG(void);
/*SMG_table 共阳数码管段选编码*/
unsigned char
SMG_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/*对应显示数字 0,1,2,3,4,5,6,7,8,9*/
main()
{ /*端口初始化------*/}
PB_DDR=OXFF; //定义PB口为输出,用于控制数码管段选
PB_ODR=0XFF; //定义PB初始输出为高,数码管初始不亮
PB_CR1=0XFF; //定义推挽输出
PB_CR2=0XFF; //定义快速输出
/*---------------------------------*/
while(1)
{
display_SMG(); //用一个数码管显示数字
}
}
/*数码管显示函数*/
void display_SMG(void)
{
unsigned int i;
/*用一个数码管显示0-9 */
for(i=0;i<10;i++)
{
PB_ORR=SMG_table;
delay(50000);
}
}
/*延时函数*/
void delay(unsigned int delay_time)
{
while(delay_time!=0)
{
delay_time--;
}
} |
|