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

📄 lcdzk.c.bak

📁 使用avr--cc2420模块程序,需要原理图的联系 QQ:120304948
💻 BAK
📖 第 1 页 / 共 2 页
字号:
#include <mega128.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


#include "typedef.h"

#include "app.h"
#include "attention.h"
#include "Flash.h"
#include "g20modem.h"
#include "g20serialdrv.h"
#include "ombro.h"

#include "rtc.h"
#include "serialdrv.h"
#include "timer.h"
#include "UDP.h"
#include "protocol.h"

#include "key.h"
#include "lcdzk.h"
#include "print.h"
#include "ombrodb.h"

unsigned char CursorX;
unsigned char CursorY;

/*flash unsigned char *Namelistty [10] = {
	
"太原局大同段柴沟堡工区",  //592A539F5C405927540C6BB567F46C9F58215DE5533A002C  //24
"太原局大同段天镇工区",    //592A539F5C405927540C6BB5592995475DE5533A002C0020  //24
"太原局大同段湖东工区",    //592A539F5C405927540C6BB56E564E1C5DE5533A002C0020  //24
"太原局大同段大同工区",    //592A539F5C405927540C6BB55927540C5DE5533A002C0020  //24
"太原局秦西段玉田北工区",  //592A539F5C4079E6897F6BB57389753053175DE5533A002C  //24
"太原局秦西段卢龙北工区",  //592A539F5C4079E6897F6BB553629F9953175DE5533A002C  //24
"太原局朔州段怀仁工区",    //592A539F5C4067145DDE6BB560004EC15DE5533A002C0020  //24
"太原局朔州段岱岳工区",    //592A539F5C4067145DDE6BB55CB15CB35DE5533A002C0020  //24
"太原局茶坞段茶坞工区",    //592A539F5C408336575E6BB58336575E5DE5533A002C0020  //24
"太原局茶坞段铁炉村工区"   //592A539F5C408336575E6BB594C1708967515DE5533A002C  //24
};


flash unsigned char  *Namelistbj [20] = {
	
"北京局北京段昌平北工区",    //53174EAC5C4053174EAC6BB5660C5E7353175DE5533A002C0020       //26 
"北京局北京段古北口工区",    //53174EAC5C4053174EAC6BB553E4531753E35DE5533A002C0020       //26
"北京局北京段滦平工区",      //53174EAC5C4053174EAC6BB56EE65E735DE5533A002C00200020       //26
"北京局北京段白旗工区",      //53174EAC5C4053174EAC6BB5767D65D75DE5533A002C00200020       //26
"北京局北京段怀柔北工区",    //53174EAC5C4053174EAC6BB5600067D453175DE5533A002C0020       //26
"北京局张家口段狼山工区",    //53174EAC5C405F205BB653E36BB572FC5C715DE5533A002C0020       //26
"北京局张家口段下花园工区",  //53174EAC5C405F205BB653E36BB54E0B82B156ED5DE5533A002C       //26
"北京局张家口段官厅西工区",  //53174EAC5C405F205BB653E36BB55B985385897F5DE5533A002C       //26
"北京局三家店段雁翅工区",    //53174EAC5C404E095BB65E976BB596C17FC55DE5533A002C0020       //26
"北京局三家店段珠窝工区",    //53174EAC5C404E095BB65E976BB573E07A9D5DE5533A002C0020       //26
"北京局三家店段沙河工区",    //53174EAC5C404E095BB65E976BB56C996CB35DE5533A002C0020       //26
"北京局三家店段南口工区",    //53174EAC5C404E095BB65E976BB5535753E35DE5533A002C0020       //26
"北京局丰台段燕山工区",    //53174EAC5C4053174EAC897F6BB571D55C715DE5533A002C0020       //26 
"北京局北京西段白涧工区",    //53174EAC5C4053174EAC897F6BB5767D6DA75DE5533A002C0020       //26
"北京局北京西段王安镇工区",  //53174EAC5C4053174EAC897F6BB5738B5B8995475DE5533A002C       //26 
"北京局北京西段涞源工区",    //53174EAC5C4053174EAC897F6BB56D9E6E905DE5533A002C0020       //26
"北京局邯郸段康城工区",      //53174EAC5C4090AF90F86BB55EB757CE5DE5533A002C00200020       //26
"北京局邯郸段阳邑工区",      //53174EAC5C4090AF90F86BB5963390915DE5533A002C00200020       //26
"北京局邯郸段微子镇工区",    //53174EAC5C4090AF90F86BB55FAE5B5095475DE5533A002C0020       //26
"北京局邯郸段西石门工区"     //53174EAC5C4090AF90F86BB5897F77F395E85DE5533A002C0020       //26
};

flash unsigned char  *Namelistcd [6] = {
	
"成都局自贡段小儿坪工区",    //621090FD5C4081EA8D216BB55C0F513F576A5DE5533A002C       //24
"成都局自贡段临江溪工区",    //621090FD5C4081EA8D216BB54E346C5F6EAA5DE5533A002C       //24
"成都局自贡段苍坪工区",      //621090FD5C4081EA8D216BB582CD576A5DE5533A002C0020       //24
"成都局自贡段豆沙关工区",    //621090FD5C4081EA8D216BB58C466C9951735DE5533A002C       //24
"成都局自贡段田梁子工区",    //621090FD5C4081EA8D216BB5753068815B505DE5533A002C       //24
"成都局自贡段小关溪工区"     //621090FD5C4081EA8D216BB55C0F51736EAA5DE5533A002C       //24
};*/

/*0123456789*/               //0030 0031 0032 0033 0034 0035 0036 0037 0038 0039  //
/*mm*/                       //006D 006D                                          //
/*, :!*/                     //002C 0020 003A 0021                                //

//15 * 8
//unsigned int lcd_current_position = 0;
//unsigned int lcd_current_line = 0;

/*void disp_my_print(flash unsigned char *string)
{
#ifdef LCD_DISPLAY__	
	unsigned char bChar = 0;
	unsigned char bChn = 0;
	while(*string)
	{
        wdr();
		if(*string == '\r')
		{
			LCD_Clear();
			LCD_CursorXY(0, 0);
			lcd_current_position = 0;
			lcd_current_line = 0;
			delay_ms(5);
			string++;
			continue;
		}

		if(*string == '\n')
		{
			lcd_current_position = 0;
			lcd_current_line += 16;
			LCD_CursorXY(0,lcd_current_line);
			if(lcd_current_line > 128 )
			{
				LCD_Clear();
				lcd_current_line = 0;
				delay_ms(5);

			}
			string++;
			continue;
		}

		if((*string <= 0x7F)&&(bChar == 0))
		{
			LCD_CmdWrite(0x00);
			LCD_CmdWrite(0xCD);
			LCD_CmdWrite(0xF0);
			LCD_CmdWrite(0xA4);
			bChar = 1;
			bChn = 0;
		}
		else if((*string > 0x7F)&&(bChn == 0))
		{
			LCD_CmdWrite(0x00);
			LCD_CmdWrite(0xCD);
			LCD_CmdWrite(0xF0);
			LCD_CmdWrite(0xA0);			
			bChn = 1;
			bChar = 0;
		}
		
		lcd_current_position++;
		if(lcd_current_position > 30)
		{
			lcd_current_position = 0;
			lcd_current_line += 16;
			if(lcd_current_line > 128)
			{
				LCD_Clear();
				lcd_current_line = 0;
			}
		}
		LCD_DataWrite(*string);
     	string++;
	}
#endif	
}


void disp_my_disp(unsigned char Cx, unsigned char Cy, flash char *string)
{
#ifdef LCD_DISPLAY__
	unsigned char bChar = 0;
	unsigned char bChn = 0;
	
	LCD_CursorXY(Cx,Cy);
	
	while(*string)
	{
        wdr();
		if((*string <= 0x7F)&&(bChar == 0))
		{
			LCD_CmdWrite(0x00);
			LCD_CmdWrite(0xCD);
			LCD_CmdWrite(0xF0);
			LCD_CmdWrite(0xA4);
			bChar = 1;
			bChn = 0;
		}
		else if((*string > 0x7F)&&(bChn == 0))
		{
			LCD_CmdWrite(0x00);
			LCD_CmdWrite(0xCD);
			LCD_CmdWrite(0xF0);
			LCD_CmdWrite(0xA0);			
			bChn = 1;
			bChar = 0;
		}
		
		LCD_DataWrite(*string);
     	string++;
	}
#endif	
}*/


void disp_string(unsigned char Cx, unsigned char Cy, unsigned char *string)
{
#ifdef LCD_DISPLAY__
  LCD_CmdWrite(0x00);
  LCD_CmdWrite(0xCD);
  LCD_CmdWrite(0xF0);
  LCD_CmdWrite(0xA4);   //0xA8
    
    LCD_CursorXY(Cx,Cy);
    while (*string)
    {
        wdr();
     	LCD_DataWrite(*string);
     	string++;
    }
#endif    
}

void disp_stringf(unsigned char Cx, unsigned char Cy, flash unsigned char *string)
{
#ifdef LCD_DISPLAY__
  LCD_CmdWrite(0x00);
  LCD_CmdWrite(0xCD);
  LCD_CmdWrite(0xF0);
  LCD_CmdWrite(0xA4);   //0xA8
    LCD_CursorXY(Cx,Cy);
    while (*string)
    {
        wdr();
     	LCD_DataWrite(*string);
     	string++;
    }
#endif    
}

void disp_hzstr(unsigned char Cx, unsigned char Cy, flash unsigned char *string)
{
#ifdef LCD_DISPLAY__
  LCD_CmdWrite(0x00);
  LCD_CmdWrite(0xCD);
  LCD_CmdWrite(0xF0);
  LCD_CmdWrite(0xA0);   //0xA8
    LCD_CursorXY(Cx,Cy);
    while (*string)
    {
        wdr();
     	LCD_DataWrite(*string);
     	string++;
     	LCD_DataWrite(*string);
     	string++;
    }
#endif    
}
                                             
/*LCD Reset Subroutine	*/                                                                                                          
void LCD_Reset(void)
{
   DDRG=0x07;
   PORTG |= 0x04;
   delay_ms(500);
   PORTG &= 0x1B;
   delay_ms(2000);
   PORTG |= 0x04;
   delay_ms(500);
}	
	
/*LCD Function Initail Subroutine  */                                                                                          
void LCD_init(void)
{
#ifdef LCD_DISPLAY__
//    delay_ms(2500);
    LCD_Reset();

//LCD Controller Register REG[0x00]
  LCD_CmdWrite(0x00);
  LCD_CmdWrite(0xCD);
  
//Misc. Register REG[0x08]
  LCD_CmdWrite(0x08);
  LCD_CmdWrite(0x73);  //0x63
  
//Cursor Control Register REG[0x10]
  LCD_CmdWrite(0x10);
  LCD_CmdWrite(0xE9);  //Cursor Off
//  LCD_CmdWrite(0xED);  //Cursor On 
  
//Cursor Size Control Register REG[0x18]
  LCD_CmdWrite(0x18);
  LCD_CmdWrite(0x20);  //0x22
  
//Active Window Right Register REG[0x20]  
  LCD_CmdWrite(0x20);
  LCD_CmdWrite(0x1D);

//Active Window Bottom Register REG[0x30]  
  LCD_CmdWrite(0x30);
  LCD_CmdWrite(0x7F);

//Active Window Left Register REG[0x40]  
  LCD_CmdWrite(0x40);
  LCD_CmdWrite(0x00);

//Active Window Top Register REG[0x50]  
  LCD_CmdWrite(0x50);
  LCD_CmdWrite(0x00);

//Display Window Right Register REG[0x28]  
  LCD_CmdWrite(0x28);
  LCD_CmdWrite(0x1D);

//Display Window Bottom Register REG[0x38]  
  LCD_CmdWrite(0x38);
  LCD_CmdWrite(0x7F);

//Display Window Left Register REG[0x48]  
  LCD_CmdWrite(0x48);
  LCD_CmdWrite(0x00);

//Display Window Top Register REG[0x58]  
  LCD_CmdWrite(0x58);
  LCD_CmdWrite(0x00);
  
//Cursor Position X Register REG[0x60]
  LCD_CmdWrite(0x60);
  LCD_CmdWrite(0x00);

//Cursor Position Y Register REG[0x70]
  LCD_CmdWrite(0x70);
  LCD_CmdWrite(0x00);
  
//Blink Time Y Register REG[0x80]
  LCD_CmdWrite(0x80);
  LCD_CmdWrite(0x23);   //0x33
  
//Shift Clock Control Register REG[0x90]
  LCD_CmdWrite(0x90);
  LCD_CmdWrite(0x1C);   //0x1E
  
//Interrupt Setup & Status Register REG[0xA0]
  LCD_CmdWrite(0xA0);
  LCD_CmdWrite(0x00);   //0x08
  
//Interrupt Column Setup Register REG[0xB0]
  LCD_CmdWrite(0xB0);
  LCD_CmdWrite(0x27);

//Interrupt Row Setup Register REG[0xB8]
  LCD_CmdWrite(0xB8);
  LCD_CmdWrite(0xEF);
  
//Touch Panel Control Register REG[0xC0]
  LCD_CmdWrite(0xC0);
  LCD_CmdWrite(0xD0);
  
//LCD Contrast Control Register REG[0xD0]
  LCD_CmdWrite(0xD0);
  LCD_CmdWrite(0xE0);   //0x30
  
//Pattern Data Register REG[0xE0]
  LCD_CmdWrite(0xE0);
  LCD_CmdWrite(0x00);
  
//Font Control Register REG[0xF0]
  LCD_CmdWrite(0xF0);
  LCD_CmdWrite(0xA0);   //0xA8

    LCD_Clear();
#endif
}


⌨️ 快捷键说明

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