切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 6876阅读
  • 22回复

[另类]改装坏液晶显示器  X片:观片灯 [复制链接]

上一主题 下一主题
离线wdmcxkjy
 

发帖
2323
M币
6178
专家
15
粉丝
84
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2010-10-13
大家好,这是用一台坏的电脑液晶显示器(屏碎、背光灯尚好)改装成为一个用于医院、诊所等医疗场所进行x片观看的“观片灯”。

特点:色度纯正、光线均匀、亮度可调、延迟关灯、环保省电,可加设定时功能(用于体温测定、皮试的时间提醒)

材料:一台坏液晶显示器(越大越好,要求供电和背光部件正常。如果没坏的舍得改装也勉强可以呵呵)、单片机一个、蜂鸣器一个、接插件-电线-发光二极管等若干。

 

过程提要:

1.    拆开显示器,去掉主控板,解码板。只留供电板和高压板(一般在同一块板子上)



2.      拆开液晶部分,去掉液晶板。如果可能的话把液晶板上的未碎的一层玻璃也拆下如图,并用细砂纸打磨成透明玻璃。(如果全碎的话可以找一块玻璃切割成同样大小,目的是保护液晶后面的背光部件)
3.    将去掉液晶显示部件的背光部件和那块玻璃反序装回。

4.    接单片机线路,最好用接插件连接如图

5.    编制程序并写入单片机,程序见文尾。功能可自己添加、修改

6.    改装原按键板,我这儿改成每个按键接一线到单片机,并加装了三只不同色的发光二极管用于状态显示

7.    在外壳上加装了一个四线接口用于以后的程序升级、调试。加装一个蜂鸣器用于倒计时的提醒
8.    各条线路接好后仔细检查,装好

9.    测试效果不错喔

上面的光条是拍摄时反光所致

10.  这里是程序内容。 

 
#include <reg51.h>       //51芯片管脚定义头文件
#define baogao 100
#define moren 3000
sbit dim=P1^7;             //   dim 背光亮度控制
sbit backlight=P1^6;       // on/off 背光开关控制
sbit key1=P2^0;
sbit key2=P2^1;
sbit key3=P2^2;
sbit key4=P2^3;
sbit key5=P2^4;
sbit beep=P2^5;   
 
sbit lhong=P3^4;             //指示灯
sbit llan=P3^5;

sbit key_open=P3^3;               //总开关
unsigned char dim1=8,dim2=10;
unsigned long time,time_pi,time_ti,time_guan;

 
void Delay(unsigned char c)                  /* 延时处理,12MHZ 12T时10ms*/
{
    unsigned char a,b;
        for(c;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}

void pmw_layout() interrupt 1 using 3       /*  定时计数器0的中断服务子程序,用于定时发送亮度信号*/
{
    TH0=0XFC;        //T0重新装入初值1ms
    TL0=0X18;
    dim1++;
    if(dim1>dim2) {dim=1; dim1=0;} else dim=0;                  //更改目标值,改变亮度
  if(time>1)time--;
}
void timer()               /*************定时器初始化**************/
{
TMOD=0X01; //T0模式1
EA=1;       //中断总开关打开
TH0=0Xfc;        //T0重新装入初值10ms
TL0=0X18;
ET0=1;     //T0开中断
TR0=1;         //开启T0
}

void main()
{
beep=0;
llan=0;
lhong=0;
 time=baogao;
 time_pi=0;
 time_ti=0;
 time_guan=3*moren;
timer();
while(1)                               //主循环
{
 if(key_open==0)                       //按下开关键,开关背光灯
    {
    key_open=1;  
    Delay(15);
    if(backlight==0)
       {
       beep=1;
       Delay(20);
       beep=0;
       Delay(15);
       beep=1;
       Delay(20);
       beep=0;
     time_guan=moren;
       backlight=1;
       }
    else
       {
  backlight=0;
       time_guan=0;
       Delay(10);
       beep=1;
       Delay(30);
       beep=0;
    }
    }         
                        
 if(key1==0)                           //按下第一个按键,开始测体温五分钟计时
  {
    key1=1;
    if(time_ti==0){time_ti=moren;beep=1;}
    Delay(15);
   llan=1;
    beep=0;
  }
 
 if(key2==0)                           //按下第二个按键,停止响铃 ,关闭到时定时器
  {
    key2=1;
    Delay(15);
    beep=0;
    if(time_ti==1) {time_ti=0; llan=0;}
    if(time_pi==1) {time_pi=0;  lhong=0;}
  }   
 if(backlight==1)                      //在开启背光后,可以用第三、四个按键进行亮度调节
  {
 if(key3==0&&dim2>0)                   //按下第三个按键,亮度降低
    {
    key3=1;
    Delay(25);
    dim2--;
    }
 if(key4==0&&dim2<10)                      //按下第四个按键,亮度增加
    {
    key4=1;
    Delay(25);
    dim2++;
    }
  }
 if(key5==0)                           //按下第五个按键,开始测皮试十五分钟计时
  {
    key5=1;
    if(time_pi==0){time_pi=3*moren;beep=1;}
     Delay(15);
    lhong=1;
    beep=0;
  }
 if(time==1)                       //处理由定时器传来的信号
  {
    time=baogao;
    if(time_ti>0)        //体温1定时器为打开状态
     {  llan=1;
       if(time_ti==1)                  //体温1时间 到 开警报
       {                          
         beep=1;
         Delay(10);
         beep=0;
         Delay(10);
         beep=1;
         Delay(10);
         beep=0; 
       }
       else time_ti--;
     } 
    if(time_pi>0)        //皮试1定时器为打开状态
     { lhong=1; 
       if(time_pi==1)                  //皮试1时到
       {
         beep=1;                      //皮试1时间到,开警报
         Delay(30);
         beep=0;
         Delay(10);
         beep=1; 
         Delay(10);
         beep=0;
       }
       else    time_pi--;
     }
    if(time_guan>0)          //皮试3定时器为打开状态 此定时器用于定时自动关闭屏幕
     {
       if(time_guan==1)                    //屏幕开启时间到
       {                               //屏幕开启时间过长,自动关闭
          backlight=0;
        time_guan=0;
         beep=1;       //四声警报,指示背光自动关闭
         Delay(7);
         beep=0;
         Delay(7);
         beep=1;
         Delay(7);
         beep=0;
         Delay(7);
         beep=1;
         Delay(7);  
         beep=0;
         Delay(7);
         beep=1;
         Delay(7);
         beep=0;    
       }
       else time_guan--;
           }
  }
  }
 
}

我也是初学者,程序目前只是达到能用的地步,不够精简,希望大家改正后回发上来共享一下
[ 此帖被wdmcxkjy在2010-10-13 15:24重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共9条打赏
离线kasty888

发帖
676
M币
120
专家
2
粉丝
29
只看该作者 1楼 发表于: 2010-10-13
请登录后查看
离线wdmcxkjy

发帖
2323
M币
6178
专家
15
粉丝
84
只看该作者 2楼 发表于: 2010-10-13
请登录后查看
离线freeher
发帖
198
M币
303
专家
2
粉丝
13
只看该作者 3楼 发表于: 2010-10-13
请登录后查看
离线睡不着

发帖
5720
M币
926
专家
3
粉丝
55
只看该作者 4楼 发表于: 2010-10-13
请登录后查看
离线hddlfz

发帖
7480
M币
564
专家
193
粉丝
623
只看该作者 5楼 发表于: 2010-10-13
Re:
请登录后查看
离线wdmcxkjy

发帖
2323
M币
6178
专家
15
粉丝
84
只看该作者 6楼 发表于: 2010-10-13
请登录后查看
离线hongo

发帖
53039
M币
149632
专家
275
粉丝
15184
只看该作者 7楼 发表于: 2010-10-13
请登录后查看
离线kof-1997

发帖
31927
M币
4054
专家
128
粉丝
82
只看该作者 8楼 发表于: 2010-10-13
请登录后查看
离线wdmcxkjy

发帖
2323
M币
6178
专家
15
粉丝
84
只看该作者 9楼 发表于: 2010-10-13
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个