在线时间0 小时
UID205017
ST金币0
蝴蝶豆0
注册时间2010-6-5
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
LCD部分:
#include "periph_lcd.h"
lcd_code_item_t LCD_CODE_TAB[]=
{
[LCD_CHAR_0] ={.COM0_L=1,.COM0_H=0,.COM1_L=1,.COM1_H=1,.COM2_L=0,.COM2_H=1,.COM3_L=1,.COM3_H=1,},
[LCD_CHAR_1] ={.COM0_L=0,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=0,.COM2_H=1,.COM3_L=0,.COM3_H=0,},
[LCD_CHAR_2] ={.COM0_L=1,.COM0_H=0,.COM1_L=1,.COM1_H=0,.COM2_L=1,.COM2_H=1,.COM3_L=0,.COM3_H=1,},
[LCD_CHAR_3] ={.COM0_L=1,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=1,.COM2_H=1,.COM3_L=0,.COM3_H=1,},
[LCD_CHAR_4] ={.COM0_L=0,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=1,.COM2_H=1,.COM3_L=1,.COM3_H=0,},
[LCD_CHAR_5] ={.COM0_L=1,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=1,.COM2_H=0,.COM3_L=1,.COM3_H=1,},
[LCD_CHAR_6] ={.COM0_L=1,.COM0_H=0,.COM1_L=1,.COM1_H=1,.COM2_L=1,.COM2_H=0,.COM3_L=1,.COM3_H=1,},
[LCD_CHAR_7] ={.COM0_L=0,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=0,.COM2_H=1,.COM3_L=0,.COM3_H=1,},
[LCD_CHAR_8] ={.COM0_L=1,.COM0_H=0,.COM1_L=1,.COM1_H=1,.COM2_L=1,.COM2_H=1,.COM3_L=1,.COM3_H=1,},
[LCD_CHAR_9] ={.COM0_L=1,.COM0_H=0,.COM1_L=0,.COM1_H=1,.COM2_L=1,.COM2_H=1,.COM3_L=1,.COM3_H=1,},
[LCD_CHAR_OFF]={.COM0_L=0,.COM0_H=0,.COM1_L=0,.COM1_H=0,.COM2_L=0,.COM2_H=0,.COM3_L=0,.COM3_H=0,},
};
void LCD_Open(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_LCD,ENABLE);
CLK_RTCClockConfig(CLK_RTCCLKSource_HSI,CLK_RTCCLKDiv_64);
LCD_Init(LCD_Prescaler_8 ,LCD_Divider_18,LCD_Duty_1_4,LCD_Bias_1_3,LCD_VoltageSource_External);
LCD_PortMaskConfig(LCD_PortMaskRegister_0, 0xff);
LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x03);
LCD_ContrastConfig(LCD_Contrast_3V0);
LCD_DeadTimeConfig(LCD_DeadTime_0);
LCD_PulseOnDurationConfig(LCD_PulseOnDuration_7);
LCD_Cmd(ENABLE);
}
void LCD_DispCharOnIndex(uint8 ch, uint8 index)
{
if(index>=LCD_INDEX_MAX_COUNT)
{
return ;
}
uint8 lcd_code=LCD_CODE_TAB[ch].Byte;
if(lcd_code & BIT_MAST_COM0_L)
{
bit_arry_set_bit((void *)LCD->RAM,28*0+index*2);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*0+index*2);
}
if(lcd_code & BIT_MAST_COM0_H)
{
bit_arry_set_bit((void *)LCD->RAM,28*0+index*2+1);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*0+index*2+1);
}
if(lcd_code & BIT_MAST_COM1_L)
{
bit_arry_set_bit((void *)LCD->RAM,28*1+index*2);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*1+index*2);
}
if(lcd_code & BIT_MAST_COM1_H)
{
bit_arry_set_bit((void *)LCD->RAM,28*1+index*2+1);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*1+index*2+1);
}
if(lcd_code & BIT_MAST_COM2_L)
{
bit_arry_set_bit((void *)LCD->RAM,28*2+index*2);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*2+index*2);
}
if(lcd_code & BIT_MAST_COM2_H)
{
bit_arry_set_bit((void *)LCD->RAM,28*2+index*2+1);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*2+index*2+1);
}
if(lcd_code & BIT_MAST_COM3_L)
{
bit_arry_set_bit((void *)LCD->RAM,28*3+index*2);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*3+index*2);
}
if(lcd_code & BIT_MAST_COM3_H)
{
bit_arry_set_bit((void *)LCD->RAM,28*3+index*2+1);
}
else
{
bit_arry_clr_bit((void *)LCD->RAM,28*3+index*2+1);
}
}
void LCD_DispOffOnIndex(uint8 index)
{
LCD_DispCharOnIndex(LCD_CHAR_OFF,index);
}
void LCD_DispOffOnAllIndex(void)
{
for(uint8 i=0;i |
-
-
944.82 KB, 下载次数: 143, 下载积分: ST金币 -1
<
|