首先是硬件连线:PB----8位数据口
PA0--- 复位信号RESET
PA1---片选CS
PA2----寄存器选择信号RS
PA3---写信号WR
PA4---读信号RD
文件名:Type.h,主要定义一些数据变量的别名
/****************************************Copyright (c)**************************************************
** Southeast University
**--------------File Info-------------------------------------------------------------------------------
** File Name: Type.h
** Last modified Date: 2012-03-23
** Last Version: 1.0
** Description: 定义数据类型别名
**------------------------------------------------------------------------------------------------------
** Created By: JianGe
** Created date: 2012-03-23
** Version: 1.0
**------------------------------------------------------------------------------------------------------ */
#ifndef __TYPE_H__
#define __TYPE_H__
/********************************************************************************************************
* Date types(Compiler specific) 数据类型(和编译器相关) *
********************************************************************************************************/
typedef unsigned char uint8; // Unsigned 8 bit quantity 无符号8位整型变量
typedef unsigned char uchar; // Unsigned 8 bit quantity 无符号8位整型变量
typedef signed char int8; // Signed 8 bit quantity 有符号8位整型变量
typedef unsigned short uint16; // Unsigned 16 bit quantity 无符号16位整型变量
typedef signed short int16; // Signed 16 bit quantity 有符号16位整型变量
typedef unsigned int uint32; // Unsigned 32 bit quantity 无符号32位整型变量
typedef unsigned int uint; // Unsigned 32 bit quantity 无符号32位整型变量
typedef signed int int32; // Signed 32 bit quantity 有符号32位整型变量
typedef float fp32; // Single precision floating point 单精度浮点数(32位长度)
typedef double fp64; // Double precision floating point 双精度浮点数(64位长度)
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#endif
#endif
/*********************************************************************************************************
* End Of File *
*********************************************************************************************************/
文件名:USART.h,串口操作函数的声明
/****************************************Copyright (c)**************************************************
** Southeast University
**--------------File Info-------------------------------------------------------------------------------
** File Name: USART.h
** Last modified Date: 2012-03-23
** Last Version: 1.0
** Description: 串口函数声明
**------------------------------------------------------------------------------------------------------
** Created By: JianGe
** Created date: 2012-03-23
** Version: 1.0
**------------------------------------------------------------------------------------------------------ */
#ifndef _USART_H
#define _USART_H
#include "Type.h"
#define BAUD 9600 //波特率设置
#define CRYSTAL 4000000 //11059200 //晶振频率
#define BAUD_SET (uint16)((uint32)CRYSTAL/(16*(uint32)BAUD)-1)
#define BAUD_H (uint8)(BAUD_SET>>8)
#define BAUD_L (uint8)(BAUD_SET)
#define FE_EER BIT(FE) //帧接收错误
#define PE_EER BIT(PE) //校验错误
#define DATA_OVER BIT(DOR) //接收溢出错误
#define UDR_EMPTY BIT(UDRE) //数据寄存器空
#define USAT_TX_EN UCSRB|=BIT(TXEN) //使能USART发送
#define USAT_TX_NO_EN UCSRB&=~BIT(TXEN)
#define USAT_RX_EN UCSRB|=BIT(RXEN) //使能USART接收
#define USAT_RX_NO_EN UCSRB&=~BIT(RXEN)
extern void USART_Init(void);
extern void Uart_Transmit(unsigned char i);
extern unsigned char Uart_Receive( void );
#endif
/*********************************************************************************************************
* End Of File *
*********************************************************************************************************/
文件名:Delay.h,延时函数的声明
/****************************************Copyright (c)**************************************************
** Southeast University
**--------------File Info-------------------------------------------------------------------------------
** File Name: Delay.h
** Last modified Date: 2012-03-23
** Last Version: 1.0
** Description: 延时函数声明
**------------------------------------------------------------------------------------------------------
** Created By: JianGe
** Created date: 2012-03-23
** Version: 1.0
**------------------------------------------------------------------------------------------------------ */
# ifndef DELAY_H_H_
# define DELAY_H_H_
# define DELAY_US asm("nop"); asm("nop"); asm("nop"); asm("nop");\
asm("nop"); asm("nop"); asm("nop"); asm("nop");
extern void Delay_nUS(unsigned int n);
extern void Delay_MS(void);
extern void Delay_nMS(unsigned int n);
# endif
/*********************************************************************************************************
* End Of File *
*********************************************************************************************************/
文件名:LCDDriver.h,LCD驱动函数和应用函数的声明
/****************************************Copyright (c)**************************************************
** Southeast University
**--------------File Info-------------------------------------------------------------------------------
** File Name: LCD_Driver.h
** Last modified Date: 2012-03-24
** Last Version: 1.0
** Description: LCD驱动函数声明
**------------------------------------------------------------------------------------------------------
** Created By: JianGe
** Created date: 2012-03-24
** Version: 1.0
**------------------------------------------------------------------------------------------------------ */
# ifndef LCD_DRIVER_H_H_
# define LCD_DRIVER_H_H_
# include "Type.h"
# include <iom16v.h>
extern void LCD_Port_Init(void);
extern void LCD_WriteCmd(uint32 regID);
extern void LCD_WriteData(uint32 data);
extern void LCD_WriteReg(uint32 regID, uint32 regData);
extern unsigned int LCD_ReadReg(uint32 regID);
extern void LCD_ILI9325_Init(void);
extern void LCD_SetWindow(unsigned int x0, unsigned int x1, unsigned int y0, unsigned int y1);
extern void LCD_ClearScreen(unsigned int color);
extern void LCD_Fill_Rectangle(unsigned int x0,unsigned int y0,unsigned int x1,unsigned int y1,unsigned int color);
extern unsigned char Get_CharOffset(unsigned char char_data);
extern void Set_CharWindow(unsigned int lineNum, unsigned