Proteus里面的ATmega16属性里面的内容
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_627771Y6UWO4.JPG(原文件名:AT16.JPG)
Proteus里面的ATmega16属性里面的这些内容都是什么设置啊?我写了一个程序利用T/C1的中断溢出来在数码管上显示秒数。在学习板上能实现,在Proteus里面就不能实现。为什么啊?
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_627772WN38UL.JPG
(原文件名:AT1.JPG)
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_627773WTQPAX.JPG
(原文件名:AT2.JPG)
下面是程序:
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar num=0;
#pragma interrupt_handler miao:9
#pragma data:code
const uint display[] =
{
0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X00
};
//===================================
//延时函数
//===================================
void delay(uint ms)
{
uint a,b;
for(a=0;a<ms;a++)
for(b=0;b<1141;b++);
}
//===================================
//读秒函数
//===================================
void miao()
{
if(num==60)
num=0;
num++;
TCNT1H=0X85;
TCNT1L=0XED;
}
//===================================
// 数码管显示函数
//===================================
void led_show(uint data,uint um)
{
PORTB=~BIT(um);
PORTA=0X10;
delay(1);
PORTA=0X00;
PORTB=display;
PORTA=0X08;
delay(1);
PORTA=0X00;
}
void main()
{
DDRB=0XFF;
DDRA|=0X18;
TCCR1B=0X04;
TCNT1H=0X85;
TCNT1L=0XED;
TIMSK|=BIT(2);
SREG|=BIT(7);
while(1)
{
led_show(num/10,0);
led_show(num%10,1);
}
} 就是熔丝设置。。。你烧写的时候不管这些么?
你的实际频率是多少? 看一下M16的datasheet吧,里面有讲熔丝设置的!或者百度一下“M16的熔丝设置”!!资料一大把! 谢谢
页:
[1]