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

📄 mnj_1335._c

📁 lcd320240驱动程序
💻 _C
📖 第 1 页 / 共 4 页
字号:
/*-------------------------------------------------------
             MD-500Ⅱ模拟定位机(ICCAVR)显示程序    2.0
	             作者:cyk8          2004.12.3
		  1、应包含头文件slavr.h
          2、在工程选项中的Additional Lib中填入slavr
		     使编译器使用附加库文件libslavr.a
		  3、数据线D0~D7接PORTC
              WR------>用PD4代替
              RD------>用PD3代替
			  A0------>用PD6代替
			  RESET接RESET
	          CS接地
		  4,  通讯协议:
		        主机发送的控制指令采用6个字符组成的字符串格式“(X/Y/S/C/G/T)”+数据1,数据2,数据3,数据4+“#”,
		         主机共发7B,7C,7D,7E,7F,
				 a.第一个发的是X,Y,SAD,C,G,TH的ASCⅡ
				   X--->58H(X)
				   Y--->59H(Y)
				   SAD->53H(S)
				   C--->43H(C)
				   G--->47H(G)
				   TH-->54H(T)
				 b.7B,7C,7D,7E四个数据
				 c.最后一个7F=#23H(ASCⅡ="#"表示结束符号)

---------------------------------------------------------*/
#include<ioM16V.h>
#include <stdlib.h>
#include <macros.h>
#include <slavr.h>

//宏定义//
#define	Uchar unsigned char
#define Uint unsigned int
#define	paraP9		0x28		// 相对于320 X 240
#define BasePart1 0x00 
#define BasePart2 0x40 
#define BasePart3 0x80 
#define BasePart4 0x00 
#define SystemSet 0x40 
#define Scroll 0x44 
#define DispOn 0x59 
#define DispOff 0x58 
#define Ovlay 0x5b 
#define HdotScr 0x5a 
#define CsrForm 0x5d 
#define CgramAdr 0x5c 
#define CsrDirR 0x4c 
#define CsrDirL 0x4d 
#define CsrDirU 0x4e 
#define CsrDirD 0x4f 
#define CsrW 0x46 
#define CsrR 0x47 
#define mWrite 0x42 
#define mRead 0x43 
#define A0_H PORTD |=0x40
#define A0_L PORTD &=0xbf
#define RD_H PORTD |=0x08
#define WR_H PORTD |=0x10
#define WR_L PORTD &=0xef
#define LcmRdataPort A0_H
#define LcmStatusPort A0_L

unsigned char RX_data[4]={0};       //串口接收的数据
unsigned char RX_counter=0;         //串口接收到的字节数计数器

void UART_init        (void);
void putchar          (unsigned char c); 
void puts             (unsigned char *s);
void UART_rx          (void);
void delay_nms        (unsigned int n);

const Uchar  *ptr;   //液晶字符指针变量

Uchar ParaSysTable8[]= {
		0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00		  		// P1-P8参数
		};
Uchar ParaScrTableA[]= {
		0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4
};		
		
void PutCdotInAlpha( Uchar Ox, Uchar Oy, Uchar Cnumber );
void PutWordInAlpha(void);
void TextDisp( Uchar Ox,Uchar Oy, const Uchar  *ptr );
void LcmInition( void ); 
void LcmClear( void ); 
void SelfInit( void ); 
void delay(Uint t);
void RollLaft( void );
void Rollright( void );
void RollDown( void );
void RollUp( void ); 
void BuildCgram( Uchar Base, Uchar EndlCode );
void PutWordInAlpha(void);
void PutWordInGraph( void );
void PutWord24InGraph( void ); 
void Linexy(Uint x0,Uchar y0,Uint xt,Uchar yt,Uchar att);
void Sample3( void );
void Point(Uint Px, Uchar Py, Uchar attr );




/*  微秒级延时函数(mS)  本延时函数实际为delay_us(int time)中的int time=1->实际等于2us */
void delay_us(int time)
 {     
  do
	{
	time--;
	}	
  while (time>1);
 }		  

/*	    毫秒级延时函数	*/	 
void delay_ms(unsigned int time)
	 {
	  while(time!=0)
	  	  {	
		   delay_us(500);
		   time--;
		  }
	 }
void sed1335_write_command(Uchar commandcode) 
{ 
PORTC=commandcode; 
A0_H; 
RD_H;
WR_L;
WR_H;
} 

void sed1335_write_data(Uchar data) 
{ 
PORTC=data; 
A0_L;
RD_H;
WR_L;
WR_H;
} 
//CPU初始化//
void SelfInit( void ) 
{ 
DDRA  =0xff;
PORTA = 0x00;
DDRB  =0xff;
PORTB = 0x00;
DDRC = 0xff; 
PORTC = 0x00;    
DDRD = 0xff; 
PORTD = 0xff; 

} 
//液晶初始化//
void LcmInition( void ) 
{ 
Uint i1; 
delay_ms(50); 
delay_ms(50); 
sed1335_write_command(SystemSet); 
sed1335_write_data(0x30); 
sed1335_write_data(0x87); 
sed1335_write_data(0x07); 
sed1335_write_data(0x27); 
sed1335_write_data(0x42); 
sed1335_write_data(0xf0); 
sed1335_write_data(0x28); 
sed1335_write_data(0x00); 
sed1335_write_command(Scroll); 
sed1335_write_data(0x00); 
sed1335_write_data(0x00); 
sed1335_write_data(0xf0); 
sed1335_write_data(0x00); 
sed1335_write_data(0x40); 
sed1335_write_data(0xf0); 
sed1335_write_data(0x00); 
sed1335_write_data(0x00); 
sed1335_write_data(0x00); 
sed1335_write_data(0x00); 
sed1335_write_command(HdotScr); 
sed1335_write_data(0x00); 
sed1335_write_command(Ovlay); 
sed1335_write_data(0x0d); 
delay_ms(100); 
i1=32768; 
sed1335_write_command(CsrDirR); 
sed1335_write_command(CsrW); 
sed1335_write_data(0x00); 
sed1335_write_data(0x00); 
sed1335_write_command(mWrite); 
while(i1--) { 
sed1335_write_data(0x00); 
} 
sed1335_write_command(DispOn); 
sed1335_write_data(0x15); 
}
//ASCⅡ字符数组定义(0x30开始)//
const Uchar ASC_MSK32[75*64] = {

0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x06,
0x0C,0x18,0x18,0x18,0x30,0x30,0x30,0x30,
0x30,0x30,0x30,0x30,0x30,0x18,0x18,0x18,
0x0C,0x06,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x30,
0x18,0x0C,0x0C,0x04,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x04,0x0C,0x0C,
0x18,0x30,0xE0,0x00,0x00,0x00,0x00,0x00,/*"0"*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x1F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x03,0x1F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0xC0,0xF8,0x00,0x00,0x00,0x00,0x00,/*"1"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x08,
0x10,0x20,0x20,0x30,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,
0x20,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,
0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x10,
0x20,0x40,0x80,0x00,0x00,0x04,0x04,0x04,
0x0C,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,/*"2"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,
0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x03,
0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,
0x30,0x18,0x07,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x70,
0x30,0x18,0x18,0x18,0x18,0x30,0x60,0xC0,
0x70,0x18,0x08,0x0C,0x0C,0x0C,0x0C,0x08,
0x18,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,/*"3"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x01,0x02,0x06,0x04,0x08,
0x08,0x10,0x20,0x20,0x7F,0x00,0x00,0x00,
0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x70,
0x70,0xF0,0x70,0x70,0x70,0x70,0x70,0x70,
0x70,0x70,0x70,0x70,0xFE,0x70,0x70,0x70,
0x70,0x70,0x70,0xFE,0x00,0x00,0x00,0x00,/*"4"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,
0x08,0x08,0x08,0x10,0x10,0x13,0x14,0x18,
0x10,0x00,0x00,0x00,0x00,0x30,0x30,0x20,
0x20,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,
0x00,0x00,0x00,0x00,0x00,0xE0,0x30,0x18,
0x08,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,
0x18,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,/*"5",0*/

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,
0x04,0x08,0x18,0x18,0x10,0x30,0x31,0x36,
0x3C,0x38,0x30,0x30,0x30,0x30,0x18,0x18,
0x0C,0x06,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x08,
0x0C,0x0C,0x00,0x00,0x00,0x00,0xF0,0x18,
0x0C,0x06,0x06,0x06,0x06,0x06,0x06,0x04,
0x0C,0x18,0xE0,0x00,0x00,0x00,0x00,0x00,/*"6"*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,
0x38,0x30,0x20,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x03,
0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,
0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,
0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"7"*/

	
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0C,
0x18,0x30,0x30,0x30,0x38,0x1C,0x0E,0x07,
0x0D,0x18,0x30,0x60,0x60,0x60,0x60,0x60,
0x30,0x18,0x07,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x30,
0x18,0x0C,0x0C,0x0C,0x0C,0x18,0x10,0xE0,
0xE0,0x70,0x38,0x1C,0x0C,0x0C,0x0C,0x0C,
0x18,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,/*"8"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,
0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x60,
0x30,0x18,0x0F,0x00,0x00,0x00,0x00,0x30,
0x30,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x20,
0x10,0x18,0x08,0x0C,0x0C,0x0C,0x0C,0x1C,
0x3C,0x6C,0x8C,0x0C,0x18,0x18,0x18,0x30,
0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,/*"9"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--      --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--   :  --*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--      --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--   ;  --*/

0x00,0x00,0x00,0x00,0x00,0x0F,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,    /*"Ⅱ",<*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,
0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,
0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /*"=",0*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--      --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--   >  --*/
	
0x00,0x00,0x00,0x00,0x00,0x0F,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x20,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,    /*"Ⅱ",?*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--      --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/*--   @  --*/
	
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,
0x03,0x02,0x06,0x04,0x04,0x04,0x0C,0x08,
0x08,0x08,0x1F,0x10,0x10,0x10,0x30,0x20,
0x20,0x60,0xF8,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,
0x80,0x80,0xC0,0xC0,0xC0,0xC0,0x60,0x60,
0x60,0x60,0xF0,0x30,0x30,0x30,0x30,0x18,
0x18,0x18,0x3E,0x00,0x00,0x00,0x00,0x00,    /*"A"*/

0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,

⌨️ 快捷键说明

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