|
警告是这样的[warning] unknown #pragma interrput_handler_miao
程序是想在数码管前两位显示一个一分钟的计数器,但是数码管根本不走.
能帮我看看吗?程序好像真没问题哎,是不是编译器设置问题啊
#include<iom16v.h>
#include<macros.h>
#define uint unsigned int
#define uchar unsigned char
#pragma interrput_handler_miao:9
#pragma data:code
flash uchar table[10]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
uint num;
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<600;j++);
}
void show(uchar add,uchar date)
{
DDRD|=0xf0; //设置PD口高四位为输出模式,低四位模式不变
PORTD=BIT(add+3);//打开位选
DDRB=0xff;
PORTB=table[date];//段选
delay(5);
}
void init(void)
{
TCCR1B=0x04;
TCNT1H=0x85; //装初值,先写高位在写低位
TCNT1L=0xED; //读则相反
TIMSK|=BIT(2);
SREG|=BIT(7);
}
void miao(void)
{
num++;
if(num==60)
num=0;
TCNT1H=0x85;
TCNT1L=0xED;
}
void main(void)
{
uchar shi,ge;
num=0;
init();
while(1)
{
shi=num/10;
ge=num%10;
show(1,shi);
show(2,ge);
// show(3,2);
// show(4,3);
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|