接用单片机的IO口驱动笔段型液晶
单片机源程序如下:
- //************************************************************
- // Copyright (c) 深圳市赛元微电子有限公司
- // 文件名称 : main.C
- // 作者 :
- // 模块功能 : 1/2biasLCD 驱动 1/4duty 83hz
- // 局部函数列表:
- // 最后更正日期: 2015/12/8
- // 版本 : V1.0
- // 更改记录 : 73X rom前256byte禁止查表,因此在编译的时候,
- ////设置keil->option for Target->BL51 Locate->Code Range:0x100
- //*************************************************************
- #include "LCD_1_2.H"
- bit FLGms=0;
- uchar TusCounter=0;
- //*************************************************************
- // 函数名 :void timer0_init(void)
- // 功能 :定时器初始化
- // 参数 :无
- // 返回值 :无
- // 备注 :
- //**************************************************************
- void timer0_init(void)
- {
- TMCON=0x01; //Fosc/4
- TMOD=0x02; //50us
- TL0=(256-200);
- TH0=(256-200);
- TR0=0;
- ET0=1;
- TR0=1;
- }
- //*************************************************************
- // 函数名 :void timer0()interrupt 1
- // 功能 :定时器0中断服务函数
- // 参数 :无
- // 返回值 :无
- // 备注 :
- //**************************************************************
- void timer0()interrupt 1
- {
- TusCounter++;
- if(TusCounter==20) //2ms
- {
- TusCounter=0;
- FLGms=1;
- }
- }
- //*************************************************************
- // 函数名 :void IO_init(void)
- // 功能 :IO初始化
- // 参数 :无
- // 返回值 :无
- // 备注 :
- //**************************************************************
- void IO_init(void)
- {
- P3CFG0=0x55;
- P3CFG1=0x55;
- P4CFG0=0x55;
- P4CFG1=0x55;
- P2CFG0=0x55;
- P2CFG1=0x55;
- P1CFG0=0x55;
- P1CFG1=0x55;
- }
- //*************************************************************
- // 函数名 :void main()
- // 功能 :主函数
- // 参数 :无
- // 返回值 :无
- // 备注 :
- //**************************************************************
- void main()
- {
- RSTCFG=0x08; //P1.0切换为IO口。4.2V的LVR
- IO_init();
- timer0_init();
- EA=1; //开总中断
- LCDVOS=0x04; //选择最大的电阻,1/2bias
- while(1)
- {
- if(FLGms)
- {
- FLGms=0;
- LCD_Display(); //LCD底层驱动函数
- }
- }
- }
复制代码
所有程序51hei提供下载(无原理图):
1_4Duty 1_2Bias_demo.zip
(68.46 KB, 下载次数: 44)
|