单片机解密LPC2131的OCMJ4X8C 液晶驱动程序
LPC2131和OCMJ4X8C的接口加一个3.3V转5V的电平转换电路,使其更加稳定,不加亦可。
- 单片机解密//=====================================================================
- // OCMJ4X8C 液晶驱动程序(串行)
- //硬件连接: CS --P0^4;
- // STD --P0^5;
- // SCLK--P0^6;
- // PSB --VSS;
- // RST --VDD;
- // VDD--逻辑电源(+5V)
- // VSS--GND(0V)
- //ocm4x8c(串).c
- 单片机解密
- //说明: 修改端口的时候只需修改定义口以及函数void Lcd_IO_Inti (void)即可
- //=====================================================================
- #include "config.h"
- #define comm 0
- #define dat 1
- #define x1 0x80
- #define x2 0x88
- #define y 0x80
- //**************************修改硬件时要修改的部分********************************
- /*定义CS控制*/
- #define Lcd_CS 4 //串行口使能,高电平有效(作RS时,1为数据,0为指令)
- #define Set_CS() IO0SET =1<<Lcd_CS
- #define Clr_CS() IO0CLR =1<<Lcd_CS
- /*定义STD控制*/
- #define Lcd_STD 5 //串口数据(作R/W时,1为读,0为写)
- #define Set_STD() IO0SET =1<<Lcd_STD
- #define Clr_STD() IO0CLR =1<<Lcd_STD
- /*定义SCLK控制*/
- #define Lcd_SCLK 6 //串口时钟,高电平有效
- #define Set_SCLK() IO0SET =1<<Lcd_SCLK
- #define Clr_SCLK() IO0CLR =1<<Lcd_SCLK
- //**************************函数定义********************************
- static void Delay_1(uint32 time);
- static void wr_lcd (uint8 dat_comm,uint8 content);
- extern void Lcd_IO_Inti(void);
- extern void Lcd_Inti(void);
- extern void set_position(uint8 xx,uint8 yy);
- extern void send_str(uint8 const *cc);
- extern void send_disp (uint8 const *img);
- extern void send_img1(uint8 const *img);
- extern void lat_disp (uint8 data1,uint8 data2);
- extern void con_disp (uint8 data1,uint8 data2,uint8 x0,uint8 y0,uint8 xl,uint8 yl);
- extern void con_disp_line (uint8 line);
- extern void clear (void);
- extern void clear_line(uint8 line);
- extern void clear_point(uint8 line,uint8 row);
- //======================================================
- // 函数名称 : Delay_1()
- // 函数功能 : 1微秒延时
- // 入口参数 : time 延时的毫秒数
- // 出口参数 : 无
- //======================================================
- void Delay_1(uint32 time)
- {
- while(time--);
- }
- //=================================================================
- // 函数名称 :void Lcd_IO_Inti (void)
- // 函数功能 :实现lcd IO 口初始化
- // 入口参数 :无
- // 出口参数 :无
- //=================================================================
- void Lcd_IO_Inti(void)
- {
- PINSEL0&=(~0x3f00);
- IO0DIR|= (1<<Lcd_CS) | (1<<Lcd_STD) | (1<<Lcd_SCLK); //设置Lcd_CS,Lcd_STD,Lcd_SCLK为输出
- IO0CLR = (1<<Lcd_CS) | (1<<Lcd_STD) | (1<<Lcd_SCLK); //Lcd_CS,Lcd_STD,Lcd_SCLK置低消除影响
- }
- //=================================================================
- // 函数名称 :void Lcd_Inti(void)
- // 函数功能 :实现lcd初始化
- // 入口参数 :无
- // 出口参数 :无
- //=================================================================
- void Lcd_Inti(void)
- {
- wr_lcd (comm,0x30); //30---基本指令动作
- wr_lcd (comm,0x01); //清屏,地址指针指向00H
- Delay_1 (0xffff); //清屏需较长时间
- wr_lcd (comm,0x06); //光标的移动方向
- wr_lcd (comm,0x0c); //显示打开,光标关,反白关
- }

芯片解密