打印
[AVR单片机]

菜鸟问题,懂的帮看看。

[复制链接]
1461|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ll_211314|  楼主 | 2009-11-25 11:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式



图发上来,不知道大家能不能看清。
程序是想实现led的动态显示,除了display()函数,剩下的都是初始化,display()函数中端口的清零和置位主要是为spi提供时序的,现在的问题是led显示的码不对,如果把display()函数中的SPDR = num_code[pp]语句的pp改成固定的数字(如0-9),就能显示正确,如果改成变量,就显示错误。



#include <iom16v.h>
#include <macros.h>
unsigned char light =0xFF;
unsigned char ocr_t = 0;
unsigned char num_code[20]={0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEF};
unsigned char datadisp[5] = {0X01,0X02,0X03,0X04};
int pp;
void delay_ms(void)
{
unsigned int cnt;
for(cnt=0;cnt<255;cnt++);
}
void port_init(void)
{
PORTA = 0x00;
DDRA  = 0x00;
PORTB = 0x00;
DDRB  = 0xFF;
PORTC = 0x00; //m103 output only
DDRC  = 0x00;
PORTD = 0xff;
DDRD  = 0xFF;
}
void timer2_init(void)
{
TCCR2 = 0x00; //stop
ASSR  = 0x00; //set async mode
TCNT2 = 0x01; //setup
OCR2  = 0xFF;
TCCR2 = 0x6A; //start
}

void spi_init(void)
{
SPCR = 0x50; //setup SPI
SPSR = 0x00; //setup SPI
}

void display(void)
{
unsigned char q=0,j;

for(pp=0;pp<4;pp++)
   {
     OCR2 = 0X00;
   //  p = datadisp;
  
  PORTB |= BIT(pp);
  PORTB &= ~BIT(6);
  delay_ms();
  PORTB |= BIT(6);
  SPDR = num_code[pp];
  while(!(SPSR & 0X80));
  PORTB &= ~BIT(4);
  delay_ms();
  PORTB |= BIT(4);
  OCR2 =0X3f;
  for(j=0;j<10;j++)
  delay_ms();
  PORTB &= BIT(pp);
  delay_ms();
  
}
  
  
}

void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
//uart0_init();
spi_init();
timer2_init();
MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void main(void)
{
  init_devices();
  
  while(1)
      
   {  

  display();
  
  }
}

相关帖子

沙发
328500920| | 2009-11-25 23:13 | 只看该作者
定义数组的时候用
#pragma data :code
const  unsigned char num_code[20]={0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEF};

使用特权

评论回复
板凳
ll_211314|  楼主 | 2009-12-3 09:03 | 只看该作者
已解决,软件和硬件都有点小问题。

使用特权

评论回复
地板
wangwo| | 2009-12-3 22:25 | 只看该作者
问得很长

使用特权

评论回复
5
suoma| | 2009-12-4 21:24 | 只看该作者
MARK

使用特权

评论回复
6
love_life| | 2009-12-5 00:43 | 只看该作者
郁闷,该死的网速,图片看不见

使用特权

评论回复
7
wangwo| | 2009-12-6 18:52 | 只看该作者
网速会影响看图片?我这里网速也不是很好,但看图片一般没什么问题

使用特权

评论回复
8
laslison| | 2009-12-7 22:30 | 只看该作者
:L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

38

帖子

0

粉丝