当前位置:文档之家› stm32_12864液晶_菜单设计

stm32_12864液晶_菜单设计

stm32_12864液晶_菜单设计
stm32_12864液晶_菜单设计

/*************menu.h*******************/

#ifndef __MENU_H

#define __MENU_H

#include "stm32f10x.h"

#include "SysTick.h"

#include

#include "12864.h"

#include "AdcDisplay.h"

#include "key.h"

#include "spi_tm7705.h"

#include "eeprom.h"

typedefstruct menu//定义一个菜单

{

u8 range_from,range_to; //当前显示的项开始及结束序号u8 itemCount;//项目总数

u8 selected;//当前选择项

u8 *menuItems[17];//菜单项目

struct menu **subMenus;//子菜单

struct menu *parent;//上级菜单,如果是顶级则为null void (**func)();//选择相应项按确定键后执行的函数

}Menu;

void MainDisplay(void);

void DisplayMenu(u8 line);

void func(void);

void Unitch1(void);

void Unitch2(void);

void Unitch3(void);

void Unitch4(void);

void DiaChange(void);

void MlChange(void);

u16 NumLoop(u16 num,u8 pm);

u8 Change(u8 Sval,uint8_t* title);

void MenuInit(void);

#endif /* __MENU_H */

/*************menu.h*******************/

/************menu.c*******************/

/******************** ********************

* 文件名:menu.c

* 描述:液晶菜单函数库

* 实验平台:

* 硬件连接----------------------------

*

*

*

* ----------------------------

* 库版本:ST3.0.0

*

******************************************************************************* ***/

#include "menu.h"

//菜单与AD结果显示变量,0为AD,1为菜单

extern u8 MenuDis=0;

//typedefstruct menu//定义一个菜单

//{

// u8 range_from,range_to; //当前显示的项开始及结束序号

// u8 itemCount;//项目总数

// u8 selected;//当前选择项

// u8 *menuItems[17];//菜单项目

// struct menu **subMenus;//子菜单

// struct menu *parent;//上级菜单,如果是顶级则为null

// void (**func)();//选择相应项按确定键后执行的函数

//

//}Menu;

Menu MainMenu = { //定义主菜单

0,3,4,0,//默认显示0-3项,总共4项,当前选择第0项

{

"单位设置\x10",

"直径设置\x10",

"模量设置\x10",

"关于"

}

};

Menu UnitMenu = {//单位设置菜单

0,3,4,0,

{

"应变量ε",

"锁模力KN ",

"锁模力Ton",

"取消"

}

};

u8 UnitCh;//单位选择,0为变形量ε,1为应变量σ,2为锁模力F

Menu DiaMenu = {//单位设置菜单

0,0,1,0,

{

"主999 mm"

}

};

Menu MlMenu = {//模量设置菜单

0,0,1,0,

{

"主999 KN/mm2"

}

};

u8 DiaVal;//直径数值

u8 MlVal;//模量数值

//菜单与AD结果显示变量,0为AD,1为菜单

u8 MenuDis;

//复位前指数

u16 BaseAD[4];

//横截面积

u16 mianji;

//横截直径

u16 zhijing;

//模量

u16 moliang;

//按键返回值

u8 keyval;

uint8_t* title1="单位:MM";

uint8_t* title2="单位:KN/MM2";

extern u16 ADResult[4];//存储AD结果的数组

extern uint16_t VirtAddVarTab[NumbOfVar];//eeprom

Menu *currentMenu;//当前的菜单

void MainDisplay(void)

{

if (MenuDis==0)

AdUi();

keyval=KeyScan();

switch(keyval)

{

case 0: //什么都不干

{

Delay_ms(50);

break;

}

case 1://向上

{

if(MenuDis==1)

{

if(currentMenu->selected == 0)//到了第一项

break;

else

{

currentMenu->selected--;

DisplayMenu(currentMenu->selected);

}

}

break;

}

case 2://向下

{

if(MenuDis==1)

{

if(currentMenu->selected == currentMenu->itemCount-1)

break;

else

{

currentMenu->selected++;

DisplayMenu(currentMenu->selected);

}

}

break;

}

case 3://确认

{

if(MenuDis==0)

{

MenuDis=1;

LCD_Init();

DisplayMenu(currentMenu->selected);

}

else

{

if(currentMenu->subMenus[currentMenu->selected] !=NULL)

{

LCD_Init();

currentMenu = currentMenu->subMenus[currentMenu->selected];

DisplayMenu(currentMenu->selected);

}

else

{

if(currentMenu->func[currentMenu->selected] != NULL)

{

LCD_Init();

currentMenu->func[currentMenu->selected]();//执行相应的函数

currentMenu->selected=0;

DisplayMenu(currentMenu->selected);//返回后恢复原来的菜单状态

}

}

}

break;

}

case 4://取消

{

if(MenuDis==1)

{

if(currentMenu->parent!=NULL)//父菜单不为空,将显示父菜单

{

LCD_Init();

currentMenu = currentMenu->parent;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected);

}

else

{

MenuDis=0;

//currentMenu = MainMenu;

currentMenu->selected=0;

LCD_Init();

AdUi();

Delay_ms(100);

}

}

else

{

Clr_Scr();

Delay_ms(50);

Write_Char(0,0x30);//关闭扩展指令

//复位归零

BaseAD[0]=ADResult[0];

BaseAD[1]=ADResult[1];

BaseAD[2]=ADResult[2];

BaseAD[3]=ADResult[3];

AdUi();

}

break;

}

default:

break;

}

}

//用于显示菜单项

void DisplayMenu(u8 line) //显示菜单项并设置选中的项反白

{

inti;

line = 3-(currentMenu->range_to-line);

for(i = 0;i<4;i++)

{

LCD_Write_String(i,0,currentMenu->menuItems[i+currentMenu->range_from]); }

WhiteLineInit();

White_Line(line,0,8);//反白显示指定行

}

void func(void)

{

uint8_t* s="为人民服务";

LCD_Write_String(1,0,s);

Delay_ms(3000);

}

void Unitch1(void)

{

UnitCh=0;

LCD_Init();

currentMenu = currentMenu->parent;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected); }

void Unitch2(void)

{

UnitCh=1;

LCD_Init();

currentMenu = currentMenu->parent;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected); }

void Unitch3(void)

{

UnitCh=2;

LCD_Init();

currentMenu = currentMenu->parent;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected); }

void Unitch4(void)

{

LCD_Init();

currentMenu = currentMenu->parent;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected); }

void DiaChange(void)

{

uint8_t* s="单位:MM";

//测试代码

u16 a=0;

inti=0;

//u16 tmp1;

LCD_Init();

LCD_Write_String(0,0,s);

zhijing=Change(zhijing,title1);

mianji=3.14*((zhijing/2)*(zhijing/2));

EE_WriteVariable(VirtAddVarTab[0], zhijing);

//测试代码

// for(i=0;i<99;i++)

// {

// a=a+1;

// LCD_Write_Tri_Value(2,3,a);

// Delay_ms(50);

// }

}

void MlChange(void)

{

uint8_t* s="单位:KN/MM2";

LCD_Init();

LCD_Write_String(0,0,s);

moliang=Change(moliang,title2);

EE_WriteVariable(VirtAddVarTab[1], moliang);

}

//数字按键循环,升到9后变0,降到0后变9,参数pm为加减,1为+,0为减u16 NumLoop(u16 num,u8 pm)

{

if (pm==1)

{

if (num>=9)

num=0;

else

num=num+1;

}

else

{

if (num<=0)

num=9;

else

num=num-1;

}

return num;

}

//Sval代表直径或模量的默认值,返回修改后直径或模量的值u8 Change(u8 Sval,uint8_t* title)

{

u16 baiwei,shiwei,gewei,Dval;

//数字ascii码

//char tmpval;

//按键返回值

u8 keyval=0;

//光标位置3为百位、4为十位,5为个位

u8 loc=3;

//是否选中其中一位

u8 clicked=0;

//光标闪烁位,是否闪烁

u8 flicker=0;

baiwei=(u16)(Sval/100);

shiwei=(u16)((Sval%100)/10);

gewei=(u16)((Sval%100)%10);

// tmpval=(char)baiwei + 0x30;

// LCD_Write_Char(2,3,tmpval);

// tmpval=(char)shiwei + 0x30;

// LCD_Write_Char(2,4,tmpval);

// tmpval=(char)gewei + 0x30;

// LCD_Write_Char(2,5,tmpval);

// LCD_Write_Single_Num(2,3,baiwei);

// LCD_Write_Single_Num(2,4,shiwei);

// LCD_Write_Single_Num(2,5,gewei);

LCD_Write_Tri_Value(2,3,Sval);

WhiteLineInit();

White_Line(2,3,1);//反白显示指定行

while(1)

{

keyval=KeyScan();

switch(keyval)

{

case 0: //什么都不干

{

if (clicked)

{

if (flicker==0)

{

White_Line(2,loc,1);

flicker=1;

}

else

{

Shut_White_Line(2,loc,1);

flicker=0;

}

}

// else

// White_Line(2,loc,1);

Delay_ms(300);

break;

}

case 1://向上

{

if (clicked==0)

{

if (loc>3)

loc=loc-1;

else

loc=3;

WhiteLineInit();

White_Line(2,loc,1);

}

else

{

switch (loc)

{

case 3:

{

baiwei=NumLoop(baiwei,1);

LCD_Init();

break;

}

case 4:

{

shiwei=NumLoop(shiwei,1);

LCD_Init();

break;

}

case 5:

{

gewei=NumLoop(gewei,1);

LCD_Init();

break;

}

default:

break;

}

}

break;

}

case 2://向下

{

if (clicked==0)

{

if (loc<5)

loc=loc+1;

else

loc=5;

WhiteLineInit();

White_Line(2,loc,1);

}

else

{

switch (loc)

{

case 3:

{

baiwei=NumLoop(baiwei,0);

LCD_Init();

break;

}

case 4:

{

shiwei=NumLoop(shiwei,0);

LCD_Init();

break;

}

case 5:

{

gewei=NumLoop(gewei,0);

LCD_Init();

break;

}

default:

break;

}

}

break;

}

case 3://确认

{

if (clicked)

clicked=0;

else

clicked=1;

break;

}

case 4://取消

{

if (clicked)

clicked=0;

else //返回主菜单

{

LCD_Init();

currentMenu = &MainMenu;

currentMenu->selected=0;

DisplayMenu(currentMenu->selected);

//返回新的数值

Dval=baiwei*100+shiwei*10+gewei;

return Dval;

}

break;

}

default:

break;

}

// LCD_Init();

LCD_Write_String(0,0,title);

Dval=baiwei*100+shiwei*10+gewei;

LCD_Write_Tri_Value(2,3,Dval);

Delay_ms(20);

}

}

//初始化菜单:

void MenuInit(void)

{

MainMenu.subMenus = malloc(sizeof(&MainMenu)*4);

MainMenu.subMenus[0] = &UnitMenu;//第1项没有子菜单置null,选择后程序会调用func中相应项中的函数

MainMenu.subMenus[1] = NULL;//&DiaMenu;直接执行设置函数

MainMenu.subMenus[2] = NULL;//&MlMenu;直接执行设置函数

MainMenu.subMenus[3] = NULL;

MainMenu.func = malloc(sizeof(&func)*4);

MainMenu.func[0] = &func;

MainMenu.func[1] = &DiaChange;

MainMenu.func[2] = &MlChange;//当选择了并按了确定,会执行func函数

MainMenu.func[3] = NULL;

MainMenu.parent = NULL;//表示是顶级菜单

UnitMenu.subMenus = malloc(sizeof(&UnitMenu)*4);

UnitMenu.subMenus[0] = NULL;

UnitMenu.subMenus[1] = NULL;

UnitMenu.subMenus[2]= NULL;

UnitMenu.subMenus[3]= NULL;

UnitMenu.func = malloc(sizeof(&Unitch1)*4);

UnitMenu.func[0] = &Unitch1;

UnitMenu.func[1] = &Unitch2;

UnitMenu.func[2] = &Unitch3;

UnitMenu.func[3] = &Unitch4;

UnitMenu.parent = &MainMenu;//上一级菜单是MainMenu.进入查询子菜单后按返回键,将会显示这个菜单项

// DiaMenu.subMenus = malloc(sizeof(&DiaMenu)*1);

// DiaMenu.subMenus[0] = NULL;

// DiaMenu.func = malloc(sizeof(&func)*1);

// DiaMenu.func[0] = &func;

// DiaMenu.parent = &MainMenu;//上一级菜单是MainMenu.进入查询子菜单后按返回键,将

会显示这个菜单项

//

// MlMenu.subMenus = malloc(sizeof(&MlMenu)*1);

// MlMenu.subMenus[0] = NULL;

// MlMenu.func = malloc(sizeof(&func)*1);

// MlMenu.func[0] = &func;

// MlMenu.parent = &MainMenu;//上一级菜单是MainMenu.进入查询子菜单后按返回键,将会显示这个菜单项

currentMenu = &MainMenu;

}

/************menu.c*******************/

TFT-LCD液晶显示器的工作原理

TFT-LCD液晶显示器的工作原理 我一直记得,当初刚开始从事有关液晶显示器相关的工作时,常常遇到的困扰,就是不知道怎么跟人家解释,液晶显示器是什么? 只好随着不同的应用环境,来解释给人家听。在最早的时候是告诉人家,就是掌上型电动玩具上所用的显示屏,随着笔记型计算机开始普及,就可以告诉人家说,就是使用在笔记型计算机上的显示器。随着手机的流行,又可以告诉人家说,是使用在手机上的显示板。时至今日,液晶显示器,对于一般普罗大众,已经不再是生涩的名词。而它更是继半导体后另一种可以再创造大量营业额的新兴科技产品,更由于其轻薄的特性,因此它的应用范围比起原先使用阴极射线管(CRT,cathode-ray tube)所作成的显示器更多更广。 如同我前面所提到的,液晶显示器泛指一大堆利用液晶所制作出来的显示器。而今日对液晶显示器这个名称,大多是指使用于笔记型计算机,或是桌上型计算机应用方面的显示器。也就是薄膜晶体管液晶显示器。其英文名称为Thin-film transistor liquid crystal display,简称之TFT LCD。从它的英文名称中我们可以知道,这一种显示器它的构成主要有两个特征,一个是薄膜晶体管,另一个就是液晶本身。我们先谈谈液晶本身。 液晶(LC,liquid crystal)的分类 我们一般都认为物质像水一样都有三态,分别是固态液态跟气态。其实物质的三态是针对水而言,对于不同的物质,可能有其它不同的状态存在。以我们要谈到的液晶态而言,它是介于固体跟液体之间的一种状态,其实这种状态仅是材料的一种相变化的过程,只要材料具有上述的过程,即在固态及液态间有此一状态存在,物理学家便称之为液态晶体。

DSP课程设计---液晶显示器控制显示

一、设计题目:液晶显示器控制显示 (1) 二、设计目的与步骤: (1) 2.1、 (1) 2.2、 (1) 三、设计原理: (2) 3.1、扩展IO接口: (2) 3.2、液晶显示模块的访问、控制是由VC5416 DSP对扩展接口的操作完成.. 2 3.3、液晶显示模块编程控制: (2) 3.4、控制I/O口的寻址: (2) 3.5、显示控制方法: (2) 3.6.液晶显示器与DSP的连接: (4) 3.7、数据信号的传送: (4) 四、 CCS开发环境 (5) 4.1、 (5) 4.2、 (6) 五、C语言程序 (8) 六、实验结果和分析 (15) 6.1、 (15) 6.2、 (16) 6.3、 (16) 6.4、 (16) 七、设计收获及体会 (17)

一、设计题目:液晶显示器控制显示 二、设计目的与步骤: 2.1、设计目的 通过实验学习使用VC5416 DSP的扩展I/O端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。 2.2、设计步骤 1.实验准备: ⑴连接实验设备:请参看本书第三部分、第一章、二。 2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行: 3.启动Code Composer Studio 2.21: 选择菜单Debug→Reset CPU。 4.打开工程文件:浏览LCD.c文件的内容,理解各语句作用 工程目录:C:\ICETEK\VC5416AES61\VC5416AES61\Lab0403-LCD\LCD.pjt。5.编译、下载程序。 6.运行程序观察结果: 7将内层循环中的 “CTRLCDLCR=( nBW==0 )?(ledkey[nCount][i]):(~ledkey[nCount][i]);”语句改为“CTRLCDRCR=( nBW==0 )?(ledkey[nCount][i]):(~ledkey[nCount][i]);”,重复步骤5-6,实现在屏幕右侧显示。 8.更改程序中对页、列的设置,实现不同位置的显示。

EDA(LED点阵显示屏控制系统设计)

《EDA技术与应用》 课程设计报告 题目: LED点阵显示屏控制系统设计院(系):机电与自动化学院 专业班级:自动化 学生姓名: 学号: 2014 指导教师: 2017年6月 19日至2017年 6 月23 日 *******

《EDA技术及应用》课程设计任务书

摘要:我国经济正处于发展的高峰期,也需要广大的公共场合信息公示平台,而利用LED点阵滚动显示正好符合情况,且这种方式已经成为信息传递的一种重要手段。因此,在日常生活中,点阵随处可见。通过多种控制手段,点阵还可以实现各种文字甚至图案的动态显示。在不同的应用场合,点阵的设计要求也是不同的。传统思路一般是应用单片机实现点阵控制,但该方法有一定的局限性。 该次课程设计主要研究利用VHDL语言编程来设计汉字的显示。首先描述相应的设计电路;然后叙述在16*16矩阵显示汉字的原理;最后给出描述功能的VHDL设计语言。并通过编程、调试、仿真、下载正确实现汉字滚动、扫描显示结果。 关键词: LED点阵;FPGA;VHDL语言;汉字滚动显示。

目录 1.实验要求及总体方案 (1) 1.1 实验要求 (1) 1.2 扫描显示 (1) 1.3 滚动显示 (1) 2.LED点阵显示原理 (1) 2.1 LED点阵原理 (1) 2.2汉字取模 (2) 3.扫描显示 (3) 3.1 设计基本原理 (3) 3.2计数器设计 (3) 3.3 列驱动设计 (4) 3.4 行驱动设计 (4) 4.仿真图原理图及实物图 (4) 4.1仿真图 (4) 4.2原理图 (5) 4.3实物图 (6) 5.程序 (7) 参考文献: (10)

液晶显示器工作原理

液晶显示器工作原理 现在市场上的液晶显示器都采用了TFT液晶面板,这种液晶面板的是目前最先进的液晶显示器技术,从结构上看,液晶屏由两片线性偏光器和一层液晶所构成。其中,两片线性偏光器分别位于液晶显示器的内外层,每片只允许透过一个方向的光线,它们放置的方向成90度交叉(水平、垂直),也就是说,如果光线保持一个方向射入,必定只能通过某一片线性偏光器,而无法透过另一片,默认状态下,两片线性偏光器间会维持一定的电压差,滤光片上的薄膜晶体管就会变成一个个的小开关,液晶分子排列方向发生变化,不对射入的光线产生任何影响,液晶显示屏会保持黑色。一旦取消线性偏光器间的电压差,液晶分子会保持其初始状态,将射入光线扭转90度,顺利透过第二片线性偏光器,液晶屏幕就亮起来了。当然这是一个很简单的原理模型,真正的液晶显示器内还有更复杂的电路结构。 红绿蓝三原色大家都知道,当这三种颜色同时混合时就会产生白色,这当然实在三原色强度一样的情况下才能够显示器纯正的白色,这样,从图中我们可以看见液晶面板的每一个像素中都有三种原色,这三种原色如果强度不同变化就可以产生不同的混色效果,这样全屏就有1024×768这样的像素,所以真实分辨率就是1024×768。低端的液晶显示板,各个基色只能表现6位色,即2的6次方=64种颜色.可以很简单的得出,每个独立像素可以表现的最大颜色数是64×64× 64=262144种颜色,高端液晶显示板利用FRC技术使得每个基色则可以表现8位色,即2的8次方=256种颜色,则像素能表现的最大颜色数为 256×256×256=16777216种颜色.这种显示板显示的画面色彩更丰富,层次感也好.现在基本上显示器都拥有FRC技术,可以显示器16777216种颜色 什么是TFT-LCD 其中彩色LCD又分为STN和TFT两种屏,其中TFT-LCD是英文Thin Film Transi stor-Liquid Crystal Display的缩写,即薄膜晶体管液晶显示器,也就是大家 常说的真彩液晶显示屏,显示效果较好;而DSTN-LCD,即双扫瞄液晶显示器,则是STN-LCD的一种显示 液晶是一种介于液体和固体之间的特殊物质,它具有液体的流态性质和固体的光学性质。当液晶受到电压的影响时,就会改变它的物理性质而发生形变,此时通过它的光的折射角度就会发生变化,而产生色彩。 液晶屏幕后面有一个背光,这个光源先穿过第一层偏光板,再来到液晶体上,而当光线透过液晶体时,就会产生光线的色泽改变,从液晶体射出来的光线,还得必须经过一块彩色滤光片以及第二块偏光板。由于两块偏光板的偏振方向成90度,再加上电压的变化和一些其它的装置,液晶显示器就能显示我们想要的颜色了。 液晶显示有主动式和被动式两种,其实这两种的成像原理大同小异,只是背光源和偏光板的设计和方向有所不同。主动式液晶显示器又使用了fet场效晶体管以及共通电极,这样可以让液晶体在下一次的电压改变前一直保持电位状态。这样主动式液晶显示器就不会产生在被动式液晶显示器中常见的鬼影、或是画面延迟的残像等。现在最流行的主动式液晶屏幕是tft(thin film transistor薄

LCD液晶显示器设计毕业论文毕业论文

东莞理工学院本科毕业设计 毕业设计题目:LCD电子显示屏的控制和界面设计学生: 学号: 院系:电子工程学院 专业班级: 指导老师及职称: 起止时间:2010年4月——2010年5月

LCD液晶显示器设计毕业论文毕业论文 目录 一、摘要- - - - - - - - - - - - - - - - - - - - - - - - - - ------------------3 二、作品意义- - - - - - - - - - - - - - - - - - - - - - - - -----------------3 三、硬件设计- - - - -- - - - - - - - - - - - - - - - - - - - ----------------4 四、软件设计 - - - - - - - - - - - - - - - - - - - - - - - - ----------------5 五、设计调试 - - - - - - - - - - - - - - - - - - - - - - - ----------------8 六、指令说明- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - ---9 七、心得体会 - - - - - - - - - - - - - - - - - - - - - - - - ---------------12 八、致谢- - - - - - - - - - - - - - - - - - - - - - - - - - ------------------13 九、参考文献- - - - - - - - - - - - - - - - - - - - - - - - ----------------13 十、源程序与原理图 - - - - - - - - - - - - - - - - - - -- -

详细设计说明书书真正例子

详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2. 系统的结构 ●ui:系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用, 并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 ●client:实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的

资源,并返回相应的信息。 ●search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索 方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 ●preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该 资源。preview部分调用common部分读取属性文件的内容亦显示预览资源内容的显示格式。 3.模块1(ui)设计说明 3.1模块描述 实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。 3.2功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。 3.3交互的模块 client,search,preview,common。 3.4 模块设计 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: ●MainFrame.java:MainFrame是含有主函数的类,也是lyra客户端开始执行的类, 它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 ●FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜单 项时会弹出关于对话框。 ●Tools.java:FileTools是文件操作辅助类,可以实现文件的递归删除等。 ●XMLController.java: JDOMTes是操作xml文件的类,用JDOM来操作xml文件, 实现的功能有: (1)保存ftp服务器的文件列表(站内搜索时使用),递归的从ftp服务器读取列表,并存入一个xml文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。 (2)根据文件名在文件中查找文件,站内搜索时使用。 (3)保存ftp服务器的信息:ip,端口(默认端口21不保存),用户名(默认anonymous 不保存),密码,最多存10个;存在resource\settings\ serversinfor.xml文件中。 (4)读取已存储的ftp服务器信息。 (5)从type.xml读取搜索的类型。 ●Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量 进行初始化,这个函数在MainFrame中被调用一次。iconHashMap是hash表,用于存放文件的系统图标。 ●CustomizedController.java:包含自定义的控件类,java中的控件可能不能满足需求, 需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有: (1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 (2)CustomizedTableCellRenderer是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 (3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。 (4)RightPanel类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务

led液晶显示器的驱动原理

led液晶显示器的驱动原理 LED液晶显示器的驱动原理 艾布纳科技有限公司 前两次跟大家介绍有关液晶显示器操作的基本原理, 那是针对液晶本身的特性,与 TFT LCD 本身结构上的操作原理来做介绍. 这次我们针对 TFT LCD 的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于 Cs(storage capacitor)储存 电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在 CMOS 的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs.

图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT 的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 , 便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate走线关闭, 回复到原先的电压, 则Cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用Cs on gate的方式的原因.

LCD1602液晶显示器设计

LCD1602液晶显示课程设计 第一章绪论 1.1课题背景 当今时候是一个信息化的时代,信息的重要性不言而喻的,获取手段显得尤其重要。人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在当代显示技术中,主流的有LED显示屏和LCD液晶显示,而在这些显示技术中,尤其以液晶显示器LCD(Liquid crystal display)为代表的平板显示器发展最快,应用最广。LCD是典型的发光器件,它一材料科学为基础,综合利用了精密机械,光电及计算机技术,并正在微机械,微光学,纤维光学等前沿领域研究基础上,向高集成化,智能化方向发展。 液晶显示技术发展迅猛,市场预测表明,液晶显示平均年销售呈增长10%~13%,不久的将来有可能取代CRT,成为电子信息产品的主要显示器件,另外,液晶显示器对空间电磁辐射的干扰不敏感,且在紧凑的仪器空间不需要专门的屏蔽保护,因而课大大简化仪器的结构和制造成本,在各种便携式仪器,仪表将会越来越广泛的应用。特别是在电池供电的单片机产品中,液晶显示更是必选的显示器件。 1.2课题设计目标 本设计是基于AT89C51芯片单片机为主控芯片,结合1602液晶显示模板等外围电路,通过软件程序,来实现液晶显示英文字母。本次设计的目的在于利用单片机和IIC技术来显示英文字母。 1.3课程设计的主要工作 (1)对系统的各个模块的各个功能进行深入分析和研究,在对课题所采用的方案进行可行详细的研究后设计具体功能电路。 (2)熟悉所选芯片的功能并完成具体电路设计。

(3)对系统的最终指标进行测试,针对系统的不足,进行分析并提出一些改正方法。 1.4 设计要求 (1)运行IIC总线技术。 (2)循环显示字母。 第二章硬件设计 2.1 LCD1602简介 2.1.1 LCD1602引脚功能 LCD1602引脚如图2.1所示 图2.1 LCD1602引脚图 引脚图的功能如表2—1所示

LED16乘16电子显示器课程设计

目录 1. 前言 (2) 2. 方案设计 (2) 2.1. 系统功能要求 (2) 2.2. 硬件设计 (2) 2.2.1. 8255A芯片 (3) 2.3. 设计框图 (4) 2.4. LED点阵介绍 (5) 2.5. LED显示方式 (6) 3. 测试与调试 (7) 4. 总结与体会 (8) 5. 程序清单 (8) 6. 参考文献 (11)

1.前言 LED 电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它发布信息灵活多变,易于控制。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示屏显示信息。LED 电子显示屏由单片机控制。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。随着电子设备变成我们日常生活始终必备之物,电子显示产品也成为一个重要组件,提供快捷而方便的通讯.发光二极管(LED)电子显示屏也被广泛应用.LED 电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。随着市场的急速需求,在现有的市场上已经出现许多有关点阵显示器有关的产品,如广告活动字幕机,股票显示板,活动广告栏等。它们的优点是可按需要的。 2.方案设计 2.1.系统功能要求 设计装调一个直流电机调速控制器。利用取模软件建立标准字库,编制程序实现点阵循环左移显示汉字:上海学院。 2.2.硬件设计 (1)16X16 矩阵LED为共阴极显示,由四个8X8 LED点阵块组成,根据提供I/O地址、功能,由不同I/O口分别提供字形代码送行,列扫描信号送列扫描行,凡字形代码位"1"、列扫描信号"0"该点点亮,否则熄灭,通过逐列扫描,循环点亮字形或曲线。 (2)用8255的PA、PB输出接口提供扫描列信号;用8255的PC口和273输出接口提供扫描行信号,输出字形代码,完成16×16的点阵显示。

液晶显示器的工作原理

液晶显示器的工作原理 我们很早就知道物质有固态、液态、气态三种型态。液体分子质心的排列虽然不具有任何规律性,但是如果这些分子是长形的(或扁形的),它们的分子指向就可能有规律性。于是我们就可将液态又细分为许多型态。分子方向没有规律性的液体我们直接称为液体,而分子具有方向性的液体则称之为“液态晶体”,又简称“液晶”。液晶产品其实对我们来说并不陌生,我们常见到的手机、计算器都是属于液晶产品。液晶是在1888年,由奥地利植物学家Reinitzer发现的,是一种介于固体与液体之间,具有规则性分子排列的有机化合物。一般最常用的液晶型态为向列型液晶,分子形状为细长棒形,长宽约1nm~10nm,在不同电流电场作用下,液晶分子会做规则旋转90度排列,产生透光度的差别,如此在电源ON/OFF下产生明暗的区别,依此原理控制每个像素,便可构成所需图像。 1. 被动矩阵式LCD工作原理 TN-LCD、STN-LCD和DSTN-LCD之间的显示原理基本相同,不同之处是液晶分子的扭曲角度有些差别。下面以典型的TN-LCD为例,向大家介绍其结构及工作原理。 在厚度不到1厘米的TN-LCD液晶显示屏面板中,通常是由两片大玻璃基板,内夹着彩色滤光片、配向膜等制成的夹板? 外面再包裹着两片偏光板,它们可决定光通量的最大值与颜色的产生。彩色滤光片是由红、绿、蓝三种颜色构成的滤片,有规律地制作在一块大玻璃基

板上。每一个像素是由三种颜色的单元(或称为子像素)所组成。假如有一块面板的分辨率为1280×1024,则它实际拥有3840×1024个晶体管及子像素。每个子像素的左上角(灰色矩形)为不透光的薄膜晶体管,彩色滤光片能产生RGB三原色。每个夹层都包含电极和配向膜上形成的沟槽,上下夹层中填充了多层液晶分子(液晶空间不到5×10-6m)。在同一层内,液晶分子的位置虽不规则,但长轴取向都是平行于偏光板的。另一方面,在不同层之间,液晶分子的长轴沿偏光板平行平面连续扭转90度。其中,邻接偏光板的两层液晶分子长轴的取向,与所邻接的偏光板的偏振光方向一致。在接近上部夹层的液晶分子按照上部沟槽的方向来排列,而下部夹层的液晶分子按照下部沟槽的方向排列。最后再封装成一个液晶盒,并与驱动IC、控制IC 与印刷电路板相连接。 在正常情况下光线从上向下照射时,通常只有一个角度的光线能够穿透下来,通过上偏光板导入上部夹层的沟槽中,再通过液晶分子扭转排列的通路从下偏光板穿出,形成一个完整的光线穿透途径。而液晶显示器的夹层贴附了两块偏光板,这两块偏光板的排列和透光角度与上下夹层的沟槽排列相同。当液晶层施加某一电压时,由于受到外界电压的影响,液晶会改变它的初始状态,不再按照正常的方式排列,而变成竖立的状态。因此经过液晶的光会被第二层偏光板吸收而整个结构呈现不透光的状态,结果在显示屏上出现黑色。当液晶层不施任何电压时,液晶是在它的初始状态,会把入射光的方向扭转90度,因此让背光源的入射光能够通过整个结构,结果在显示屏上出现白

基于51单片机的液晶显示器控制电路设计_本科论文

XXXXXXX 毕业设计 题目GPRS无限通讯数据系统的设计与应用姓名xxx 学号xxx 专业班级xxx 分院xxx

指导教师xxx xxxx年xxx月xxx日

目录 摘要............................................... 错误!未定义书签。ABSTRACT........................................................... I I 第一章概述 (1) §1.1系统背景 (1) §1.2 系统概述 (2) 第二章方案论证 (3) §2.1字模数据的存储 (3) §2.2 通信电路 (3) 第三章液晶显示模块简介 (4) §3.1 显示控制器 (5) §3.2 列驱动方式 (10) §3.3 行驱动方式 (11) 第四章硬件设计 (13) §4.1硬件电路设计要求 (13) §4.2 总体电路设计构架 (13) §4.3 单片机与液晶显示模块接口 (13) §4.4 单片机与计算机的通信接口 (14) §4.5 电源电路 (15) 第五章系统软件设计 (15) §5.1 内置T6963C控制器软件特性 (15) §5.2初始化子程序设计 (19) §5.3 串行通信子程序设计 (20) §5.4 显示控制子程序设计 (21) 第六章系统调试 (22) §6.1 分步调试 (22) §6.2 系统统一调试 (23) 结束语 (24) 附录 (25)

参考文献 (30) 致谢............................................. 错误!未定义书签。

基于LCD1602液晶显示系统课程设计

课程设计(论文) 题目名称基于89C51的液晶显示系统设计 课程名称单片机原理及应在电气测控学科中的应用学生姓名刘晨 学号1141201014 系、专业电气工程系电气工程及其自动化专业 指导教师朱群峰 2013年6月14日

邵阳学院课程设计(论文)任务书 年级专业11级电气工程及 其自动化专业 学生姓名刘晨学号1141201014 题目名称基于89C51的液晶显示系统设计设计时间2013年6月3日—2013年6月14日 课程名称单片机原理及应 在电气测控学科 中的应用 课程编号121200105设计地点 数字控制与PLC实 验室(305) 一、课程设计(论文)目的 课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象. 《单片机课程设计》是继《电子技术》、和《单片机原理与应用》课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。 二、已知技术参数和条件 1、液晶显示功能见第三项“任务和要求”具体参数 1、89C51系列单片机; 2、KEIL 软件;Wave软件、protuse软件 3、THKSCM-1型单片机实验系统。 三、任务和要求 利用89C51驱动液晶显示器工作,液晶显示器的型号自己确定(可以用1602或者12864)要求显示出自己的基本信息(英文或者中文,内容自定)。 1、要求设计出硬件系统的电气原理图; 2、要求设计出程序流程图和程序; 3、要求设计出实物或者仿真调试。 注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效; 2.此表1式3份,学生、指导教师、教研室各1份。

春暖花开主题菜单设计说明书

“春暖花开宴” 菜单设计说明书 二0一三年三月七日

“春暖花开宴”主题菜单设计说明“春暖花开宴” 野菌鸡丝汤 菊花木耳 子姜炒鸭 春笋焖肉 卤水猪手 草根肉饼 竹篾禾花鱼 四宝时蔬 香油冬豆 腊味合蒸 辣炒呛菜 五色糯米饭 10位用 参考报价:368元/席(寓意路路发)

本菜单面对的是四方宾客,均采用春季时令食材,因广西受广东影响,照顾到四方宾客不同口味,故其口味以粤菜风味为主,清淡爽口,同时结合春天美食理念,多鲜多辛,多草多花多笋多姜,营养健康助阳气上升,让客人在品尝美食之余,感受酒店对四方宾客的养生关怀。本菜单突出鲜、爽、香、辛的独特风味。 宴会菜肴数目为双数,取好事有双之意,以十个菜象征十全十美,寓意美好未来! 菜肴以口味、做法、材料特点命名,通俗易懂,便于客人根据自己的喜好和愿意尝试的口味进行选择,从细微处贴近客人,起到搭建美食分享平台的作用。设计的思路是:野菌鸡丝汤初定春天美食第一印象;菊花木耳(酸、辣)、子姜炒鸭(辛、香)、春笋焖肉(鲜、爽)、卤水猪手(香、爽而不腻)、草根肉饼(鲜、香)、竹篾禾花鱼(香、嫩)、四宝时蔬(鲜)奠定春天美食基调酸、辣、辛、鲜、爽、香的独特风味;香油冬豆、腊味合蒸还可以回味对春节气氛;最后一道辣炒呛菜强调了春天的味道,同时留下绵绵余味! 菜单设计为粤菜风格,清淡味美,充分展现春意,选材都是本地农副产品,时令菜肴,体现季节特色。原料中还包含春天美食营养理念:多鲜多辛,传递养生关怀。 菜肴数量合理,倡导节俭之风。平均毛利率为33%,主要是适应四方宾客、薄利多销。参考价格为368元,寓意阳春三月路路发! 春暖花开宴中的菜肴展现各色,寓意百花齐放才是春,有“红、黄、白色、酱、黑、绿色等”,配合酸辣香辛爽各种口味,色香味俱全,搭配营养、突出健康。

液晶显示器缓冲包装设计案例

液晶显示器产品包装保护与包装工艺设计 案例 目录 引言 (1) 1 液晶显示器及其特点 (1) 1.1液晶显示器的特点 (2) 1.2 液晶显示器的包装的标志、标签和包装 (4) 1.3显示器的存放、运输环境及其可能所造成的损害 (5) 1.3.1运输环境 (5) 1.3.2对破裂的设想 (7) 1.3.3关于振动 (8) 2 液晶显示器的包装设计方案 (10) 2.1 缓冲材料的选择 (10) 2.1.1泡沫塑料 (10) 2.1.2瓦楞纸箱 (10) 2.2 缓冲材料的组合 (11) 2.3 设计条件确定 (12) 2.3.1流通环境 (13) 2.3.2产品脆值分析 (13) 2.3.3产品可缓冲部位 (13) 2.3.4产品理论缓冲面积 (15) 2.4 结构设计 (15) 2.4.1缓冲单元的设计 (15) 2.4.2缓冲垫的结构设计 (16) 3 优化设计 (17) 3.1 缓冲垫外表面的优化 (17) 3.2 优化EPS的工艺参数与密度 (18) 3.3 原包装件的确定 (18) 3.4 缓冲包装的跌落测试 (18) 4 结论 (21) 参考文献 (22)

液晶显示器缓冲包装设计 引言 21世纪是高科技的时代,人们的生活越来越离不开电脑,而电脑的普及推广很大程度上得益于液晶显示器的发明和液晶技术的发展。 由于液晶显示器属于精密电子产品,长期以来,液晶显示器的破损现象在其流通过程中时有发生,它不仅直接造成经济上的损失.而且影响着产品的市场竞争力面对产品激烈的市场竞争,设计合理的电视机包装结构巳经成为各电视机厂家不可回避的一十重要课题。实践中.液晶显示器结构强度和包装抗冲击性能的不足是导致机壳破裂的主要原因。缓冲垫作为电视机包装中的重要组成部分.它的设计直接影响着整个包装的抗冲击能力。目前,一般采用在结构上多加肋、加厚来提高液晶显示器结构强度或者简单增加缓冲垫的厚度等方法来提高液晶显示器包装的抗冲击性。虽然这些方法能够解决大多数的实际问题.但通常会造成结构和包装的过分设计,增加生产制造成本.这是生产厂家所不愿意看到的。因此,本文希望通过缓冲垫的性能分析来优化缓冲垫结构设计.从而降低材料成本并提高缓冲性能. 1液晶显示器及其特点 液晶显示器,或称LCD(Liquid Crystal Display),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。

LED16乘16电子显示器课程设计

目录 1. 前言................................................... 错误!未定义书签。 2. 方案设计............................................... 错误!未定义书签。 2.1. 系统功能要求...................................... 错误!未定义书签。 2.2. 硬件设计.......................................... 错误!未定义书签。 2.2.1. 8255A芯片................................... 错误!未定义书签。 2.3. 设计框图.......................................... 错误!未定义书签。 2.4. LED点阵介绍 ...................................... 错误!未定义书签。 2.5. LED显示方式 ...................................... 错误!未定义书签。 3. 测试与调试............................................. 错误!未定义书签。 4. 总结与体会............................................. 错误!未定义书签。 5. 程序清单............................................... 错误!未定义书签。 6. 参考文献............................................... 错误!未定义书签。

餐厅点菜系统 设计说明书

C++语言程序设计课程设计说明书 一、课程设计题目及功能简介 1、课程设计题目:餐厅点菜系统 2、程序功能简介: 1、能够实现顾客点菜、结帐、打印功能,能够实现顾客预定和VIP客户管理。 2、餐桌至少有15张。 3、客人规模在30人以上。 4、能够实现客人的排队等候等功能。 二、餐厅点菜系统背景及实用性 1、餐厅点菜系统的数据结构表 成员名(字段名)数据类型长度字段含义 Food_Name string 食物名称 Food_Price float 食物价格 food_type string 餐点类型 all_price int 总价 B[6]、C[10]、D[8] Food 对象数组 Desk_number int 桌号 Cust_type string 顾客类型 food_num int 食物数量

All_Desk_numnumber int 餐厅总桌量 Desk_customer int 每桌人数 desk_num int 客人所定桌数 All_desk int 总餐桌数 Customer_num int 每桌人数 cust_number int 客人规模 2、界面 (1)界面一 先进入:餐厅管理系统初始化 主管可以设置本餐厅所能容纳的餐桌数(不得小于15张)及每张餐桌所容纳的客人数。 (2)界面二 初始化完毕后,就进入了:餐厅管理系统

顾客可以选择:点餐、结账、或退出系统。 (3)界面三 当我们选择点餐后,屏幕上就会显示:请输入顾客数、选择用户或退出系统。 (4)界面四 当我们输入顾客数和选择用户后,屏幕就会显示出:您所需要的餐桌数并请顾客输入所需餐的类型或退出系统。 (5)界面五

显示屏工作原理

2 显示扫描原理 各个企业制造的LED显示屏的控制结构有所不同,但是,显示屏的显示扫描电路基本相同。双基色LED显示屏的显示扫描电路如图1所示。在图1中,IC1、IC2是数据锁存器电路74HC595,分别锁存红色、绿色数据,它们的性能是:①串行输入8位并行输出;②数据锁存、数据清除功能;③输出具有比较强的驱动能力。电阻RPB1、RPB2是限流电阻,根据颜色和模块的亮度来选择他们的数值。ML1是双色LED显示模块,共有8行×8列=64个LED,其中,8个引脚是红色信号输入端,8个引脚是绿色信号输入端,8个引脚是行控制输入端,共有24个引脚。三极管 Q0,Q2,…Q7是行选通、驱动作用。IC3是3-8地址译码电路74HC138,8个选通输出端分别控制相应的行。图中电路是显示屏的原理电路,其数据传送方式是数据传送与行信号异步进行:首先,同时传送8位红、绿颜色数据到电路IC1、IC2并将数据锁存,然后再传送行控制信号点亮一行LED,接下来重复上述操作,只是行信号移至下一行,依次到第八行为止,即是一次完整的扫描过程。 显示扫描电路板的设计要求具有比较低的生产成本,因此,许多企业都设计成双面电路板,这样可以节省约三分之一的电路板成本。在显示模块的相应尺寸范围内,要安放上图中的全部元器件,其对应的双层印刷电路板编制具有较大难度,所以IC1电路特别适合点阵扫描原理的LED显示模块的驱动。显示扫描电路都是采用串行方式传送数据,这样既可以节省电路板的位置,又适合显示屏与计算机之间的数据传送。 3 工作状态分析 显示扫描电路的原理是动态扫描方式,不能静态测量其工作电流,因此,要计算出工作电流,就要分析动态参数。图2是一个LED的工作电路图。电路中Q8是驱动电路,正端接电源,控制端接74HC138的输出,输出端接LED发光二极管D,与限流电阻连接,电阻接74HC595的数据输出端。LED的点亮方式是:控制74HC138的片选信号无效,为不选通,之后74HC595输出电平,低电平为点亮信号,再选通74HC138,控制输出选通信号,此时,有电流I0从Q8输出,流过D、R1后,进入74HC595的数据输出端。 在图中,V ab是加在LED上的电压,红、绿色高亮度发光二极管的压降均约2~3V,Vbc是加在限流电阻两端上的电压,通过调节限流电阻的数值,就可以改变电路的工作电流I0,当电阻R1=0时,电路依靠74HC595的输出有源电阻作为限流电阻。 在扫描电路中可以看出,电路结构比较简单,合理地调整各个部分工作参数就能够使电路工作在最佳状态。在选择电路时,还要准确掌握各个公司电路的性能,以及之间的技术参数的差别。不同型号的器件技术参数也有所区别,表1是74H C595的技术参数,表中给出了Texas Instru-ments,ST,Philips公司的74HC595的技术参数。在表中可以看出不同的公司生产的电路略有不同,因此,一块显示屏尽量要使用同一公司的电路器件,以免由于参数的差别影响显示屏的显示效果。 在表1中,Iik为输入尖峰脉冲电流,Iok为输出尖峰脉冲电流,I0为连续输出电流,Vcc为最高供电电压,f max表示在25℃时的最大工作频率(随着负载电容的不同,工作频率也不同),ta为工作温度。表中元件SN74HC595、M74HC595、74HC595对应公司是Texas Instryments,ST,Philips。 4 亮度和颜色的调整 4.1 亮度和颜色的调整 制造大屏幕时,首先要按照亮度指标选择LED或者显示模块,其次是根据选择的产品红、绿、蓝颜色的亮度比来确定哪一种颜色为基准,一般是将亮度比例低的一种作为亮度基准,当基准的一种已经达到最大亮度时,调整另外一种(双色)或两种(全彩)。显示屏幕是双色时,大多数情况下以绿色为基准,调整红色二极管的工作电流。一般是降低工作电流,以平衡颜色黄色为调整标准,这样就要减小整个显示屏幕的亮度。显示屏的颜色调整至最佳平衡状态,则会使屏的亮度降低。如果显示屏幕为了

多功能液晶电视主板设计(一)

多功能液晶电视主板设计(一) 摘要::文章介绍了一种数模一体多功能液晶电视主板的产品特点、设计目标、设计过程及目前所达到的技术水平。 关键词:多功能;液晶电视;设计 随着数字电视技术的发展,普通的模拟电视逐渐满足不了高端用户的使用要求,尤其是当地面数字信号(DVB-T系统)开播后,更加凸显了单一电视功能的局限性。数模一体液晶电视很好的解决了这个矛盾,实现了既能接收地面数字信号(DVB-T系统)又能接收传统模拟电视信号(PAL制系统)的功能。使用户能够收看到1080P格式的高清数字信号。该产品输入端子齐全,满足了一般信源输入要求,具有功能齐全、兼容性强的特点。 1产品特点及主要设计目标 1.1该主板电路模式具有以下特点 ①模拟信号接收部分采用NXP公司的方案,接口齐全; ②数字信号接收部分同样采用NXP公司方案,将数字信号当作一路模拟信源进行处理,支持1080P格式的高清信号。 ③数字信号接收部分增加CA功能,可以接收加密信号。 1.2主要设计目标 ①一般要求:接收电视制式:PAL制、DVB-T;支持多路信源:HDMI、PC、YPbPr、AV等输入。 ②主要技术指标如下。

输入灵敏度:模拟信号接收灵敏度≤51dBuV;数字信号接收灵敏度≤28dBuV。 载噪比门限值:C/N≤18dB。 各端子输入功能:要求各输入端子连接信源时图像、伴音均正常。 2设计过程 2.1电路方框图 2.2工作原理 ①模拟部分。模拟电视信号解调后的CVBS信号进入图像解码芯片TDA15481,将图像信号解码为RGB信号,该信号作为一路信源,输出至LVDS转换电路。解码过程中需要对画面进行存储,根据存储速度选用64MHz的DDR存储器,满足了存储需要的空间和存储速率的要求。 ②数字部分。DVB-T信号的接收有独立的处理系统。解调后的TS码流信号进入专用解码芯片进行后续处理。解码过程中有大量实时数据需要存储,电路中需要增加一个SDRAM存储器进行实时数据存储和交换。处理后信号为RGB信号,该信号当作一路模拟信源输出至LVDS转换电路。该部分还增加了CA功能,有效实现了机卡分离。 为了满足绿色待机的要求,增加了一个副MCU,用来实现功耗管理,达到最小限度耗能的目的。 2.3关键元器件的选用 电路中选用大量的半导体器件,如集成电路、三极管、LDO等。为了满足设计要求,器件选用需要注意,如:音频逻辑切换电路选择,要

运输包装课程设计-显示器

齐齐哈尔大学 课程设计说明书 课程名称运输包装 题目三星EX1920液晶显示器包装设计 院系 学生姓名 指导教师

摘要 通过分析三星显示器产品的流通环境和产品本身特性,选择了合适的缓冲包装材料EPS,进行了缓冲衬垫的尺寸计算和结构设计,并进行了校核,完成了缓冲包装设计。运输包装设计选用了适当的瓦楞纸箱箱型,并计算了尺寸和强度。集合包装设计进行了托盘和集装箱的选用和利用率计算。最后计算了成本,并对成本进行分析和整体的总结。 关键词:流通环境;缓冲包装;瓦楞纸箱 ABSTRACT The analysis of products through the environment of the flow and characteristics of the product itself—SANXING, I select the appropriate packaging materials buffer--EPE, and make sure the calculation and structural design of buffer pad size, and carriy out a check to complete the packaging design of the buffer.In Transport Packaging Design ,I select the appropriation type of corrugated boxes,and calculate the size and strength.In Packaging design of the collection,I tray and container selection and utilization of computing. The final ,I calculate of the costs ,and then analysis the cost and the overall of the summary. Key words:The flow of the environment;cache packaging;Corrugated Box

相关主题
文本预览
相关文档 最新文档