سلام
این برنامه چندتا خطا داره که من نتونستم پیداشون کنم،(کدویژن خطا میگیره):
	
							
						
					این برنامه چندتا خطا داره که من نتونستم پیداشون کنم،(کدویژن خطا میگیره):
کد:
	
	
Chip type        : ATmega32A
Program type      : Application
AVR Core Clock frequency: 16.000000 MHz
Memory model      : Small
External RAM size    : 0
Data Stack size     : 512
*****************************************************/
#include <mega32a.h>
#include <delay.h>
#asm
  .equ_lcd_port=0x1B
#endasm
#include <lcd.h>
#include <stdio.h>
#define columns 40
#define offset 50
#define space  6
#define SPEED  5
#define NOP   #asm("nop")
#define DATA  PORTA.0
#define CLOCK  PORTA.1
#define STROBE PORTA.2
     
while (1)
   {
   // Place your code here 
   
     const char font[]= {
     0x00,0x00,0x00,0x00,0x00,// space
     0X7F,0x09,0x19,0x29,0x46,// R 
     0X7F,0X49,0X49,0X49,0X41,// E 
     0X61,0X51,0X49,0X45,0X43,// Z
     0X7E,0X11,0X11,0X11,0X7E,// A
     0X42,0X61,0X51,0X49,0X46,// 2
     0X3E,0X51,0X49,0X45,0X3E,// 0
     0X00,0X42,0X7F,0X40,0X00,// 1
     0X18,0X14,0X12,0X7F,0X10,// 4
     };
      
     void scan(char negative);
     void load(char *str);
     void effect();
     
     char text[]="REZA 2014";
     char buffer[1000];
     char display[columns];
     int n;
     void main(void)
     {
      char s;
      DDRA=0XFF;
      load(text);
      while(1)
      {
       for(s=0;s<SPEED;s++)
       scan(0);
      effect();
      }
     }
     //--------------------
     void load(char *str)
     {
      int FontPosition,i,j=0;
      while(*str != 0)
      {
       FontPosition=(int)((*str++)-32)*5;
       for(i=0;i<5;i++)
        buffer[j+i]=font[FontPosition+i];
       j+=space;
       }
     } 
     //----------------------
     void effect()
     {
       register char i;
       for(i=0;i<columns;i++)
        display[i]=display[i+1];
        display[columns-1]=buffer[n];
        n++;
        if(n==(sizeof(text)*5)+offset)n=0;
     }
     //--------------------------
     void scan(char negative)
     {
       char i,j,data;
       for(j=0;j<8;j++){
        STROBE=0;
        CLOCK=1;
        for(i=columns;i>0;i--){
         data=display[i-1];
         if(negative)
          data=~display[i-1];
         data=data>>j;
         DATA=data & 0x01;
         CLOCK=0;
         NOP
         NOP
         CLOCK=1;
       }
      for(i=0;i<8;i++){
      DATA=0;
      if(i==j)
       DATA=1;
      CLOCK=0;
      NOP
      NOP
      CLOCK=1;
      }
      STROBE=1;
      NOP
      NOP
      STROBE=0;
      }
     }
     }
     }



 oo:
oo:
							
						







دیدگاه