您的位置 首页 解答

由STC12C5A50S2与NOKIA1100液晶屏构成的袖珍示波器

由STC12C5A50S2与NOKIA1100液晶屏构成的袖珍示波器,功能简介:可测量双通道波形,采样率从75KHz到15Hz,输入电压应该能到50V(本人没有测

由STC12C5A50S2与NOKIA1100液晶屏构成的袖珍示波器,功用简介:可测量双通道波形,采样率从75KHz到15Hz,输入电压应该能到50V(自己没有测试过较高的电压)。

首要器材:手机电池供电,PT1301升压到5V,以TL431输出的2.5V为探头的信号地,运放TL082做信号扩大,数字电位器MCP41010做增益调度,NOKIA1100液晶屏做为显现,96*65像素点,其作业所需3.3V电压是5V电压串联LED后得来的。STC12C5A50S2做为中心操控,据材料介绍其ADC采样速度可达250KHz,两路ADC收集波形数据,一路ADC收集2.5V电压,一路ADC收集电池电压,两路PWM经低通滤波后操控调度电路的偏移。探头接口是用的双声道耳机接口,比较节约空间,可是通道间会有搅扰。按键有9个,CH:选通道; Vp/Hp:主菜单挑选:POWER:开机;Vs/Hs:(本程序未用) INC:+,STOP:关机 SET:进弹出菜单 DEC:- ESC:退出/暂停
程序介绍:
程序中为了便利图形操作,为液晶屏建立了内存缓冲,绘图操做在单片机内存中进行,然后全体复制到液晶屏.因为内存不太富余,采用了分块的办法,以时刻交换空间:
#define LCD_WIDTH 96
#define LCD_HEIGHT 8
//液晶分区数
#define LCD_PART 2
//U8 lcd_x=0;
//U8 lcd_y=0;
xdata U8 lcd_buf[LCD_HEIGHT/LCD_PART][LCD_WIDTH];//lcd显现缓存(1/LCD_PART屏)
xdata S16 lcd_bufx0=0,lcd_bufy0=0,lcd_bufx1=0,lcd_bufy1=0;//缓冲区对应四角坐标,(去掉右边框)
//x0 <= x < x1;y0 <= y < y1;
//——————————————————-
//挑选液晶屏区域
//s=0~LCD_PART-1
//——————————————————-
void lcd_buf_sel(U8 s)
{
if(s>=LCD_PART)return;
lcd_bufx0=0;
lcd_bufx1=LCD_WIDTH;
lcd_bufy0=LCD_HEIGHT*s/LCD_PART;
lcd_bufy1=LCD_HEIGHT*(s+1)/LCD_PART;
}

绘图时需遍历每个显现缓存块:
for(p=0;p {
lcd_buf_sel(p);
//LCD_DrawPic(0,0,160,123,0,gImage_t1);
lcd_buf_fill(0x04);
GUI_SetFont6x8();
GUI_dispnum(i,3,0,5,13,0);
GUI_PutStr(5,5,”welcome…”);
GUI_SetFont8x16();
GUI_PutStr(5,25,”welcome…”);
lcd_refresh();
}

程序在timer0中止里收集波形数据,首要代码如下:
//————————————————–
//定时器中查询AD
//————————————————–
void timer0(void) interrupt 1 using 3 //T0中止,用寄存器组0
{
//while(TF0==0);
//TF0=0;
U8 ad;
//static U8 fp=0;//分频
if(T0EXC==0)
{
//mmm++;
TH0=TH0RLD;//重装初值
TL0=TL0RLD;
T0EXC=T0EXH;
//dosamp();
while(ADC_CONTR&BIT(3));//等候通道0转化完结
//while(!(ADC_CONTR&BIT(4)));
ad=ADC_RES;//读通道0
if(TrigCh==0)//通道1触发
{
if(ChEnable & BIT(1))//通道2使能
ADC_CONTR=(0xE8|ADCH2);//选通道2
else //不然选通道1
ADC_CONTR=(0xE8|ADCH1);//选通道1
ADCBuf[0][BUF_Wps]=ad;//循环存储数据
}
else
{
if(ChEnable & BIT(0))//通道1使能
ADC_CONTR=(0xE8|ADCH1);//选通道1
else //不然选通道1
ADC_CONTR=(0xE8|ADCH2);//选通道2
ADCBuf[1][BUF_Wps]=ad;//循环存储数据
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/318639.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部