转个自己的贴-一块160*80不带控制器的液晶屏
一块160*80不带控制器的液晶屏我的效果,直接用ram创建一个160*80的显存区,1k一下ram就别玩了,没有控制器,只有驱动器,
5块钱还要什么飞机呢!
程序:
#include "STC15F2K60S2.H"
#include "intrins.h"
typedef unsigned char uchar;
typedef unsigned int uint;
//显示刷新帧速25ms,40帧,微闪烁,过快导致对比度下降
#define LCD_DATA P2
sbitLCD_RST = P4^4; // 重启 L
sbitLCD_XCS = P3^2; //命令选择L
sbitLCD_SID = P3^3; //命令串行数据
sbitLCD_XCLK = P3^4; //命令时钟
sbitLCD_DISP = P3^5; //L关闭显示
sbitLCD_CP = P4^2; //数据移位时钟
sbitLCD_LP = P4^1; //数据锁存,com数据移位
sbitLCD_M = P3^7; //LCD输出交流信号
sbitLCD_FLM = P3^6; //帧起始
sbit LCD_D1 = P2^0; //数据输入
sbit LCD_D2 = P2^1;
sbit LCD_D3 = P2^2;
sbit LCD_D4 = P2^3;
/***********************阴码,顺向(高位在前)逐行式************************************/
uchar xdata LCD_RAM={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x70,0x3E,0x07,0xC0,0x3C,0x3F,0x81,0xFB,0xFF,0x1F,0x83,0xE0,0x1C,0x0F,0xE0,0x3F,0x1F,0xE0,0x00},
{0x00,0xF0,0x67,0x8C,0xE0,0x3C,0x30,0x07,0x00,0x07,0x39,0xC7,0x30,0x3C,0x0E,0x70,0x71,0x9C,0x70,0x00},
{0x01,0xF0,0x03,0x80,0x70,0x7C,0x30,0x06,0x00,0x06,0x30,0xCE,0x38,0x3E,0x0E,0x38,0xE0,0x1C,0x38,0x00},
{0x03,0x30,0x03,0x80,0x70,0x7C,0x30,0x0E,0x00,0x0E,0x30,0xCE,0x18,0x3E,0x0E,0x39,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x03,0x80,0x70,0xFC,0x30,0x0C,0x00,0x0C,0x39,0xCE,0x18,0x76,0x0E,0x39,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x03,0x80,0xE1,0xDC,0x3F,0x0F,0xF0,0x1C,0x1F,0x8E,0x1C,0x77,0x0E,0x71,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x07,0x07,0xC1,0x9C,0x03,0x8E,0x38,0x1C,0x0F,0x0E,0x3C,0xE7,0x0F,0xF1,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x0E,0x00,0xF3,0x9C,0x01,0xCC,0x38,0x38,0x3B,0xC3,0xF8,0xE3,0x8E,0x39,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x0E,0x00,0x73,0x1C,0x01,0xCC,0x18,0x38,0x70,0xE0,0x18,0xE3,0x8E,0x19,0xC0,0x1C,0x1C,0x00},
{0x00,0x30,0x1C,0x00,0x37,0xFF,0x01,0xCE,0x18,0x70,0x70,0xE0,0x39,0xFF,0x8E,0x1D,0xC0,0x1C,0x18,0x00},
{0x00,0x30,0x38,0x00,0x70,0x1C,0x01,0xCE,0x38,0x70,0x70,0xE0,0x39,0xC1,0xCE,0x18,0xE0,0x1C,0x38,0x00},
{0x00,0x30,0x70,0x18,0x70,0x1C,0x63,0x86,0x30,0x60,0x31,0xC0,0x71,0x81,0xCE,0x38,0xF1,0x9C,0x70,0x00},
{0x03,0xFE,0xFF,0xCF,0xC0,0x1C,0x7F,0x03,0xE0,0xE0,0x1F,0x8F,0xC3,0x80,0xCF,0xF0,0x3F,0x1F,0xC0,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xFC,0x7F,0x87,0xF0,0xC0,0xC7,0x0E,0x70,0xEE,0x07,0x80,0x78,0xE0,0xC0,0xFC,0x1F,0xE0,0x7E,0x00},
{0x03,0x80,0x60,0x0E,0x18,0xC0,0xC7,0x0E,0x71,0xCE,0x07,0xC0,0xF8,0xF0,0xC3,0x87,0x1C,0x71,0xE3,0x80},
{0x03,0x80,0x60,0x1C,0x00,0xC0,0xC7,0x0E,0x73,0x8E,0x07,0xC0,0xF8,0xF0,0xC3,0x03,0x1C,0x31,0x81,0xC0},
{0x03,0x80,0x60,0x38,0x00,0xC0,0xC7,0x0E,0x77,0x0E,0x07,0xE0,0xF8,0xF8,0xC7,0x03,0x9C,0x33,0x81,0xC0},
{0x03,0x80,0x60,0x30,0x00,0xC0,0xC7,0x0E,0x7E,0x0E,0x07,0xE1,0xF8,0xD8,0xC6,0x03,0x9C,0x33,0x80,0xC0},
{0x03,0x80,0x60,0x30,0x00,0xC0,0xC7,0x0E,0x7C,0x0E,0x07,0x61,0xB8,0xDC,0xC6,0x01,0x9C,0x73,0x00,0xC0},
{0x03,0xFC,0x7F,0x31,0xF8,0xFF,0xC7,0x0E,0x7C,0x0E,0x07,0x73,0xB8,0xCE,0xC6,0x01,0x9C,0x73,0x00,0xC0},
{0x03,0x80,0x60,0x30,0x38,0xC0,0xC7,0x0E,0x7E,0x0E,0x07,0x73,0x38,0xCE,0xC6,0x01,0x9F,0xC3,0x00,0xC0},
{0x03,0x80,0x60,0x30,0x38,0xC0,0xC7,0x0E,0x77,0x0E,0x07,0x3F,0x38,0xC7,0xC6,0x03,0x9C,0x03,0x80,0xC0},
{0x03,0x80,0x60,0x38,0x38,0xC0,0xC7,0x0E,0x73,0x8E,0x07,0x3F,0x38,0xC7,0xC7,0x03,0x9C,0x03,0x81,0xC0},
{0x03,0x80,0x60,0x18,0x38,0xC0,0xC7,0x0C,0x73,0x8E,0x07,0x1E,0x38,0xC3,0xC7,0x03,0x1C,0x01,0x81,0x80},
{0x03,0x80,0x60,0x1E,0x38,0xC0,0xC7,0x4C,0x71,0xCE,0x07,0x1E,0x38,0xC1,0xC3,0x87,0x1C,0x01,0xC3,0x80},
{0x03,0xFE,0x60,0x07,0xF0,0xC0,0xC7,0x78,0x70,0xEF,0xF7,0x1C,0x38,0xC1,0xC0,0xFC,0x1C,0x00,0x7F,0xE0},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xFC,0x1F,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x71,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x86,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x70,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x3C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0xF8,0x1F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x9C,0x07,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8C,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x01,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x8E,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x87,0x63,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x03,0x87,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};
void LCD_Init(void) //为了保证屏幕亮度,必须刷新较慢暂定50hz
{
uint i=0,x=0,y=0;
//LCD_CP=1;
LCD_LP=1;
LCD_FLM=1;
LCD_LP=0;
LCD_FLM=0;
for (x=80;x>0;x--)
{
LCD_LP=1;
LCD_LP=0;
for (i=0;i<20;i++)
{
y=LCD_RAM;
LCD_CP=1;
LCD_DATA=y>>4;
LCD_CP=0;
LCD_CP=1;
LCD_DATA=y;
LCD_CP=0;
}
}LCD_M=~LCD_M;
}
delay_us()
{_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void LCD_CMD (uchar command) //发送命令时,必须延时足够(先设定2us)才能正确配置命令
{ uchar i=0;
LCD_XCS=0;
delay_us();
LCD_XCLK=1;
delay_us();
for (i=0;i<8;i++)
{
command<<=1;
LCD_SID=CY;
delay_us();
LCD_XCLK=0;
delay_us();
LCD_XCLK=1;
delay_us(); //上升沿读取数据
}
// LCD_XCLK=0;
// LCD_SID=1;
LCD_XCS=1;
delay_us(); //关闭命令控制
}
void main()
{ unsigned char i, j;
LCD_RST=0;
i = 59;
j = 90;
do
{
while (--j);
} while (--i);
LCD_RST=1;
LCD_CMD(0x08); //00000000bD3 select frame direction.0:normal,1:reverse,bias 1/9
LCD_CMD(0x27); //00101111bSelect internal power supply operating mode
LCD_CMD(0x46); //01000111bSelect internal resistor ratio(Rb/Ra) mode
LCD_CMD(0x67); //01100111bSet the LCD booster frequency
LCD_CMD(0xf0); //11011010bSet the V0 output voltageelectronic volume register
LCD_XCS=0; //这三条必须有,不然升压不工作!或许是A,B两个版本的区别
LCD_SID=1;
LCD_XCLK=0;
// LCD_DISP=0;
// LCD_DISP=1;
// LCD_XCS=0;
// LCD_SID=0;
// LCD_XCLK=0;
while (1)
{ LCD_Init();}
}
自己的帖子转过来, 垃圾猪 发表于 2017-10-9 22:00
自己的帖子转过来,
转过来,就好好转嘛,单片机C代码,论坛发贴时有专门的代码按钮的。 普通人用不上,看着就蒙。 本帖最后由 光速飞行 于 2017-12-6 09:46 编辑
勇闯沙滩 发表于 2017-12-6 08:19
普通人用不上,看着就蒙。
你身边到处都是,这些是简单的了,怎么用不上呢? 光速飞行 发表于 2017-12-6 09:45
你身边到处都是,这些是简单的了,怎么用不上呢?
看那一大堆程序有点蒙, 勇闯沙滩 发表于 2017-12-6 13:39
看那一大堆程序有点蒙,
这是C语言,C语言很多地方都上。 这个屏点亮了:) 虽然俺看不懂,屏亮了就是高手。
页:
[1]