|
一个用51单片机控制数控电位器x9313改变电位,来调整12864液晶对比度的例子:
控制数控电位器x9313改变电位.rar
(26.14 KB, 下载次数: 17)
下面是部分源码预览:
- /*******************************************************************
- *【文 件 名】:x9313.h *
- *【建立日期】:7月2日 *
- *【修改日期】:7月4日 *
- *【文件作用】:液晶对比度设置,共分32级 *
- *【说 明】:控制数控电位器x9313改变电位,调整对比度 *
- *------------------------------------------------------------------*
- *【作 者】:郭鑫(ben) *
- *【版 权】:国家创新性实验项目,编号GCS07001 *
- *******************************************************************/
- #ifndef _X9313_08_07_04_
- #define _X9313_08_07_04_
- /***************************头文件部分*****************************/
- #include <reg52.h>
- #include "intrins.h"
- //-------------------------管脚定义--------------------------------
- sbit inc = P1^5;
- sbit ud = P1^6;
- sbit cs = P1^7;
- /***************************函数声明*******************************/
- void short_delay();
- void down_edge(void);
- void un_latch(void);
- void x9313(void);
- void short_delay()
- {
- _nop_();
- _nop_();
- }
- void down_edge(void)
- {
- inc = 1;
- short_delay();
- inc = 0;
- short_delay();
- }
- /*******************************************************************
- *【函 数 名】:un_latch *
- *【修改日期】:2008年7月3日 *
- *【文件作用】:不保存设置 *
- *------------------------------------------------------------------*
- *【备 注】:本意是想保存的 ,有问题 *
- *******************************************************************/
- void un_latch(void)
- {
- cs = 0;
- short_delay();
- short_delay();
- cs = 1;
- short_delay();
- short_delay();
- }
- /*******************************************************************
- *【函 数 名】:x9313 *
- *【修改日期】:2008年7月3日 *
- *【文件作用】:控制x9313设置液晶对比度 *
- *------------------------------------------------------------------*
- *【备 注】: *
- *******************************************************************/
- void x9313(void)
- {
- cs = 0;
- inc = 1;
- lcd_cmd_w(0x01);
- lcd_setposition(1,0);
- lcd_str_w("显示器对比度设置");
- while(1)
- {
- if(key_check(3) == 1)
- {
- lcd_setposition(3,0);
- lcd_str_w("KEY3: 对比度增强");
- ud = 1;
- short_delay();
- down_edge();
- delay(50);
- lcd_setposition(3,0);
- lcd_str_w(" ");
- }
- if(key_check(2) == 1)
- {
- lcd_setposition(3,0);
- lcd_str_w("KEY2: 对比度减弱");
- ud = 0;
- short_delay();
- down_edge();
- delay(50);
- lcd_setposition(3,0);
- lcd_str_w(" ");
- }
- if(key_check(0) == 1)
- {
- un_latch();
- lcd_setposition(3,0);
- lcd_str_w("KEY0: 未保存");
- delay(50);
- return;
- }
- if(key_check(1) == 1)
- {
- cs = 0;
- lcd_setposition(3,0);
- lcd_str_w("KEY1: 已保存");
- delay(50);
- return;
- }
- }
- }
- #endif
复制代码
|
|