blueice2011 发表于 2011-4-2 18:04:15

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);
        }
}

huayuliang 发表于 2011-4-2 18:38:03

就是熔丝设置。。。你烧写的时候不管这些么?

你的实际频率是多少?

fudaqiang 发表于 2011-4-15 09:30:46

看一下M16的datasheet吧,里面有讲熔丝设置的!或者百度一下“M16的熔丝设置”!!资料一大把!

huofugui 发表于 2011-7-12 13:03:52

谢谢
页: [1]
查看完整版本: Proteus里面的ATmega16属性里面的内容