www.pudn.com > usbcode.rar > MainLoop.c


/*++ 
 
Module Name: 
 
         MainLoop.c 
 
Abstract: 
 
         Header file related to D12 module 
 
Environment: 
 
        ICCAVR 6.29 
 
Revision History: 
 
        04/23/2004      chenchi   created 
 
--*/ 
/******************************************************************/ 
#include "io8515v.h" 
#include  
#include "d12.h" 
/************************************************************ 
**工程名称:U盘固件程序开发 
**编译器类型及版本:ICCAVR 6.26C 
**日期:2004.4.30 
**创建人:陈驰 
**所属单位:湖南大学计算机与通信学院 
 
**芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0 
**时钟频率:8MHZ 
 
**函数功能:主函数 
**函数输入参数及说明:无 
 
**函数返回值:无 
**在本函数以外定义的变量:D12_COMMAND,D12_DATA 
**调用的函数说明: 
  D12_ISR(); 
  中断处理函数 
   
**修改人:陈驰 
**修改日期:2004.4.30 
**修改说明:创建 
*************************************************************/ 
void main(void) 
{ 
	//芯片初始化 
	PORTC = 0xff; 
	DDRC  = 0xff;//保持状态 
 
	DDRD  = 0xea; //1110 1010关闭引脚上拉电阻,使正确读取引脚输入 
	PORTD = 0xd8; //1101 1000 
	DDRA  = 0xff; //关闭上拉电阻,使正确读写外部SRAM 
	 
	MCUCR = 0xc5;//1100 0101      
	DDRC  = 0x00;//打开状态 
	D12_COMMAND = 0xf3; 
	cwait; 
	D12_DATA = 0x06;//0000 0110 设置模式0 
	cwait; 
	D12_COMMAND = 0xd0; 
	cwait; 
	D12_DATA = 0x80;//设置地址 0 使能 
	cwait; 
	D12_COMMAND = 0xf3;//连接主机 
	cwait; 
	D12_DATA = 0x16;//0001 0110 
	cwait; 
	D12_DATA = 0x05;//初始化频率 8MHz 48/(N+1) 
	csram; 
	 
	TCCR1B = 0xc0;//启动ICP上升沿出入捕获 
	 
	UCR  = 0x00; //disable while setting baud rate 
	UBRR = 25; //set baud rate 19.2K 波特率 
	UCR  = 0xd8; //enable 0001 1101 
	while(1) 
	{ 
		if(!D12_int_n)//判断D12中断,低电平触发 
		{ 
			D12_ISR();//中断服务程序 
		} 
	} 
}