⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainline.c

📁 用AT91RM9200控制信利的LCD
💻 C
📖 第 1 页 / 共 2 页
字号:
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : main.c
//* Object              : Basic twi example. Write a byte into EEPROM and read it
//* Creation            : NL   25/11/02
//*
//*----------------------------------------------------------------------------
#include "main.h"

#define UINT8          unsigned char
#define UINT16         unsigned short int
#define UINT32         unsigned int 

#define AT91_SYS                ((AT91PS_SYS) AT91C_BASE_SYS)
#define LcdCom         *(volatile unsigned char *)0x50000004
#define LcdData        *(volatile unsigned char *)0x50000000   
 
//at91rm9200的总线配置 
#define AT91C_SM_RWHOLD   (0 << 28)
#define AT91C_SM_RWSETUP  (0 << 24)
#define AT91C_SM_ACESS    (0 << 16)               /* orig = 0 */
#define AT91C_SM_DRP      (0 << 15)               /* orig = 0 */
#define AT91C_SM_DBW      (2 << 13)               /* orig = 0 */
#define AT91C_SM_BAT      (0 << 12)               /* orig = 0 */
#define AT91C_SM_TDF      (0 << 8)                /* orig = 0 */
#define AT91C_SM_WSEN     (1 << 7)                /* orig = 1 */
#define AT91C_SM_NWS      (15)                    /* orig = 0 */


//汉字编码
#define FONT_CHAR(value)
#define FONT_UNICODE_VAL(value) (value),


typedef struct _unicode_font{
	UINT16 value;       // 内码
	UINT8  data[32];    //16*16字模点阵
}Unicode;

typedef struct Test_unicode_font{
	UINT16 value;       //内码
	UINT8 data[24];     //16*12字模点阵 对应于宋体9号即小五号
}TUnicode;

typedef struct Char_unicode_font{
	UINT16 value;       //内码
	UINT8  data[16];    //8*16字模 对应于12号字母
}CUnicode;

#define CHAR_SIZE  16
CUnicode TestChar[CHAR_SIZE] = 
{
	{	FONT_CHAR("0")
		FONT_UNICODE_VAL(0x0000)
		{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,
		 0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00}	
	},
	
	{	FONT_CHAR("1")
		FONT_UNICODE_VAL(0x0001)
		{0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,
		 0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00}	
	},
	
	{	FONT_CHAR("2")
		FONT_UNICODE_VAL(0x0002)
		{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,
		 0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00}	
	},
	
	{	FONT_CHAR("3")
		FONT_UNICODE_VAL(0x0003)
		{0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,
		 0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00}	
	},

	{	FONT_CHAR("4")
		FONT_UNICODE_VAL(0x0004)
		{0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,
		 0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00}	
	},


	{	FONT_CHAR("5")
		FONT_UNICODE_VAL(0x0005)
		{0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,
		 0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00}	
	},


	{	FONT_CHAR("6")
		FONT_UNICODE_VAL(0x0006)
		{0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,
		 0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00}	
	},


	{	FONT_CHAR("7")
		FONT_UNICODE_VAL(0x0007)
		{0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,
		 0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00}	
	},


	{	FONT_CHAR("8")
		FONT_UNICODE_VAL(0x0008)
		{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,
		 0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00}	
	},


	{	FONT_CHAR("9")
		FONT_UNICODE_VAL(0x0009)
		{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,
		 0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00}	
	},


	{	FONT_CHAR(".")
		FONT_UNICODE_VAL(0x000A)
		{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		 0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00}	
	},

	{	FONT_CHAR(":")
		FONT_UNICODE_VAL(0x000B)
		{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,
		 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00}	
	},

	{	FONT_CHAR("+")
		FONT_UNICODE_VAL(0x000C)
		{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,
		 0xFE,0x10,0x10,0x10,0x10,0x00,0x00,0x00}	
	},	
	
	{	FONT_CHAR("-")
 		FONT_UNICODE_VAL(0x000D)
		{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		 0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00}	
	},	

	{	FONT_CHAR("V")
		FONT_UNICODE_VAL(0x000E)
		{0x00,0x00,0x00,0xE7,0x42,0x42,0x44,0x24,
		 0x24,0x28,0x28,0x18,0x10,0x10,0x00,0x00}	
	},
	
	{	FONT_CHAR(" ")
		FONT_UNICODE_VAL(0x000F)
		{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}	
	}

};


#define TEST_SIZE    30
TUnicode TestCode[TEST_SIZE] = 
{
	{	FONT_CHAR("电")
		FONT_UNICODE_VAL(0x0001)
		{0x04,0x00,0x04,0x40,0x7F,0xE0,0x44,0x40,
		 0x7F,0xC0,0x44,0x40,0x44,0x40,0x7F,0xC0,
		 0x44,0x00,0x04,0x20,0x03,0xE0,0x00,0x00}	
	},
	
	{	FONT_CHAR("压")
		FONT_UNICODE_VAL(0x0002)
		{0x7F,0xE0,0x40,0x00,0x44,0x00,0x44,0x00,
		 0x44,0x00,0x5F,0xC0,0x45,0x00,0x44,0x80,
		 0x44,0x40,0x84,0x00,0xBF,0xE0,0x00,0x00}	
	},
	
	{	FONT_CHAR("时")
		FONT_UNICODE_VAL(0x0003)
		{0x00,0x80,0xF0,0x80,0x9F,0xE0,0x90,0x80,
		 0x94,0x80,0xF2,0x80,0x92,0x80,0x90,0x80,
		 0xF0,0x80,0x90,0x80,0x03,0x80,0x00,0x00}	
	},
	
	{	FONT_CHAR("间")
		FONT_UNICODE_VAL(0x0004)
		{0x4F,0xC0,0x20,0x40,0x80,0x40,0x9F,0x40,
		 0x91,0x40,0x9F,0x40,0x91,0x40,0x91,0x40,
		 0x9F,0x40,0x80,0x40,0x80,0xC0,0x00,0x00}	
	},
	
	{	FONT_CHAR("山")
		FONT_UNICODE_VAL(0x0005)
		{0x04,0x00,0x04,0x00,0x04,0x00,0x44,0x40,
		 0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,
		 0x44,0x40,0x7F,0xC0,0x00,0x40,0x00,0x00}	
	},
	
	{	FONT_CHAR("东")
		FONT_UNICODE_VAL(0x0006)
		{0x04,0x00,0xFF,0xE0,0x08,0x00,0x14,0x00,
		 0x24,0x00,0x7F,0xC0,0x05,0x00,0x14,0x80,
		 0x24,0x40,0xC4,0x20,0x0C,0x00,0x00,0x00}	
	},
	
	{	FONT_CHAR("省")
		FONT_UNICODE_VAL(0x0007)
		{0x04,0x80,0x14,0x40,0x25,0x20,0xC2,0x00,
		 0x0F,0x80,0x30,0x80,0xDF,0x80,0x10,0x80,
		 0x1F,0x80,0x10,0x80,0x1F,0x80,0x00,0x00}	
	},
	
	{	FONT_CHAR("科")
		FONT_UNICODE_VAL(0x0008)
		{0x18,0x40,0xE2,0x40,0x21,0x40,0xF8,0x40,
		 0x22,0x40,0x71,0x40,0x68,0x60,0xA7,0xC0,
		 0xA0,0x40,0x20,0x40,0x20,0x40,0x00,0x00}	
	},
	
	{	FONT_CHAR("学")
		FONT_UNICODE_VAL(0x0009)
		{0x28,0x80,0x14,0x80,0xFF,0xE0,0x80,0x20,
		 0xBF,0x40,0x02,0x00,0x04,0x00,0xFF,0xE0,
		 0x04,0x00,0x04,0x00,0x1C,0x00,0x00,0x00}	
	},
	
	{	FONT_CHAR("院")
		FONT_UNICODE_VAL(0x000A)
		{0xF1,0x00,0x9F,0xE0,0xA8,0x20,0xA7,0xC0,
		 0x90,0x00,0x9F,0xE0,0x92,0x80,0xF2,0x80,
		 0x82,0xA0,0x84,0xA0,0x98,0xE0,0x00,0x00}	
	},
	
	{	FONT_CHAR("自")
		FONT_UNICODE_VAL(0x000B)
		{0x04,0x00,0x3F,0xC0,0x20,0x40,0x20,0x40,
		 0x3F,0xC0,0x20,0x40,0x20,0x40,0x3F,0xC0,
		 0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x00}	
	},
	
	{	FONT_CHAR("动")
		FONT_UNICODE_VAL(0x000C)
		{0x01,0x00,0xF9,0x00,0x01,0x00,0x03,0xE0,
		 0xFD,0x20,0x21,0x20,0x51,0x20,0x89,0x20,
		 0xFA,0x20,0x84,0x40,0x09,0xC0,0x00,0x00}	
	},
	
	{	FONT_CHAR("化")
		FONT_UNICODE_VAL(0x000D)
		{0x12,0x00,0x12,0x00,0x22,0x40,0x22,0x40,
		 0x62,0x80,0xA3,0x00,0x26,0x00,0x3A,0x00,
		 0x22,0x20,0x22,0x20,0x23,0xE0,0x00,0x00}	
	},
	
	{	FONT_CHAR("研")
		FONT_UNICODE_VAL(0x000E)
		{0x07,0xE0,0xF2,0x40,0x42,0x40,0x42,0x40,
		 0x72,0x40,0x57,0xE0,0xD2,0x40,0x52,0x40,
		 0x72,0x40,0x04,0x40,0x18,0x40,0x00,0x00}	
	},
	
	{	FONT_CHAR("究")
		FONT_UNICODE_VAL(0x000F)
		{0x04,0x00,0xFF,0xE0,0x91,0x20,0x20,0x80,
		 0xC8,0x40,0x3F,0x00,0x09,0x00,0x09,0x00,
		 0x11,0x20,0x21,0x20,0xC1,0xE0,0x00,0x00}	
	},
	
	{	FONT_CHAR("所")
		FONT_UNICODE_VAL(0x0010)
		{0x18,0x60,0x63,0x80,0x42,0x00,0x7A,0x00,
		 0x4B,0xE0,0x4A,0x40,0x7A,0x40,0x44,0x40,
		 0x44,0x40,0x88,0x40,0x90,0x40,0x00,0x00}	
	},
	
	{	FONT_CHAR("采")
		FONT_UNICODE_VAL(0x0011)
		{0x07,0xC0,0x7C,0x40,0x44,0x80,0x21,0x00,
		 0x04,0x00,0xFF,0xE0,0x0E,0x00,0x15,0x00,
		 0x24,0x80,0x44,0x40,0x84,0x20,0x00,0x00}	
	},
		
	{	FONT_CHAR("样")
		FONT_UNICODE_VAL(0x0012)
		{0x24,0x40,0x22,0x80,0xFF,0xE0,0x21,0x00,
		 0x27,0xC0,0x71,0x00,0xA1,0x00,0x2F,0xE0,
		 0x21,0x00,0x21,0x00,0x21,0x00,0x00,0x00}	
	},

	{	FONT_CHAR("实")
		FONT_UNICODE_VAL(0x0013)
		{0x04,0x00,0x7F,0xE0,0x40,0x20,0x92,0x40,
		 0x0A,0x00,0x22,0x00,0x12,0x00,0xFF,0xE0,
		 0x05,0x00,0x08,0x80,0x70,0x40,0x00,0x00}	
	},

	{	FONT_CHAR("显")
		FONT_UNICODE_VAL(0x0014)
		{0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,
		 0x3F,0x80,0x00,0x00,0x4A,0x40,0x2A,0x40,
		 0x2A,0x80,0x0B,0x00,0xFF,0xE0,0x00,0x00}	
	},

	{	FONT_CHAR("示")
		FONT_UNICODE_VAL(0x0015)
		{0x00,0x80,0x7F,0xC0,0x00,0x00,0x00,0x00,
		 0xFF,0xE0,0x04,0x00,0x14,0x80,0x24,0x40,
		 0x44,0x20,0x84,0x20,0x1C,0x00,0x00,0x00}	
	},

	{	FONT_CHAR("曲")
		FONT_UNICODE_VAL(0x0016)
		{0x09,0x00,0x09,0x00,0x7F,0xE0,0x49,0x20,
		 0x49,0x20,0x49,0x20,0x7F,0xE0,0x49,0x20,
		 0x49,0x20,0x49,0x20,0x7F,0xE0,0x00,0x00}	
	},

	{	FONT_CHAR("线")
		FONT_UNICODE_VAL(0x0017)
		{0x22,0x80,0x22,0x40,0x52,0x60,0x97,0x80,
		 0xE2,0x60,0x4F,0x80,0xB2,0x40,0xC2,0x80,
		 0x31,0x20,0xC6,0xA0,0x18,0x60,0x00,0x00}	
	}

};

Unicode TextCode[CHAR_SIZE] =
{
	{	FONT_CHAR("时")
	 	FONT_UNICODE_VAL(0x0001)
		{0x00,0x10,0x00,0x10,0x7C,0x10,0x44,0x10,
	 	 0x47,0xFE,0x44,0x10,0x7C,0x10,0x45,0x10,
	 	 0x44,0x90,0x44,0x90,0x7C,0x10,0x00,0x10,
	 	 0x00,0x10,0x00,0x10,0x00,0x50,0x00,0x20}
	},
	
	{   FONT_CHAR("间")
		FONT_UNICODE_VAL(0x0002)
		{0x20,0x00,0x13,0xFC,0x10,0x04,0x40,0x04,
	 	 0x47,0xE4,0x44,0x24,0x44,0x24,0x47,0xE4,
	 	 0x44,0x24,0x44,0x24,0x47,0xE4,0x40,0x04,
	  	 0x40,0x04,0x40,0x04,0x40,0x14,0x40,0x08}
	},

	{	FONT_CHAR("电")
		FONT_UNICODE_VAL(0x0003)
		{0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,
	 	 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
	 	 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
	 	 0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00}
	},
	
	{	FONT_CHAR("压")
		FONT_UNICODE_VAL(0x0004)
		{0x00,0x00,0x3F,0xFE,0x20,0x00,0x20,0x80,
	 	 0x20,0x80,0x20,0x88,0x2F,0xFC,0x20,0x80,
	 	 0x20,0xA0,0x20,0x90,0x20,0x98,0x40,0x90,
	 	 0x40,0x80,0xBF,0xFE,0x00,0x00,0x00,0x00}
	},

	{	FONT_CHAR("采")
		FONT_UNICODE_VAL(0x0005)
		{0x00,0x00,0x01,0xF8,0x7E,0x00,0x00,0x10,
		 0x11,0x10,0x08,0xA0,0x01,0x00,0x7F,0xFE,
		 0x01,0x80,0x03,0x40,0x05,0x20,0x09,0x18,
		 0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00}
	},

	{	FONT_CHAR("样")
		FONT_UNICODE_VAL(0x0006)
		{0x11,0x08,0x10,0x88,0x10,0x90,0xFD,0xFE,
		 0x10,0x20,0x30,0x20,0x39,0xFC,0x54,0x20,
		 0x50,0x20,0x90,0x20,0x13,0xFE,0x10,0x20,
		 0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20}
	},
	
	{	FONT_CHAR("实")
		FONT_UNICODE_VAL(0x0007)
		{0x01,0x00,0x00,0x80,0x3F,0xFE,0x28,0x04,
		 0x46,0x88,0x04,0x80,0x08,0x80,0x06,0x80,
		 0x04,0x80,0x7F,0xFE,0x00,0x80,0x01,0x40,
		 0x02,0x20,0x04,0x10,0x18,0x18,0x60,0x10}
	},
	
	{	FONT_CHAR("时")
		FONT_UNICODE_VAL(0x0008)
		{0x00,0x10,0x00,0x10,0x7C,0x10,0x44,0x10,
		 0x47,0xFE,0x44,0x10,0x7C,0x10,0x45,0x10,
		 0x44,0x90,0x44,0x90,0x7C,0x10,0x00,0x10,
		 0x00,0x10,0x00,0x10,0x00,0x50,0x00,0x20}
	},
	
	{	FONT_CHAR("显")
		FONT_UNICODE_VAL(0x0009)
		{0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,
		 0x10,0x10,0x1F,0xF0,0x04,0x40,0x04,0x40,
		 0x44,0x48,0x24,0x48,0x14,0x50,0x14,0x60,
		 0x04,0x40,0xFF,0xFE,0x00,0x00,0x00,0x00}
	},
	
	{	FONT_CHAR("示")
		FONT_UNICODE_VAL(0x000A)
		{0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,
		 0x00,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,
		 0x11,0x20,0x11,0x10,0x21,0x08,0x41,0x0C,
		 0x81,0x04,0x01,0x00,0x05,0x00,0x02,0x00}
	}	
	
};

UINT16 sample[200] = 
{ 
  0x7200,0x7400,0x7600,0x7800,0x7a00,0x7c00,0x7e00,
  0x8200,0x8400,0x8600,0x8800,0x8a00,0x8c00,0x8e00,
  0x9200,0x9400,0x9600,0x9800,0x9a00,0x9c00,0x9e00,
  0xA200,0xA400,0xA600,0xA800,0xAa00,0xAc00,0xAe00,
  0xB200,0xB400,0xB600,0xB800,0xBa00,0xBc00,0xBe00,
  0xC200,0xC400,0xC600,0xC800,0xCa00,0xCc00,0xCe00,
  0x200,0x400,0x600,0x800,0xa00,0xc00,0xe00,
  0x1200,0x1400,0x1600,0x1800,0x1a00,0x1c00,0x1e00,
  0x2200,0x2400,0x2600,0x2800,0x2a00,0x2c00,0x2e00,
  0x3200,0x3400,0x3600,0x3800,0x3a00,0x3c00,0x3e00,
  0x4200,0x4400,0x4600,0x4800,0x4a00,0x4c00,0x4e00,
  0x5200,0x5400,0x5600,0x5800,0x5a00,0x5c00,0x5e00,
  0x6200,0x6400,0x6600,0x6800,0x6a00,0x6c00,0x6e00,
  0xD200,0xD400,0xD600,0xD800,0xDa00,0xDc00,0xDe00,
  0xE200,0xE400,0xE600,0xE800,0xEa00,0xEc00,0xEe00,
  0xF200,0xF400,0xF600,0xF800,0xFa00,0xFc00,0xFe00,
  0x1200,0x1400,0x1600,0x1800,0x1a00,0x1c00,0x1e00,
  0x2200,0x2400,0x2600,0x2800,0x2a00,0x2c00,0x2e00,
  0x3200,0x3400,0x3600,0x3800,0x3a00,0x3c00,0x3e00,
  0x4200,0x4400,0x4600,0x4800,0x4a00,0x4c00,0x4e00,
  0x5200,0x5400,0x5600,0x5800,0x5a00,0x5c00,0x5e00,
  0x6200,0x6400,0x6600,0x6800,0x6a00,0x6c00,0x6e00,
  0x7200,0x7400,0x7600,0x7800,0x7a00,0x7c00,0x7e00,
  0x8200,0x8400,0x8600,0x8800,0x8a00,0x8c00,0x8e00,
  0x9200,0x9400,0x9600,0x9800,0x9a00,0x9c00,0x9e00,
  0xA200,0xA400,0xA600,0xA800,0xAa00,0xAc00,0xAe00,
  0xB200,0xB400,0xB600,0xB800,0xBa00,0xBc00,0xBe00,
  0xC200,0xC400,0xC600,0xC800,0xCa00,0xCc00,0xCe00,
  0xD800,0xDa00,0xFc00,0xFe00};

 unsigned int valR5, valR6, j, i;
 
 
void delay(UINT32 temp)
{	
	UINT32 i;
	for(i=0;i<temp;i++)
	{
		;
	}
}


void ReadySTA01()     //读状态并判断STA0,STA1状态准备好

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -