HR7P153 SOP-16三个数码管显示,共阴极。
单片机源程序如下:
#include
#include
#define u8 unsigned char
#define u16 unsigned int
u16 i,a=0;
u8 const SEG7[10]={0x77,0x06,0xb3,0x97,0xc6,0xd5,0xf5,0x07,0xf7,0xd7};
u8 const ACT[3]={0xfb,0xf7,0xef,};
/****************/
void Ram_Clr(void) //ram全清
{
__asm
{
CLR IAAL;
CLR IAAH;
CLR IAD;
INC IAAL,1;
JBS IAAL,6;
GOTO $-3;
}
}
/*****************/
void delay (u16 k)
{
u16 i,j;
for(i=0;i
{
for(j=0;j<100;j++)
{;}
}
}
/***************/
void display(void)
{
PA=SEG7[a%10];
PB=ACT[0];
delay(2);
PA=SEG7[(a%100)/10];
PB=ACT[1];
delay(2);
PA=SEG7[(a/100)%10];
PB=ACT[2];
delay(2);
}
/**************************/
void main()
{
Ram_Clr(); //RAM初始化
OSCP = 0x55; //时钟控制写保护解锁
OSCC = 0xf0; //8MHZ
while(!SW_HS); //等待高速时钟切换完成
ANS =0xE7; //设置成数字输出
PBT=0x00; //PBT设置成输入状态
PAT=0x08; ////PAT设置成输入状态
N_PAU=0x00; //上弱拉
N_PBD=0x00; //下弱拉
while(1)
{
a++;
for(i=250;i>0;i--)
{
display();
}
if(a==100)
{
a=0;
}
}
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』