本帖最后由 34af9uc 于 2024-8-25 13:09 编辑
NY8LP10A带LCD段码屏驱动如何驱动?/*****************NY8LP10A,QYT2977******************/
/*****************LCDQYT2977************************/
/*****************ID:共同学习stm8*******************/
/*****************20240819*************************/
/**************************************************/
// _1A_ ____QYT2977 ____ ____
// | | | | | | | |
// 1F 1B | | | | | |
// |-1G-| |----| |----| |----|
// 1E 1C | | | | | |
// |__D_|.1H |____|. |____|. |____|.
<span style="color: rgb(0, 128, 0);">// 1[url=home.php?mod=space&uid=72445]@[/url] 2@ 3@ 4@ 5@ 6@ 7@ 8@ 9@ 10@ 11@ 12@</span>
// _________________________________________________________________
//|_PIN_|_1__|_2__|_3__|_4__|_5__|_6__|_7__|_8__|_9__|_10_|_11_|_12_|
//|COM0_|____|____|____|COM0|____|_1D_|_2H_|_2D_|_3H_|_3D_|_4H_|_4D_|
//|COM1_|____|____|COM1|____|_1E_|_1C_|_2E_|_2C_|_3E_|_3C_|_4E_|_4C_|
//|COM2_|____|COM2|____|____|_1F_|_1G_|_2F_|_2G_|_3F_|_3G_|_4F_|_4G_|
//|COM3_|COM3|____|____|____|_1A_|_1B_|_2A_|_2B_|_3A_|_3B_|_4A_|_4B_|
/**************************************************/
#include <ny8l.h>
/**************************************************/
#define led_l PA&=~(1<<2)
#define led_h PA|=(1<<2)
#define anjian PA&(1<<6)
/**************************************************/
/**************************************************/
void yanshi(); //延时
/**************************************************/
void main(void)
{
/**************************************************/
PAIO &=~(1<<2); //1输入,0输出
PAC |=(1<<2); //1输出,0开漏
/**************************************************/
PAIO |=(1<<6); //1输入,0输出
PAC |=(1<<6); //1.100K,0.1M
/**************************************************/ //LCD初始化
LCDPC =0;
LCDPC |=0b011 <<0; //[2:0]电荷泵时钟2KHZ
LCDPC |=0b1 <<3; //[3]电荷泵启用
LCDPC |=0b00 <<5; //[6:5]电压调节器1v
LCDPC |=0b1 <<4; //[4]内部电压调节器启用
LCDC =0;
LCDC |=0b100 <<0; //[2:0]128hz
LCDC |=0b01 <<3; //[4-3]打开LCD
*(volatile unsigned char *)(0x200)= 0x00;
*(volatile unsigned char *)(0x208)= 0x00;
*(volatile unsigned char *)(0x210)= 0x00;
*(volatile unsigned char *)(0x218)= 0x01; //1A
/**************************************************/
while(1)
{
//CLRWDT();
if(anjian){led_h;} else{led_l;}
yanshi(); //延时
}
}
/**************************************************/
/**************************************************/
void yanshi() //延时
{
unsigned char z1,z2;
for(z1=50;z1>0;z1--)
for(z2=120;z2>0;z2--);
}
/**************************************************/
/**************************************************/
|