調試液晶電波拉皮

電路板已經焊接好了.
就利用現在放假的時間開始調試了.因爲我是第一次使用ATMEGA64這片單片機,還有我又是第一次採用JTAG仿真,和下載程序.(是阿莫電子買的COM口AVR JTAG仿真器,謝謝阿莫了)
因爲之前還未用過單片機,和仿真器.所以我調試步驟如下,
1)我先寫一個簡單的程序測試我的仿真器是怎樣使用的,單片機的熔絲位需要點樣設置,於是寫了一個蜂鳴器響三下的小程序如下:
#include<iom64v.h>
#include<macros.h>
#define sbipd7 asm("SBI 0x12,7")
#define cbipd7 asm("CBI 0x12,7")
#define uchar unsigned char
#define uint unsigned int
/*    微秒級延時程序     */
void delay_us(int time)
  {    
     do 
   {time--;}
     while (time>1);
  }  
/*         毫秒級延時程序   */ 
void delay_ms(unsigned int time)
  {
   while(time!=0)
      {  
     delay_us(1000);
     time--;
    }
  }

void beep(void)
{
 sbipd7;
 delay_ms(300);
 cbipd7;
}
void port_init(void)
{
 PORTB = 0x08;
 DDRB  = 0xff;
 PORTC = 0x00; //m103 output only
 DDRC  = 0xfe;
 PORTD = 0x00;
 DDRD  = 0xff;
 PORTA=0X00;
 DDRA=0XFF;
}
//call this routine to initialize all peripherals
void init_devices(void)
{
 //stop errant interrupts until set up
 CLI(); //disable all interrupts
 XDIV  = 0x00; //xtal divider
 XMCRA = 0x00; //external memory
 port_init();
 MCUCR = 0x00;
 EICRA = 0x00; //extended ext ints
 EICRB = 0x00; //extended ext ints
 EIMSK = 0x00;
 TIMSK = 0x00; //timer interrupt sources
 ETIMSK = 0x00; //extended timer interrupt sources
 //SEI(); //re-enable interrupts
 //all peripherals are now initialized
}
 
void main(void)
{
 init_devices();
 beep();
 delay_ms(300);
 beep();
 delay_ms(300);
 beep();
 while(1);
}
我連接上JTAG接口後,給板子通電,先通入AC6V電源,我用萬用表看VCC的電壓,4V,然後慢慢調高輸入電壓到9伏,過程序必須看着,VCC 的電壓變化,當超過5伏時一定要檢查板的線路.檢查7805是否正常.
通電後打開AVRSTUDIO4.11
 選擇,電波拉皮.COF文件,再選擇,JTAG ICE ---ATMEGA64 點FINISH就會自動進入仿真界面,
AVRSTUDIO 帶有STK500,ISP下載功能.先點STOP DEBUGING 再點TOOLS--PROGRAM AVR--CONNECT.. 選JTAG ICE ,PORT 爲ATUO 再點CONNECT..連接.就會出現ISP的下載框.就可以設置下載文件,EEP下載文件,FUSE,加密位,電壓值,內部RC校正字和自動燒錄,設置好後點自動燒錄的STAR就可以燒錄文件了.
AVR JTAG仿真器沒什麼大問題,就是程序調試出現了子程序不能返回,我使用軟件仿真是可以的,但用JTAG仿真或下載都不行,搞了好久,又懷疑是JTAG仿真器的問題,又懷疑是硬件的問題,後來才發現是設置FUSE 的問題.
設置FUSE時 一定要把去除M103兼容模式,選擇普通模式,不然在調試會出現子程序無法返回.我也調試了好久才發現這個問題.我是選擇外部晶振16MHZ.
設好了FUSE 後就JTAG仿真 或者下載都正常了..............
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章