?? 液晶.c
字號:
/************************************************************************
;連線圖: 液晶屏分為4 行*15列漢字使用間接操作方式
;*LCM--------------------------ATmega16*
;*D0~D7 PB0~PB7*
*CD PA2*
*RD PA1*
*WR PA0*
;************************************************************************/
/******************************************************/
/* 本程序在曉奇程序的基礎上改編*/
/* Email: mymach@tom.com */
/******************************************************/
#include <showfun.h>
#include <stdio.h>
#include<reg51.h>
#include<intrins.h>
sbit A=P1^4;
sbit H=P1^5;
sbit C=P1^6;
sbit D=P1^7;
sbit E=P3^3;
sbit F=P3^4;
sbit G=P3^5;
extern char fnLCMInit(); // LCM 初始化
extern void at(unsigned char x,unsigned char y);/*設定文本x,y值*/
extern void cls(); // 清屏
extern void charout(unsigned char *str); //ASCII(8*8) 顯示函數
extern void fnSetPos(unsigned char urow, unsigned char ucol); // 設置當前地址
extern uchar dprintf(uchar x,uchar y,char *fmt);// ASCII(8*16) 及 漢字(16*16) 顯示函數
extern uchar fnPR12(uchar uCmd); // 寫無參數的指令
extern uchar fnPR13(uchar uData); // 寫數據
extern unsigned int Adc0832(unsigned char channel);
extern void Line( unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, bit Mode);
extern void Pixel(unsigned char PointX,unsigned char PointY, bit Mode);
extern void shortdelay(unsigned int tt);
extern void circle(unsigned char Ox,unsigned char Oy,unsigned char Rx,unsigned char s);
//extern void cursor(uchar uRow, uchar uCol);
extern void LCDPutChar(unsigned char x,unsigned char y,unsigned char wordcode);
uchar GeyKey();
void inputs(unsigned char key);
void start(void);
void guiji(void);
void GUI(unsigned char key);
unsigned char dsp[20];
unsigned char x_tick,y_tick,a,b,p;
code uchar const img1[] = {
/*-- 寬度x高度=101x64 --*/
/*-- 寬度不是8的倍數,現調整為:寬度x高度=104x64 --*/
104,64,
0x2B,0xBE,0xEE,0x3A,0x80,0xA0,0x02,0x68,0xFE,0xA0,0xAA,0xEA,0x00,0x25,0x7E,0x54,
0x7D,0x00,0x40,0x04,0x64,0x5C,0x45,0x05,0x55,0x00,0x2A,0x3E,0xEC,0xFA,0x00,0x20,
0x02,0x2C,0xFA,0xA8,0x88,0xE2,0x80,0x07,0x7F,0x5D,0xFC,0x00,0x40,0x01,0x7D,0x5C,
0x04,0x04,0x70,0x00,0x2E,0xBA,0xFA,0xFA,0x00,0x00,0x02,0xAF,0xEA,0x00,0x8A,0xA8,
0x80,0x14,0x7F,0x55,0xF4,0x00,0x00,0x06,0x74,0x7C,0x40,0x04,0x54,0x40,0x2E,0xBF,
0xE3,0xF8,0x00,0x00,0x0A,0x36,0x3E,0x00,0xA8,0x38,0x00,0x14,0x7D,0xC7,0xF4,0x40,
0x00,0x07,0x77,0x7F,0x00,0x10,0x1C,0x40,0x2C,0xBF,0xEB,0xF8,0xB8,0x00,0x02,0x3A,
0x2B,0x80,0x8A,0x2A,0x00,0x1D,0x7D,0xDF,0xF7,0x54,0x00,0x01,0x77,0x3D,0x40,0x50,
0x1F,0x00,0x28,0xBE,0x8B,0xFB,0xFE,0x00,0x02,0x3B,0xBA,0x20,0x80,0x8E,0x00,0x1D,
0x77,0xD7,0xF3,0xFF,0x00,0x01,0x75,0x5D,0x10,0x50,0x17,0x00,0x2C,0xB6,0xAF,0xFB,
0x87,0x80,0x02,0x2F,0xBF,0x8A,0x80,0x0A,0x80,0x35,0x77,0x97,0xF1,0x83,0x00,0x01,
0x75,0xDD,0x01,0x50,0x07,0x40,0x2C,0xA3,0xBF,0xF1,0x83,0x80,0x02,0xEA,0xBE,0xA8,
0xC0,0x0B,0x80,0x35,0x73,0x17,0xF1,0x1F,0x00,0x01,0x77,0xDD,0x81,0x40,0x45,0x40,
0x3E,0xA3,0xBF,0xE0,0x0F,0x80,0x02,0xEB,0xEE,0x80,0xE0,0x00,0x80,0x15,0xE1,0x17,
0xF0,0x1F,0x00,0x01,0x51,0xDD,0xC0,0x40,0x05,0xC0,0x1E,0xE1,0xBF,0xE0,0x1B,0x80,
0x02,0xE3,0xEE,0x80,0x60,0x02,0xC0,0x1D,0x61,0x17,0xF0,0x5F,0x00,0x03,0xF5,0xF7,
0x45,0x60,0x41,0x40,0x1E,0xE1,0xAF,0xE0,0x7A,0x80,0x03,0xAB,0xBE,0xE8,0x20,0x00,
0x00,0x1D,0x41,0xD7,0xE0,0x7F,0x00,0x07,0x7F,0xF7,0x41,0x64,0x05,0x00,0x0E,0xC0,
0x8B,0xE0,0x2F,0x00,0x02,0x7F,0xFA,0xAA,0x22,0x20,0x80,0x0F,0xC0,0xD7,0xC0,0x03,
0x00,0x06,0x75,0xFF,0xD1,0x74,0x00,0x00,0x0E,0x80,0xCB,0xE0,0x02,0x00,0x0E,0xA0,
0x7F,0xA2,0xA2,0x00,0x80,0x0D,0x80,0x47,0xC0,0x04,0x00,0x0C,0x40,0x7F,0xD5,0x74,
0x10,0x40,0x0F,0x80,0x6B,0xC0,0x08,0x00,0x08,0x82,0xFF,0xEA,0xAA,0x22,0x00,0x1F,
0x00,0x35,0xC0,0x10,0x00,0x11,0x03,0xFF,0xD1,0x74,0x10,0x40,0x0F,0x00,0x33,0xC0,
0xA2,0x80,0x20,0x83,0xEF,0xE2,0x2A,0x28,0x00,0x1F,0x00,0x15,0xC1,0xD5,0x00,0x01,
0x03,0x5D,0xF1,0x71,0x01,0x00,0x1E,0x00,0x1A,0x80,0xAA,0x00,0x02,0x0E,0x0C,0xFA,
0x3A,0x28,0x80,0x1C,0x00,0x0D,0xC0,0x54,0x00,0x00,0x07,0x19,0xF1,0x71,0x14,0x00,
0x1C,0x00,0x06,0x80,0x2A,0x00,0x00,0x03,0xF0,0xFA,0x2A,0x08,0x80,0x18,0x00,0x07,
0x40,0x44,0x00,0x00,0x01,0xF1,0xD1,0x71,0x10,0x00,0x38,0x00,0x03,0xC0,0x00,0x00,
0x00,0x00,0x2B,0xAA,0x3A,0x0A,0x80,0x30,0x00,0x01,0xC0,0x00,0x00,0x00,0x01,0x57,
0xD1,0x71,0x00,0x40,0x20,0x00,0x00,0xE0,0x00,0x00,0x00,0x02,0xAB,0xAA,0x2A,0x0A,
0x00,0x20,0x00,0x00,0x60,0x00,0x00,0x00,0x05,0x57,0xD5,0x71,0x05,0x40,0x00,0x00,
0x00,0x60,0x00,0x00,0x00,0x0A,0xAB,0xAA,0x2A,0x8A,0x80,0x00,0x00,0x00,0x30,0x00,
0x00,0x00,0x15,0x57,0xD5,0x71,0x15,0x40,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x2A,
0xAB,0xAA,0x6A,0x8A,0x80,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x55,0x57,0x55,0x71,
0x55,0x40,0x00,0x00,0x00,0x18,0x1A,0x00,0x00,0xAA,0xAB,0xA2,0x68,0x22,0x80,0x00,
0x00,0x00,0x1C,0x1D,0x00,0x01,0x55,0x57,0x74,0x51,0x55,0x40,0x00,0x00,0x00,0x0C,
0x0B,0x80,0x02,0xAA,0xAB,0xAA,0xEA,0xA2,0x80,0x00,0x00,0x00,0x0C,0x01,0x00,0x05,
0x55,0x57,0x54,0x50,0x55,0x40,0x00,0x00,0x00,0x06,0x00,0x00,0x0A,0xAA,0xAA,0xAE,
0xEA,0xA2,0x80,0x00,0x00,0x00,0x06,0x00,0x00,0x15,0x55,0x57,0x44,0x55,0x75,0x00,
0x00,0x00,0x00,0x06,0x00,0x00,0x2A,0xAA,0xAE,0xAA,0xEA,0x2A,0x00,0x00,0x00,0x00,
0x05,0x00,0x00,0x55,0x55,0x57,0x55,0xD5,0x71,0x40,0x00,0x00,0x00,0x38,0x80,0x00,
0xAA,0xAA,0xAE,0xA8,0xAA,0x3A,0x00,0x00,0x00,0x00,0x71,0x80,0x01,0x55,0x55,0x5D,
0x5D,0xF5,0x71,0x40,0x00,0x00,0x00,0xE2,0x80,0x02,0xAA,0xAB,0xFE,0xA8,0xA0,0xB8,
0x80,0x00,0x00,0x03,0x05,0xC0,0x15,0x55,0x5F,0xFD,0x55,0xF5,0x30,0x00,0x00,0x00,
0x02,0x0B,0xE0,0x2A,0xAA,0xFF,0xFA,0xB9,0xA2,0xB8,0x80,0x00,0x00,0x06,0x17,0x60,
0x55,0x5F,0xFF,0xFD,0x51,0x75,0x35,0x40,0x00,0x00,0x06,0x2E,0x2A,0xAB,0xFF,0xFF,
0xFA,0xAB,0xA8,0xB8,0x00,0x00,0x00,0x04,0x5C,0x3F,0xFF,0xFF,0xFF,0xF5,0x53,0x51,
0x34,0x00,0x00,0x00,0x08,0xB8,0x1F,0xEB,0xAA,0xAA,0xBA,0xAB,0xAA,0x3A,0x80,0x00,
0x00,0x19,0x50,0x00,0x77,0xC5,0x55,0xF5,0x57,0x51,0x14,0x40,0x00,0x00,0x18,0xB0,
0x00,0x3A,0xFA,0xAA,0xFA,0xA7,0xA2,0xBA,0x00,0x00,0x00,0x11,0x70,0x00,0x17,0x71,
0x55,0xF5,0x57,0x45,0x1F,0x40,0x00,0x00,0x32,0xA0,0x00,0xBA,0xFA,0xAB,0xEA,0xAF,
0xAA,0xBA,0x00,0x00,0x00,0x34,0x60,0x07,0xD7,0x75,0x7F,0xF5,0x47,0x44,0x1D,0x00
} ;
code uchar const img2[] = {
/*-- 調入了一幅圖像:C:\Documents and Settings\Administrator\My Documents\1.bmp --*/
/*-- 寬度x高度=101x64 --*/
/*-- 寬度不是8的倍數,現調整為:寬度x高度=104x64 --*/
104,64,
0x2A,0x0E,0xAA,0x4B,0xAE,0x80,0xEB,0x88,0x00,0x08,0xE8,0x00,0x00,0x1D,0x57,0x5D,
0xFD,0x7D,0x01,0xD7,0x40,0x00,0x51,0xD0,0x00,0x00,0x3A,0xAA,0xAF,0xFF,0xE8,0x0E,
0x8E,0xE0,0x00,0xA3,0x80,0x00,0x00,0x1D,0x57,0x55,0x55,0x00,0x1D,0x19,0x54,0x01,
0x44,0x80,0x00,0x00,0x3E,0xAB,0xAE,0x80,0x00,0xEA,0xEE,0x0B,0x8A,0x88,0xA0,0x00,
0x00,0x15,0x57,0x57,0x14,0x17,0x51,0xF0,0x01,0x55,0x19,0x40,0x00,0x00,0x3E,0xAB,
0xAB,0xEA,0xEA,0x8F,0xA0,0x02,0xF8,0x32,0x80,0x00,0x00,0x15,0x57,0x57,0x7F,0xFD,
0x7C,0x00,0x17,0x55,0x65,0x00,0x00,0x00,0x3E,0xAB,0xAB,0x0A,0xB8,0x02,0xBF,0xEA,
0x0B,0xEA,0x00,0x00,0x00,0x15,0x57,0xD7,0x01,0x71,0xFF,0xFF,0x55,0x5F,0xD4,0x00,
0x00,0x00,0x3E,0xAB,0xAB,0xAF,0xC2,0x3F,0xFE,0xFA,0xA3,0xA8,0x00,0x00,0x00,0x15,
0x57,0xD7,0x57,0x04,0x5F,0xFF,0xDC,0x03,0x50,0x00,0x00,0x40,0x3E,0xAB,0xAF,0xBE,
0x08,0xFF,0xFF,0xFE,0x0E,0xA0,0x00,0x00,0x00,0x15,0x57,0xD7,0xDC,0x01,0xFF,0xE5,
0x7E,0x13,0x40,0x00,0x00,0x40,0x3E,0xAA,0xAA,0x38,0x00,0xE7,0xC0,0x3B,0xEE,0x00,
0x00,0x00,0x80,0x3D,0x57,0xDD,0xFC,0x01,0x7F,0xC4,0x3F,0x54,0x00,0x00,0x01,0x00,
0x2E,0xAE,0xA6,0xB8,0x00,0x7F,0x0C,0x3B,0xA0,0x00,0x00,0x02,0x80,0x3D,0x57,0x57,
0x74,0x00,0x7F,0x7C,0x15,0x00,0x00,0x05,0x45,0x00,0x3A,0xAB,0xAF,0xB8,0x00,0xEE,
0xF8,0x00,0x88,0x00,0x3A,0xAA,0x00,0x15,0x55,0x5F,0x60,0x00,0xD7,0xD0,0x00,0x40,
0x44,0x41,0x55,0x00,0x3A,0xAF,0xAE,0xC0,0x00,0xCF,0xB0,0x00,0x20,0xA2,0xAA,0xAA,
0x00,0x35,0x5F,0x5D,0x80,0x00,0x0D,0x50,0x00,0x11,0x11,0xD5,0x55,0x00,0x2A,0xBE,
0xEE,0x80,0x00,0x18,0x20,0x00,0x0A,0x2B,0xBA,0xB8,0x00,0x1D,0x77,0xFD,0x00,0x01,
0xF4,0x40,0x00,0x01,0x47,0xF5,0x50,0x00,0x2F,0x9B,0xBB,0x00,0x00,0xF8,0x80,0x00,
0x00,0xAF,0xEA,0x80,0x00,0x35,0x11,0x71,0x00,0x00,0x7F,0x00,0x00,0x00,0x1D,0xF0,
0x00,0x00,0x33,0x02,0xF2,0x00,0x00,0x0E,0x00,0x00,0x00,0x38,0xEA,0x00,0x00,0x35,
0x03,0xF2,0x00,0x00,0x01,0xC4,0x00,0x00,0x35,0xFD,0x00,0x00,0x2F,0x02,0xE2,0x00,
0x00,0x00,0x3C,0x00,0x00,0x6B,0xBE,0xAA,0x00,0x15,0x81,0xE2,0x00,0x00,0x00,0x04,
0x00,0x00,0xF5,0x55,0xD5,0x00,0x2B,0x81,0xE2,0x00,0x00,0x00,0x00,0x00,0x01,0xEA,
0xBE,0xBF,0x80,0x17,0x41,0xD2,0x00,0x00,0x00,0x00,0x00,0x01,0xD5,0x1F,0x00,0x40,
0x2A,0xBA,0xE9,0x00,0x00,0x00,0x00,0x00,0x03,0x82,0x28,0xE0,0x00,0x15,0x77,0x45,
0x00,0x00,0x00,0x00,0x00,0x03,0xB5,0x55,0x5F,0x00,0x3E,0xEA,0x82,0x80,0x00,0x00,
0x00,0x00,0x03,0x2A,0x2A,0x8B,0x80,0x17,0xD5,0x41,0x40,0x00,0x00,0x00,0x00,0x03,
0x44,0x55,0x40,0x40,0x2A,0x8A,0xA1,0x20,0x00,0x00,0x00,0x00,0x03,0xC2,0x8A,0x80,
0x80,0x1F,0x07,0x10,0xD8,0x00,0x00,0x00,0x00,0x01,0xC1,0x15,0x01,0x00,0x0B,0x8E,
0x88,0x2E,0x00,0x00,0x00,0x00,0x00,0xE2,0x0A,0x00,0x00,0x1D,0x05,0x08,0x17,0x00,
0x00,0x00,0x00,0x00,0x41,0x05,0x00,0x00,0x0A,0x8F,0x08,0x0A,0x80,0x00,0x00,0x00,
0x00,0x22,0x03,0x00,0x00,0x0D,0x1D,0x04,0x05,0x40,0x00,0x00,0x00,0x00,0x11,0x01,
0x40,0x00,0x0C,0xB8,0x02,0x02,0xA0,0x00,0x00,0x00,0x00,0x22,0x02,0xA0,0x00,0x15,
0x34,0x03,0x01,0x50,0x00,0x00,0x00,0x01,0xC1,0x01,0x50,0x00,0x38,0x2A,0x03,0x02,
0xA8,0x00,0x00,0x00,0x03,0xA0,0x80,0xA8,0x00,0x01,0xCC,0x01,0x81,0x58,0x00,0x00,
0x00,0x1D,0x51,0x00,0x54,0x00,0x03,0x88,0x00,0x80,0xA8,0x00,0x02,0x00,0x16,0xE8,
0x80,0x2A,0x00,0x17,0x10,0x00,0xC1,0x58,0x00,0x01,0xC0,0x07,0x50,0x40,0x44,0x00,
0x2A,0x20,0x00,0xE2,0x08,0x00,0x00,0x3F,0x0A,0xA8,0xC0,0x22,0x00,0x1D,0x40,0x00,
0x75,0x18,0x00,0x00,0x04,0x0D,0x64,0x40,0x13,0x00,0x2A,0x80,0x00,0x3A,0x18,0x00,
0x00,0x08,0x02,0xA2,0x20,0x0B,0x00,0x15,0x40,0x00,0x38,0x10,0x00,0x00,0x70,0x11,
0x51,0x30,0x11,0x00,0x2A,0xA0,0x00,0x30,0x20,0x00,0x00,0x00,0x2A,0xB8,0xB8,0x09,
0x80,0x15,0x50,0x00,0x40,0x40,0x00,0x00,0x00,0xFD,0x70,0x50,0x01,0x00,0x0A,0xA8,
0x00,0x83,0x80,0x00,0x00,0x03,0xAF,0xAA,0x28,0x09,0x80,0x11,0x54,0x01,0x1F,0x80,
0x00,0x00,0x07,0x00,0x54,0x24,0x05,0x00,0x08,0xAA,0x02,0x23,0xC0,0x00,0x00,0x1F,
0xE0,0x2E,0x34,0x0A,0x00,0x07,0xD5,0x04,0x41,0xE0,0x00,0x00,0x77,0x7D,0x7F,0x14,
0x14,0x00,0x2A,0xBA,0x84,0x81,0xF0,0x00,0x01,0x80,0xAB,0xFE,0x8E,0xAB,0x80,0x05,
0x77,0x45,0x00,0xDC,0x00,0x06,0x00,0x17,0x7D,0xD5,0x7D,0x00,0x22,0xAB,0xA2,0x80,
0x8E,0x00,0x3F,0x80,0x00,0x8A,0x8E,0xAA,0x00,0x01,0x57,0x55,0x40,0xFF,0x00,0x40,
0x70,0x00,0x05,0xDD,0x00,0x00,0x00,0xAA,0xAA,0xA0,0xAE,0x80,0xAA,0x8A,0x00,0x02,
0xDB,0x80,0x00,0x00,0x15,0x55,0x50,0xD4,0x43,0xF5,0xF1,0x00,0x05,0xD7,0x80,0x00
};
union AD{uint Dat;uchar HL[2];}
main()
{
uchar key;
key=0;
fnLCMInit();
fnSetPos(0,0);
// dprintf(0,0,"液晶顯示試驗程序");
// dprintf(0,16,"鍵盤1:文字測試(可以按點\n定位)");
// dprintf(0,48,"鍵盤2-9,0:鍵盤測試,直線\n繪制");
// dprintf(0,60,"鍵盤#:圖片繪制");
// dprintf(0,72,"鍵盤*:畫圓");
start();
while(1)
{
key=GeyKey();
// GUI(key);
shortdelay(1200);
inputs(key);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -