123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- #include <stdlib.h>
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdarg.h>
- #include <string.h>
- #include <math.h>
- #include "myLcd.h"
- #include "board.h"
- #define LCD_DEVICE_ADDR 0x78
- #define SENSOR_DEVICE_ADDR 0x44<<1
- static uint8_t commandType = 0;
- static uint8_t const Chinese_text_16x16[]=
- {
- "深圳市沃进科技有限公司→←↑↓¤"
- };
- static uint8_t const Chinese_code_16x16[]=
- {
- 0x08,0x06,0x40,0x31,0x00,0x70,0x44,0x48,0x50,0x43,0x50,0x48,0x44,0x70,0x00,0x00,
- 0x20,0x20,0x7E,0x80,0x04,0x84,0x88,0x90,0xA0,0xFF,0xA0,0x90,0x88,0x84,0x04,0x00,/*"深",0*/
- 0x04,0x04,0x04,0xFF,0x04,0x04,0x00,0xFF,0x00,0x00,0x7F,0x00,0x00,0xFF,0x00,0x00,
- 0x08,0x0C,0x08,0xF0,0x10,0x11,0x06,0xF8,0x00,0x00,0xFC,0x00,0x00,0xFF,0x00,0x00,/*"圳",1*/
- 0x00,0x10,0x11,0x11,0x11,0x11,0x91,0x5F,0x11,0x11,0x11,0x11,0x11,0x10,0x00,0x00,
- 0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0xF8,0x00,0x00,0x00,/*"市",2*/
- 0x08,0x06,0x40,0x31,0x00,0x21,0x21,0x21,0x21,0x7F,0x41,0xC1,0x41,0x01,0x01,0x00,
- 0x20,0x20,0x7E,0x80,0x01,0x02,0x04,0x18,0x60,0x80,0x60,0x18,0x04,0x02,0x01,0x00,/*"沃",3*/
- 0x02,0x02,0x42,0x33,0x00,0x01,0x11,0x11,0xFF,0x11,0x11,0xFF,0x11,0x11,0x01,0x00,
- 0x00,0x02,0x04,0xF8,0x04,0x02,0x0A,0x32,0xC2,0x02,0x02,0xFA,0x02,0x02,0x02,0x00,/*"进",4*/
- 0x24,0x24,0x25,0x7F,0xC5,0x44,0x00,0x44,0x33,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,
- 0x10,0x60,0x80,0xFF,0x00,0x80,0x20,0x20,0x20,0x20,0x20,0xFF,0x40,0x40,0x40,0x00,/*"科",5*/
- 0x08,0x08,0x08,0xFF,0x08,0x09,0x10,0x11,0x11,0x11,0xFF,0x11,0x11,0x11,0x10,0x00,
- 0x20,0x22,0x41,0xFE,0x80,0x01,0x01,0x02,0xC2,0x34,0x08,0x14,0x62,0x81,0x01,0x00,/*"技",6*/
- 0x20,0x20,0x20,0x21,0x27,0x3C,0xE4,0x24,0x24,0x24,0x24,0x27,0x20,0x20,0x20,0x00,
- 0x20,0x40,0x80,0x00,0xFF,0x90,0x90,0x90,0x90,0x92,0x91,0xFE,0x00,0x00,0x00,0x00,/*"有",7*/
- 0x00,0x7F,0x44,0x5A,0x61,0x00,0x7F,0x49,0x49,0x49,0x49,0x49,0x7F,0x00,0x00,0x00,
- 0x00,0xFF,0x20,0x10,0xE0,0x00,0xFF,0x02,0x04,0xC0,0x30,0x28,0x44,0x82,0x02,0x00,/*"限",8*/
- 0x00,0x01,0x02,0x04,0x18,0x60,0x01,0x00,0xE0,0x18,0x04,0x02,0x01,0x00,0x00,0x00,
- 0x80,0x00,0x04,0x0E,0x14,0x64,0x84,0x04,0x04,0x24,0x1C,0x06,0x00,0x80,0x80,0x00,/*"公",9*/
- 0x00,0x08,0x48,0x49,0x49,0x49,0x49,0x49,0x49,0x48,0x48,0x40,0x7F,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFC,0x00,0x02,0x01,0xFE,0x00,0x00,0x00,/*"司",10*/
- 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x09,0x05,0x07,0x03,0x03,0x01,0x01,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0xC0,0x80,0x80,0x00,0x00,0x00,/*"→",11*/
- 0x01,0x01,0x03,0x03,0x07,0x05,0x09,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
- 0x00,0x00,0x80,0x80,0xC0,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"←",12*/
- 0x00,0x00,0x00,0x00,0x02,0x0C,0x38,0xFF,0x38,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"↑",13*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x40,0x30,0x1C,0xFF,0x1C,0x30,0x40,0x00,0x00,0x00,0x00,0x00,/*"↓",14*/
- 0x00,0x40,0x20,0x17,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x17,0x20,0x40,0x00,
- 0x00,0x02,0x04,0xE8,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0xE8,0x04,0x02,0x00,/*"¤",15*/
- };
- const uint8_t ascii_table_8x16[95][16]=
- {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
- 0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x00,/*"!",1*/
- 0x00,0x08,0x30,0x40,0x08,0x30,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
- 0x00,0x02,0x03,0x1E,0x02,0x03,0x1E,0x00,0x00,0x20,0xFC,0x20,0x20,0xFC,0x20,0x00,/*"#",3*/
- 0x00,0x0E,0x11,0x11,0x3F,0x10,0x0C,0x00,0x00,0x18,0x04,0x04,0xFF,0x84,0x78,0x00,/*"$",4*/
- 0x0F,0x10,0x0F,0x01,0x06,0x18,0x00,0x00,0x00,0x8C,0x30,0xC0,0x78,0x84,0x78,0x00,/*"%",5*/
- 0x00,0x0F,0x10,0x11,0x0E,0x00,0x00,0x00,0x78,0x84,0xC4,0x34,0x98,0xE4,0x84,0x08,/*"&",6*/
- 0x00,0x48,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
- 0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,/*"(",8*/
- 0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,/*")",9*/
- 0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,/*"*",10*/
- 0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xF0,0x80,0x80,0x80,/*"+",11*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x0E,0x00,0x00,0x00,0x00,0x00,/*",",12*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,/*"-",13*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,/*".",14*/
- 0x00,0x00,0x00,0x00,0x03,0x1C,0x20,0x00,0x00,0x06,0x18,0xE0,0x00,0x00,0x00,0x00,/*"/",15*/
- 0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,0x00,0xF0,0x08,0x04,0x04,0x08,0xF0,0x00,/*"0",16*/
- 0x00,0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,/*"1",17*/
- 0x00,0x0E,0x10,0x10,0x10,0x10,0x0F,0x00,0x00,0x0C,0x14,0x24,0x44,0x84,0x0C,0x00,/*"2",18*/
- 0x00,0x0C,0x10,0x10,0x10,0x11,0x0E,0x00,0x00,0x18,0x04,0x84,0x84,0x44,0x38,0x00,/*"3",19*/
- 0x00,0x00,0x01,0x02,0x0C,0x1F,0x00,0x00,0x00,0x60,0xA0,0x24,0x24,0xFC,0x24,0x24,/*"4",20*/
- 0x00,0x1F,0x11,0x11,0x11,0x10,0x10,0x00,0x00,0x98,0x04,0x04,0x04,0x88,0x70,0x00,/*"5",21*/
- 0x00,0x07,0x08,0x11,0x11,0x09,0x00,0x00,0x00,0xF0,0x88,0x04,0x04,0x04,0xF8,0x00,/*"6",22*/
- 0x00,0x18,0x10,0x10,0x11,0x16,0x18,0x00,0x00,0x00,0x00,0x7C,0x80,0x00,0x00,0x00,/*"7",23*/
- 0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,0x00,0x38,0x44,0x84,0x84,0x44,0x38,0x00,/*"8",24*/
- 0x00,0x0F,0x10,0x10,0x10,0x08,0x07,0x00,0x00,0x80,0x48,0x44,0x44,0x88,0xF0,0x00,/*"9",25*/
- 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,/*":",26*/
- 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,/*";",27*/
- 0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x00,/*"<",28*/
- 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x00,/*"=",29*/
- 0x00,0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x80,0x00,/*">",30*/
- 0x00,0x0E,0x12,0x10,0x10,0x11,0x0E,0x00,0x00,0x00,0x00,0x0C,0xEC,0x00,0x00,0x00,/*"?",31*/
- 0x03,0x0C,0x13,0x14,0x17,0x08,0x07,0x00,0xE0,0x18,0xE4,0x14,0xF4,0x14,0xE8,0x00,/*"@",32*/
- 0x00,0x00,0x03,0x1C,0x07,0x00,0x00,0x00,0x04,0x3C,0xC4,0x40,0x40,0xE4,0x1C,0x04,/*"A",33*/
- 0x10,0x1F,0x11,0x11,0x11,0x0E,0x00,0x00,0x04,0xFC,0x04,0x04,0x04,0x88,0x70,0x00,/*"B",34*/
- 0x03,0x0C,0x10,0x10,0x10,0x10,0x1C,0x00,0xE0,0x18,0x04,0x04,0x04,0x08,0x10,0x00,/*"C",35*/
- 0x10,0x1F,0x10,0x10,0x10,0x08,0x07,0x00,0x04,0xFC,0x04,0x04,0x04,0x08,0xF0,0x00,/*"D",36*/
- 0x10,0x1F,0x11,0x11,0x17,0x10,0x08,0x00,0x04,0xFC,0x04,0x04,0xC4,0x04,0x18,0x00,/*"E",37*/
- 0x10,0x1F,0x11,0x11,0x17,0x10,0x08,0x00,0x04,0xFC,0x04,0x00,0xC0,0x00,0x00,0x00,/*"F",38*/
- 0x03,0x0C,0x10,0x10,0x10,0x1C,0x00,0x00,0xE0,0x18,0x04,0x04,0x44,0x78,0x40,0x00,/*"G",39*/
- 0x10,0x1F,0x10,0x00,0x00,0x10,0x1F,0x10,0x04,0xFC,0x84,0x80,0x80,0x84,0xFC,0x04,/*"H",40*/
- 0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,/*"I",41*/
- 0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x03,0x01,0x01,0x01,0xFE,0x00,0x00,0x00,/*"J",42*/
- 0x10,0x1F,0x11,0x03,0x14,0x18,0x10,0x00,0x04,0xFC,0x04,0x80,0x64,0x1C,0x04,0x00,/*"K",43*/
- 0x10,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x04,0xFC,0x04,0x04,0x04,0x04,0x0C,0x00,/*"L",44*/
- 0x10,0x1F,0x1F,0x00,0x1F,0x1F,0x10,0x00,0x04,0xFC,0x80,0x7C,0x80,0xFC,0x04,0x00,/*"M",45*/
- 0x10,0x1F,0x0C,0x03,0x00,0x10,0x1F,0x10,0x04,0xFC,0x04,0x00,0xE0,0x18,0xFC,0x00,/*"N",46*/
- 0x07,0x08,0x10,0x10,0x10,0x08,0x07,0x00,0xF0,0x08,0x04,0x04,0x04,0x08,0xF0,0x00,/*"O",47*/
- 0x10,0x1F,0x10,0x10,0x10,0x10,0x0F,0x00,0x04,0xFC,0x84,0x80,0x80,0x80,0x00,0x00,/*"P",48*/
- 0x07,0x08,0x10,0x10,0x10,0x08,0x07,0x00,0xF0,0x08,0x14,0x14,0x0C,0x0A,0xF2,0x00,/*"Q",49*/
- 0x10,0x1F,0x11,0x11,0x11,0x11,0x0E,0x00,0x04,0xFC,0x04,0x00,0xC0,0x30,0x0C,0x04,/*"R",50*/
- 0x00,0x0E,0x11,0x10,0x10,0x10,0x1C,0x00,0x00,0x1C,0x04,0x84,0x84,0x44,0x38,0x00,/*"S",51*/
- 0x18,0x10,0x10,0x1F,0x10,0x10,0x18,0x00,0x00,0x00,0x04,0xFC,0x04,0x00,0x00,0x00,/*"T",52*/
- 0x10,0x1F,0x10,0x00,0x00,0x10,0x1F,0x10,0x00,0xF8,0x04,0x04,0x04,0x04,0xF8,0x00,/*"U",53*/
- 0x10,0x1E,0x11,0x00,0x00,0x13,0x1C,0x10,0x00,0x00,0xE0,0x1C,0x70,0x80,0x00,0x00,/*"V",54*/
- 0x10,0x1F,0x00,0x1F,0x00,0x1F,0x10,0x00,0x00,0xC0,0x7C,0x80,0x7C,0xC0,0x00,0x00,/*"W",55*/
- 0x10,0x18,0x16,0x01,0x01,0x16,0x18,0x10,0x04,0x0C,0x34,0xC0,0xC0,0x34,0x0C,0x04,/*"X",56*/
- 0x10,0x1C,0x13,0x00,0x13,0x1C,0x10,0x00,0x00,0x00,0x04,0xFC,0x04,0x00,0x00,0x00,/*"Y",57*/
- 0x08,0x10,0x10,0x10,0x13,0x1C,0x10,0x00,0x04,0x1C,0x64,0x84,0x04,0x04,0x18,0x00,/*"Z",58*/
- 0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,/*"[",59*/
- 0x00,0x20,0x1C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x1C,0x03,0x00,/*"\",60*/
- 0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,/*"]",61*/
- 0x00,0x00,0x20,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,/*"_",63*/
- 0x00,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
- 0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x98,0x24,0x24,0x48,0xFC,0x04,0x00,/*"a",65*/
- 0x08,0x0F,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0xFC,0x88,0x04,0x04,0x88,0x70,0x00,/*"b",66*/
- 0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x70,0x88,0x04,0x04,0x04,0x88,0x00,/*"c",67*/
- 0x00,0x00,0x01,0x01,0x01,0x09,0x0F,0x00,0x00,0xF8,0x04,0x04,0x04,0x08,0xFC,0x04,/*"d",68*/
- 0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0xF8,0x24,0x24,0x24,0x24,0xE8,0x00,/*"e",69*/
- 0x00,0x01,0x01,0x07,0x09,0x09,0x04,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,/*"f",70*/
- 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0xD6,0x29,0x29,0x29,0xC9,0x06,0x00,/*"g",71*/
- 0x08,0x0F,0x00,0x01,0x01,0x01,0x00,0x00,0x04,0xFC,0x84,0x00,0x00,0x04,0xFC,0x04,/*"h",72*/
- 0x00,0x01,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,/*"i",73*/
- 0x00,0x00,0x00,0x01,0x19,0x19,0x00,0x00,0x00,0x03,0x01,0x01,0x01,0xFE,0x00,0x00,/*"j",74*/
- 0x08,0x0F,0x00,0x00,0x01,0x01,0x01,0x00,0x04,0xFC,0x24,0x60,0x94,0x0C,0x04,0x00,/*"k",75*/
- 0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,/*"l",76*/
- 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x04,0xFC,0x04,0x00,0xFC,0x04,0x00,0xFC,/*"m",77*/
- 0x01,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x04,0xFC,0x84,0x00,0x00,0x04,0xFC,0x04,/*"n",78*/
- 0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0xF8,0x04,0x04,0x04,0x04,0xF8,0x00,/*"o",79*/
- 0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0xFF,0x89,0x04,0x04,0x88,0x70,0x00,/*"p",80*/
- 0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x70,0x88,0x04,0x04,0x89,0xFF,0x01,/*"q",81*/
- 0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00,0x04,0x04,0xFC,0x84,0x04,0x00,0x80,0x00,/*"r",82*/
- 0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0xCC,0x24,0x24,0x24,0x24,0x98,0x00,/*"s",83*/
- 0x00,0x01,0x01,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xF8,0x04,0x04,0x08,0x00,/*"t",84*/
- 0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0xF8,0x04,0x04,0x04,0x08,0xFC,0x04,/*"u",85*/
- 0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0xC0,0x30,0x0C,0x30,0xC0,0x00,0x00,/*"v",86*/
- 0x01,0x01,0x00,0x01,0x01,0x00,0x01,0x01,0x80,0x70,0x0C,0x30,0xE0,0x1C,0x60,0x80,/*"w",87*/
- 0x00,0x01,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x04,0x8C,0x70,0x74,0x8C,0x04,0x00,/*"x",88*/
- 0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x81,0x61,0x1E,0x18,0x60,0x80,0x00,/*"y",89*/
- 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x84,0x0C,0x34,0x44,0x84,0x0C,0x00,/*"z",90*/
- 0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,/*"{",91*/
- 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,/*"|",92*/
- 0x40,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,/*"}",93*/
- 0x00,0x40,0x80,0x40,0x40,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"~",94*/
- };
- uint8_t const number_table_8x16[]=
- {
- 0xF8,0xF8,0x0C,0xC4, 0x0C,0xF8,0xF0,0x00, 0x03,0x07,0x0C,0x08, 0x0C,0x07,0x03,0x00, //-0- ASCII:0X30
- 0x00,0x10,0x18,0xFC, 0xFC,0x00,0x00,0x00, 0x00,0x08,0x08,0x0F, 0x0F,0x08,0x08,0x00, //-1-
- 0x08,0x0C,0x84,0xC4, 0x64,0x3C,0x18,0x00, 0x0E,0x0F,0x09,0x08, 0x08,0x0C,0x0C,0x00, //-2-
- 0x08,0x0C,0x44,0x44, 0x44,0xFC,0xB8,0x00, 0x04,0x0C,0x08,0x08, 0x08,0x0F,0x07,0x00, //-3-
- 0xC0,0xE0,0xB0,0x98, 0xFC,0xFC,0x80,0x00, 0x00,0x00,0x00,0x08, 0x0F,0x0F,0x08,0x00, //-4- ASCII:0X34
- 0x7C,0x7C,0x44,0x44, 0x44,0xC4,0x84,0x00, 0x04,0x0C,0x08,0x08, 0x08,0x0F,0x07,0x00, //-5-
- 0xF0,0xF8,0x4C,0x44, 0x44,0xC0,0x80,0x00, 0x07,0x0F,0x08,0x08, 0x08,0x0F,0x07,0x00, //-6-
- 0x0C,0x0C,0x04,0x84, 0xC4,0x7C,0x3C,0x00, 0x00,0x00,0x0F,0x0F, 0x00,0x00,0x00,0x00, //-7-
- 0xB8,0xFC,0x44,0x44, 0x44,0xFC,0xB8,0x00, 0x07,0x0F,0x08,0x08, 0x08,0x0F,0x07,0x00, //-8-
- 0x38,0x7C,0x44,0x44, 0x44,0xFC,0xF8,0x00, 0x00,0x08,0x08,0x08, 0x0C,0x07,0x03,0x00, //-9-
- };
- uint8_t const vollgoLogo94_68[]=
- {
- 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,0x1F,0x3F,0x7F,0x7F,0x7F,0xFF,
- 0x7F,0x7F,0x7F,0x3F,0x1F,0x07,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,0x01,0x01,0x01,0x01,
- 0x01,0x01,0x01,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFC,0xF8,
- 0xF8,0xF0,0xE0,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,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,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0x7F,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x1E,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,0x07,0x07,0x0F,0x0F,0x0F,
- 0x0F,0x0F,0x07,0x03,0x01,0x00,0x80,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,0xE0,0xF0,0xF8,
- 0xFC,0x7E,0x3F,0x1F,0x0F,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x3F,0x7E,0xFC,
- 0xF8,0xF0,0xE0,0xE0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x03,0x07,
- 0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x03,0x01,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,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xF9,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x0F,0x1F,0x3F,0x3F,0x3F,0x7F,0x7F,0x3F,0x3F,
- 0x3F,0x1F,0x0F,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0xC0,0xE0,
- 0xF0,0xF8,0xFF,0xFF,0x7F,0x3F,0x3F,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x0F,0x03,0x00,
- 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1F,0x3F,0x3F,
- 0x7F,0x7F,0x7F,0x3F,0x3F,0x7F,0xFF,0xF3,0xE0,0xC0,0x80,0x00,0x00,0x80,0x80,0x80,
- 0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x0F,0x1F,0x3F,0x3F,0x3F,0x7F,0x7F,0x3F,0x3F,
- 0x3F,0x1F,0x0F,0x01,0x80,0xE0,0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE,
- 0xFF,0x8F,0x0F,0x07,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x03,0x07,
- 0xEF,0xFF,0xFF,0xFE,0xFC,0xFC,0xFC,0xFC,0xFE,0xFF,0xFF,0xFF,0xC7,0x03,0x03,0x01,
- 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x03,0x07,0xEF,0xFF,0xFF,0xFE,0xFC,0xFC,0xFC,
- 0xFC,0xFC,0xFC,0xFE,0xFF,0xDF,0x0F,0x07,0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,
- 0x03,0x07,0x0F,0x1F,0xBF,0xFE,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xF8,
- 0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
- 0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0x80,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0x9E,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,
- 0xC0,0xC0,0xE0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xE0,0xF0,0xF0,0xF0,
- 0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xC0,0xC0,0xE0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- };
- imageParams_ts imageParams[5];
- static void myLCD_delay(uint32_t time_us)
- {
- uint16_t i = 0;
- uint32_t j = 0;
- for ( j = 0; j < time_us; j++)
- {
- for (i = 0; i < 10; i++)
- {
- ;
- }
- }
- }
- static void myLCD_start_flag(void)
- {
- LCD_CLK_H(); /*START FLAG*/
- LCD_SDA_H(); /*START FLAG*/
- LCD_SDA_L(); /*START FLAG*/
- }
- static void myLCD_stop_flag(void)
- {
- LCD_CLK_H(); /*STOP FLAG*/
- LCD_SDA_L(); /*STOP FLAG*/
- LCD_SDA_H(); /*STOP FLAG*/
- }
- static uint8_t i2c_wait_ack(void)
- {
- uint8_t timeoutCnt = 0;
- myLCD_setSdaMode(GPIO_Mode_IN_FLOATING);
- LCD_CLK_H();
- while (READ_LCD_SDA())
- {
- timeoutCnt++;
- if (timeoutCnt > 250)
- {
- return 0;
- }
- }
- LCD_CLK_L();
- return 1;
- }
- static void myLCD_transfer(uint8_t src)
- {
- uint8_t i;
- // myLCD_setSdaMode(GPIO_Mode_Out_OD);
- for(i = 0; i < 8;i ++)
- {
- LCD_CLK_L();
- if(src & 0x80)
- {
- LCD_SDA_H();
- }
- else
- {
- LCD_SDA_L();
- }
- LCD_CLK_H();
- LCD_CLK_L();
- src = src << 1;
- }
- LCD_SDA_L();
- LCD_CLK_H();
- LCD_CLK_L();
- }
- static uint8_t myLCD_receiver(bool ack)
- {
- uint8_t i;
- uint8_t ret = 0;
- myLCD_setSdaMode(GPIO_Mode_IN_FLOATING);
- for(i = 0; i < 8;i ++)
- {
- LCD_CLK_L();
- myLCD_delay(3);
- LCD_CLK_H();
- ret = ret << 1;
- if(READ_LCD_SDA())
- {
- ret ++;
- }
- myLCD_delay(3);
- }
- myLCD_setSdaMode(GPIO_Mode_Out_OD);
- LCD_CLK_L();
- myLCD_delay(1);
- if (ack)
- {
- LCD_SDA_L();
- }
- else
- {
- LCD_SDA_H();
- }
- myLCD_delay(1);
- LCD_CLK_H();
- myLCD_delay(4);
- LCD_CLK_L();
- myLCD_delay(1);
- if (ack)
- {
- LCD_SDA_H();
- }
- else
- {
- LCD_SDA_L();
- }
- return ret;
- }
- static void mySensor_transfer_command(uint16_t cmd)
- {
- myLCD_start_flag();
- myLCD_transfer(SENSOR_DEVICE_ADDR);
- myLCD_delay(50);
- myLCD_transfer(cmd >> 8);
- myLCD_delay(50);
- myLCD_transfer(cmd);
- myLCD_stop_flag();
- }
- static void mySensor_read(uint8_t *readData, uint8_t len)
- {
- uint8_t i;
- myLCD_start_flag();
- myLCD_transfer(SENSOR_DEVICE_ADDR | 0x01);
- LCD_SDA_H();
- myLCD_delay(2000);
- for ( i = 0; i < len; i++)
- {
- readData[i] = myLCD_receiver(i==(len - 1)?false:true);
- }
- myLCD_stop_flag();
- }
- //-----------------------------------------------------------------------------
- /**
- *
- * 兼容SHT3x,SHT2X,HTU2x
- */
- static float conversionTemperature(unsigned int rawValue)
- {
- // calculate temperature [掳C]
- // T = -45 + 175 * rawValue / (2^16-1)
- return 175.0f * (float)rawValue / 65535.0f - 45.0f;
- }
- static float conversionRelativeHumidity(unsigned int rawValue)
- {
- // calculate relative humidity [%RH]
- // RH = rawValue / (2^16-1) * 100
- return 100.0f * (float)rawValue / 65535.0f;
- }
- //-----------------------------------------------------------------------------
- int SHT3X_getPresentValue(int *pTemp, int *pHumit, unsigned char decimalPlaces)
- {
- int retSta = 0; //
- unsigned int rawValueTemp; //
- unsigned int rawValueHumi; //
- uint8_t readTempt[6];
- mySensor_transfer_command(0x2C06);
- myLCD_delay(50);
- mySensor_read(readTempt, 6);
- rawValueTemp = (unsigned int)readTempt[0]<<8 | readTempt[1];
- rawValueHumi = (unsigned int)readTempt[3]<<8 | readTempt[4];
- *pTemp = (int)(conversionTemperature(rawValueTemp)*pow(10,decimalPlaces));//& (0x00ff)
- *pHumit = (int)(conversionRelativeHumidity(rawValueHumi)*pow(10,decimalPlaces));
- return retSta;
- }
- //写命令到液晶显示模块
- static void myLCD_transfer_command(uint8_t cmd)
- {
- commandType = cmd;
- myLCD_start_flag();
- myLCD_transfer(LCD_DEVICE_ADDR);
- myLCD_transfer(0x80);
- myLCD_transfer(cmd);
- myLCD_stop_flag();
- }
- //写数据到液晶显示模块
- static void myLCD_transfer_data(uint8_t src)
- {
- myLCD_start_flag();
- myLCD_transfer(LCD_DEVICE_ADDR);
- myLCD_transfer(0xC0);
- myLCD_transfer(src);
- myLCD_stop_flag();
- }
- static void myLCD_setCommandType(commandType_te command)
- {
- if (commandType != command)
- {
- myLCD_transfer_command(command);
- }
- }
- void myLCD_setDisplayOnOff(uint8_t status)
- {
- myLCD_setCommandType(CMDT_EXT_CMD1); //
- myLCD_transfer_command(status);
- }
- void myLCD_diplayMode(displayMode_te mode)
- {
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_DISPLAY_MODE); //Display Mode
- myLCD_transfer_data(mode); //10=Monochrome Mode,11=4Gray
- }
- /**
- * level_b,浅灰度
- * level_d,浅灰度
- * 注意:调用该函数前,需先设置@LCD_CMD_DISPLAY_MODE为@DM_4GRAY_MODE
- */
- void myLCD_setGrayLevel(uint8_t level_b, uint8_t level_d)
- {
- myLCD_setCommandType(CMDT_EXT_CMD2);
- myLCD_transfer_command(LCD_CMD_SET_GRAY_LEVEL); // Gray Level
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(level_b & 0x1f); //浅灰度
- myLCD_transfer_data(level_b & 0x1f); //浅灰度
- myLCD_transfer_data(level_b & 0x1f); //浅灰度
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(level_d & 0x1f); //深灰度
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(level_d & 0x1f); //深灰度
- myLCD_transfer_data(level_d & 0x1f); //深灰度
- myLCD_transfer_data(level_d & 0x1f); //深灰度
- myLCD_transfer_data(0x00);
- myLCD_transfer_data(0x00);
- }
- #define MAX_LCD_VOP_VALUE 511
- void myLCD_setVop(uint16_t value)
- {
- value = value & MAX_LCD_VOP_VALUE;
- myLCD_transfer_command(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_SET_VOP); //
- myLCD_transfer_data(value & 0x3f); //
- myLCD_transfer_data((value >> 6) & 0x07); //
- }
- void myLCD_resetLcd(void)
- {
- LCD_RST_ENABLE();
- myLCD_delay(100);
- LCD_RST_DISABLE();
- }
- /*写 LCD 行列地址:X 为起始的列地址,Y 为起始的行地址,x_total,y_total 分别为列地址及行地址的起点到
- 终点的差值 */
- void myLCD_displayAddress(int x,int y,int x_total,int y_total)
- {
- x = x - 1;
- y = y + 7;
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_CLUMN_ADDR_SETTING); //Set Column Address
- myLCD_transfer_data(x);
- myLCD_transfer_data(x + x_total - 1);
- myLCD_transfer_command(LCD_CMD_PAGE_ADDR_SETTING); //Set Page Address
- myLCD_transfer_data(y);
- myLCD_transfer_data(y + y_total - 1);
- myLCD_transfer_command(LCD_CMD_WRITE_DISPLAY_DATA);
- }
- //写入一组 16x16 点阵的汉字字符串(字符串表格中需含有此字)
- //括号里的参数:(页,列,汉字字符串)
- /**
- *
- * inverseMode:
- * column: min=1,max=193
- * page: min=1,max=11
- */
- void myLCD_16x16(inverseMode_te inverseMode, uint8_t column, uint8_t page, char *text)
- {
- uint16_t i,j,k;
- uint16_t address;
- j=0;
- while(text[j] != '\0')
- {
- i=0;
- address=1;
- while(Chinese_text_16x16[i] > 0x7e)
- {
- if(Chinese_text_16x16[i] == text[j])
- {
- if(Chinese_text_16x16[i+1] == text[j+1])
- {
- address=i*16;
- break;
- }
- }
- i += 2;
- }
- if(address != 1)
- {
- myLCD_displayAddress(column,page,16,2);
- for(k=0;k<2;k++)
- {
- for(i=0;i<16;i++)
- {
- if (inverseMode == IM_INVERSE)
- {
- myLCD_transfer_data(~Chinese_code_16x16[address]);
- }
- else
- {
- myLCD_transfer_data(Chinese_code_16x16[address]);
- }
- address++;
- }
- }
- j +=2;
- }
- else
- {
- myLCD_displayAddress(column,page,16,2);
- for(k=0;k<2;k++)
- {
- for(i=0;i<16;i++)
- {
- if (inverseMode == IM_INVERSE)
- {
- myLCD_transfer_data(0xff);
- }
- else
- {
- myLCD_transfer_data(0x00);
- }
- }
- }
- j++;
- }
- column+=16;
- }
- }
- /**
- *
- * column: min=1,max=193
- * page: min=1,max=6
- */
- void myLCD_8x16(inverseMode_te inverseMode, int column, int page, char *text)
- {
- uint16_t i=0,j,k;
- int pageCount;
- int columnCount;
-
- pageCount = page;
- while(text[i]>0x00)
- {
- if((text[i]>=0x20)&&(text[i]<=0x7e))
- {
- j = text[i]-0x20;
- myLCD_displayAddress(column, page * 2 - 1, 8, 2);
- columnCount = column;
- pageCount = page;
- for(k=0;k<16;k++)
- {
- if (k == 8)
- {
- pageCount ++;
- columnCount = column;
- }
- columnCount ++;
- if (pageCount > MAX_PAGE_COUNT)
- {
- break;
- }
- if (columnCount > MAX_COLUMN_COUNT)
- {
- break;
- }
- if (inverseMode == IM_INVERSE)
- {
- myLCD_transfer_data(~ascii_table_8x16[j][k]);
- }
- else
- {
- myLCD_transfer_data(ascii_table_8x16[j][k]);
- }
- }
- column += 8;
- if (column > MAX_COLUMN_COUNT)
- {
- break;
- }
- }
- i++;
- }
- }
- /**
- *
- * column: min=1,max=193
- * page: min=1,max=11
- */
- void myLCD_str8x16(inverseMode_te inverseMode, int column, int page, char *fmt, ...)
- {
- va_list va;
- char tempTab[50];
- int len;
- va_start(va, fmt);
- memset(tempTab, 0, sizeof(tempTab));
- vsnprintf(tempTab, (int)sizeof(tempTab), fmt, va);
- len = strlen(tempTab);
- if (len > MAX_COLUMN_COUNT)
- {
- len = MAX_COLUMN_COUNT;
- }
-
- if (column == HORIZONTAL_CENTER)
- {
- len = strlen(tempTab) * 8 / 2;
- column = MAX_COLUMN_COUNT / 2 - len;
- }
- if (column == HORIZONTAL_RIGHT)
- {
- len = strlen(tempTab) * 8;
- column = MAX_COLUMN_COUNT - len;
- }
- if (column == HORIZONTAL_LEFT)
- {
- column = 1;
- }
-
- myLCD_8x16(inverseMode, column, page, tempTab);
- va_end(va);
- }
- /*显示 32*32 点阵的汉字或等同于 32*32 点阵的图像*/
- void myLCD_32x32(inverseMode_te inverseMode, int x,int y,char *dp)
- {
- int i,j;
- myLCD_displayAddress(x,y,32,4);
- for(i=0;i<4;i++)
- {
- for(j=0;j<32;j++)
- {
- myLCD_transfer_data(*dp);
- dp++;
- }
- }
- }
- void myLCD_displayDot(int x, int y)
- {
- myLCD_displayAddress(x, y, 0, 0);
- myLCD_transfer_data(0x01);
- }
- void myLCD_displayImage(inverseMode_te inverseMode, int x, int y, imageSrc_te index)
- {
- int j;
- int x_count;
- int y_count;
- x_count = x;
- y_count = y;
- myLCD_displayAddress(x, y, imageParams[index].width, imageParams[index].heigth / 8);
- for(j = 0;j < imageParams[index].width * imageParams[index].heigth / 8;j ++)
- {
- x_count ++;
- if (x_count > MAX_COLUMN_COUNT)
- {
- x_count = x;
- y_count ++;
- continue;
- }
- if (y_count > MAX_PAGE_COUNT)
- {
- break;
- }
-
- if (inverseMode == IM_INVERSE)
- {
- myLCD_transfer_data(~(*imageParams[index].imageSrc));
- }
- else
- {
- myLCD_transfer_data(*imageParams[index].imageSrc);
- }
- imageParams[index].imageSrc++;
- }
- }
- /**
- * 显示滚动驱动
- *
- * 注意:未调试
- *
- */
- void myLCD_scroll(scrollDisplayMode_te mode, uint8_t startAddr, uint8_t endAddr, uint8_t pages)
- {
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_SCROLL_AREA_DISPLAY); //
- myLCD_transfer_data(startAddr); //
- myLCD_transfer_data(endAddr); //
- myLCD_transfer_data(pages); //
- myLCD_transfer_data(mode); //
- }
- /**
- * 显示滚动驱动
- *
- * 注意:未调试
- *
- */
- void myLCD_scrollLine(uint8_t pages)
- {
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_SCROLL_AREA_DISPLAY_INIT); //
- myLCD_transfer_data(pages); //
- }
- void myLCD_clearFull(void)
- {
- int i;
- myLCD_displayAddress(1, 1, MAX_COLUMN_COUNT, MAX_PAGE_COUNT);
- for(i = 0; i< MAX_COLUMN_COUNT * MAX_PAGE_COUNT; i++)
- {
- myLCD_transfer_data(0x00);
- }
- }
- void myLCD_displayBlock(int x,int y)
- {
- int i;
- myLCD_displayAddress(x, y, 8, 1);
- for(i = 0; i< 4; i++)
- {
- myLCD_transfer_data(0xff);
- }
- }
- void test(int x,int y)
- {
- int i,j;
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_displayAddress(x,y,256,16);
- for(i=0;i<16;i++)
- {
- for(j=0;j<255;j++)
- {
- myLCD_transfer_data(0x55);
- }
- }
- }
- void myLCD_setSdaMode(GPIOMode_TypeDef GPIO_Mode)
- {
- static GPIOMode_TypeDef mode;
- GPIO_InitTypeDef GPIO_InitStructure;
- if (GPIO_Mode == mode)
- {
- return;
- }
-
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_LCD_SDA;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(BOARD_PORT_LCD_SDA, &GPIO_InitStructure);
- mode = GPIO_Mode;
- }
- void myLCD_init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_LCD_BG_LED;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(BOARD_PORT_LCD_BG_LED, &GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_LCD_SDA;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(BOARD_PORT_LCD_SDA, &GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_LCD_CLK;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(BOARD_PORT_LCD_CLK, &GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_LCD_RST;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(BOARD_PORT_LCD_RST, &GPIO_InitStructure);
- LCD_BG_LED_ON();
- LCD_RST_ENABLE();
- myLCD_delay(100);
- LCD_RST_DISABLE();
- myLCD_delay(10000);
-
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_POWER_SAVE_OFF); //Sleep out
- myLCD_setCommandType(CMDT_EXT_CMD2);
- myLCD_transfer_command(0xD7); //Autoread disable
- myLCD_transfer_data(0X9F); //
- myLCD_transfer_command(LCD_CMD_SET_LCD_OFFSET_VOL); //Analog SET
- myLCD_transfer_data(0x00); //OSC Frequency adjustment
- myLCD_transfer_data(0x01); //Frequency on booster capacitors->6KHz
- myLCD_transfer_data(0x03); //Bias=1/11
- // myLCD_setGrayLevel(0x12, 0x17);
- myLCD_setCommandType(CMDT_EXT_CMD1);
- myLCD_transfer_command(LCD_CMD_DATA_FORMAT_D7_D0); //Page Address setting
- myLCD_transfer_command(LCD_CMD_PAGE_ADDR_SETTING); //Page Address setting
- myLCD_transfer_data(0X00); // XS=0
- myLCD_transfer_data(0X14); // XE=159 0x28
- myLCD_transfer_command(LCD_CMD_CLUMN_ADDR_SETTING); //Clumn Address setting
- myLCD_transfer_data(0X00); // XS=0
- myLCD_transfer_data(0Xff); // XE=256
- myLCD_transfer_command(LCD_CMD_SCAN_DIRECTION); //Data scan direction
- myLCD_transfer_data(0x00); //MX.MY=Normal
- myLCD_transfer_data(0xA6);
- myLCD_transfer_command(LCD_CMD_DISPLAY_CONTROL); //Display Control
- myLCD_transfer_data(0X00); //
- myLCD_transfer_data(0X9F); //Duty=160
- myLCD_transfer_data(0X20); //Nline=off
- myLCD_diplayMode(DM_MONO_MODE);
- myLCD_setVop(250);//→←↑↓¤
- myLCD_transfer_command(LCD_CMD_POWER_CONTROL); //Power control
- myLCD_transfer_data(0x0B); //D0=regulator ; D1=follower ; D3=booste, on:1 off:0
- myLCD_delay(10000);
- myLCD_transfer_command(LCD_CMD_DISPLAY_ON); //Display on
- myLCD_delay(10000);
- myLCD_clearFull();
- imageParams[0].imageSrc = (uint8_t *)vollgoLogo94_68;
- imageParams[0].width = 94;
- imageParams[0].heigth = 72;
- }
|