电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

温度采集STN屏128*64显示

pdf

很久以前玩过的东西了,传上来做个小结。

温度采集用Dallas的18B20,单片机用C8051F330,STN屏的驱动芯片用Novatek的NT7534,屏的尺寸为128X64。单片机采集温度量后在STN屏上实时显示,同时利用单片机内部自带的10b Current DAC,将温度量转化为线性的模拟电压量输出,可以将此电压放大来控制外部加热部件以实现恒温控制。

调试过程中需要注意的问题:

1    18B20的数据线要上拉,并设置为Open Drain Mode

2 每次访问18B20都必须遵循:初始化,读ID, 发命令字三个步骤

3 1-Wire 协议的时序比较严格,特别是Master 对slave的读写时序,所有初始化和读写操作都是有Master发起的,Master 发出读写时隙Slot,Slave必须在规定的Slot时间段内采样数据线获得数据,或者保持或拉低总线以写入数据.

4 NT7534的驱动,配置STN屏:

一般有如下步骤:配置bias方式,扫描方式,配置内部Regulator,功耗控制,显示使能

lcd_setting(bias);                                   // set the 1/9 bias voltage

lcd_setting(ADC_NOM);

lcd_setting(SCAN_NOM);    // set the scan direction

lcd_setting(ratio);                            // set the ratio (1+Ra/Rb)=5;

lcd_setting(mode_enable);             // enable V0 setting

lcd_setting(coffient);                      // set the a="53";

lcd_setting(pwr_control);              // open all power source

lcd_setting(display_on);

NT7534是3.3V接口的芯片,如果要用5V的单片机来驱动STN屏,需要电平转换.

流程图:

Timer0 定时中断,启动温度转换,转换结束后换算为模拟电压量,LCD显示温度,单片机

返回休眠模式.

上传原理图和代码包

 

博主
浊玉
浊玉's blog
俺很菜, 但俺就是喜欢DIY 只发原创, 广结同行! xusnwise@163.com