版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要 目前,自制家用投影机已成为电子爱好者的一个热点,也有很多爱好者及工程技术 人员将其视为推广的一个产品。进口的投影机产品价格非常昂贵,稍上档次的一般均在 2 万元以上。而电子爱好者自制的话一般不会超过 2000 元,市场销售价可达 35004000 元(外型和工艺等可能赶不上时髦的进口货) ,利润空间还是非常大的。一些中小民营企 业、学校、街道、机关在运行公务或商务活动时,均需价廉物美的投影机;而且家庭使 用时,若将投影机与家庭影院系统结合,则由于其气势恢弘的大尺寸画面(可超过 100 寸) ,能产生电影院级的震撼,因此市场前景十分看好。稍高级一点的投影机,一般都有 微电脑控制系统,对投
2、影机运行中的各种状态(如温度、投影光源、遥控/手控操作)进 行监控及响应。这里介绍一款简单可靠、性能优良的家用投影机电脑型控制板(以下简 称电脑版)的设计制作。 关键词 热敏/光敏传感器,led,调焦电机 abstract at present, home-made projector has become a hot electronics enthusiasts, many enthusiasts and engineers and technicians as a product promotion. import prices of projector is very expensiv
3、e, a little on the general level of 2 million. lovers of electronic self-made, then the general will not exceed 2,000 yuan up to 3500 the market price of 4,000 yen (form and can not keep up with technology may be fashionable imported goods), profit margins are still very large. a number of small and
4、 medium-sized private enterprises, schools, streets, public service agencies in the operation or business activities, the projector must be cheap; and family use, if the projector and home theater systems, the momentum due to its large size screen (which can be more than 100-inch), can produce cinem
5、a-level shock that the market is very optimistic about the prospects. high point slightly projectors, micro-computer control system are generally on the projector in the operation of the various state (such as temperature, light projector, remote control / manual operation) to monitor and respond to
6、. here about a simple and reliable, excellent performance projector for home computer-based control panel (hereinafter referred to as the computer version) of the design. keyword thermal electric focusing,led,light sensors 目 录 摘 要.i abstract.ii 目目 录录.iii 1 1 引 言.- 1 - 1.1 单片机和投影机简介.- 1 - 1.2 系统功能描述.
7、- 4 - 2 2 系统方案及电路设计.- 6 - 2.1 系统方案.- 6 - 2.2 调焦电机正反转控制电路 lg9110 工作原理.- 7 - 2.3 电路设计.- 10 - 3 3 程序设计.- 13 - 3.1 变量定义及初始化模块.- 13 - 3.2 光源不正常处理子程序模块.- 18 - 3.3 温度不正常处理子程序模块.- 19 - 3.4 驱动焦距电机的子程序模块.- 20 - 3.5 完整代码详解.- 20 - 4 调试应用及故障处置.- 28 - 4.1 功能调试.- 28 - 4.2 使用技巧.- 28 - 4.2.1 机械方面.- 28 - 4.2.2 光学系统.-
8、 28 - 4.2.3 灯源部分.- 29 - 4.2.4 电路部分.- 29 - 4.3 日常保养与维护.- 29 - 4.4 投影机常见故障处理.- 30 - 结 论.- 31 - 致 谢.- 32 - 参考文献.- 33 - 1 引 言 1.1 单片机和投影机简介 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统 集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价 格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原 理与结构的最佳选择。? 单片机内部也用和电脑功能类似的模块,比如 cpu,内存,并 行总线,还
9、有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家 用电脑弱很多,不过价钱也是低的,一般不超过 10 元即可.用它来做一些控制电器一 类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、vcd 等等的家 电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一种在线式 实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本, 这也是和离线式计算机的(比如家用 pc)的主要区别。 单片机是靠程序的,并且可以修 改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需 要费很大力气才能做到的,有些则是花大力气也很难做到
10、的。一个不是很复杂的功能要 是用美国 50 年代开发的 74 系列,或者 60 年代的 cd4000 系列这些纯硬件来搞定的话, 电路一定是一块大 pcb 板!但是如果要是用美国 70 年代成功投放市场的系列单片机,结 果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及 高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语 言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多 高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有 家用计算机那样的 cpu,也没有像硬盘那样的海量存储设备。一个可视
11、化高级语言编写 的小程序里面即使只有一个按钮,也会达到几十 k 的尺寸。对于家用 pc 的硬盘来讲没什 么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行, 所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和 应用软件拿到家用 pc 上来运行,家用 pc 的也是承受不了的可以说,二十世纪跨越了三 个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通 常是指个人计算机,简称 pc 机。它由主机、键盘、显示器等组成。还有一类计算机,大 多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器) 。 顾名
12、思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因 为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑 的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛, 如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片 机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型” ,如智 能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不 是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片 机或其它可编程逻辑器件上。 投影机是随着生活需要日益普及,
13、在日常生活中,大家都经常会接触到投影机,而 投影机是较为昂贵的产品,用户在选购投影机时需要格外注意,对于投影机的一些基本 参数和基本含义应该有所了解,下面就来为大家简单介绍一下投影机的一些概念性的知 识。 投影机分辨率的表示方法是用画面中水平像素数乘以垂直像素数。投影机的分辨率 不是指投影机可以接收的信号的分辨率,而是指它们的核心光引擎(dmd 芯片、lcd 面 板、lcos 面板等)的物理分辨率。尽管投影机通常可以接收多种分辨率的信号,但是当 信号分辨率高于投影机物理分辨率时,画面细节就会出现明显损失。常见分辨率和表示 方法如下: svga:800 x600 经济型投影机常见分辨率 xga:
14、 1024x768 主流商务和教育投影机采用的分辨率 sxga+: 1400 x1050 面向图像等高端专业应用的高档投影机采用的分辨率 480p:? 852x480 低端家用投影机采用的分辨率 720p:? 1280 x720 或 1280 x768 中档家用投影机采用的分辨率 1080p: 1920 x1080 或 1920 x1200 高档家用投影机采用的分辨率 三片式液晶投影机的成像原理,以某液晶投影机的光路为例:首先光线通过滤光片, 滤掉红外线和紫外线这样的不可见光,红外线和紫外线对 lcd 片有一定的损害作用。透 过两片多镜头镜片将光线均匀化,并将 uhp 灯产生的圆锥形光校正为和
15、投影图像近似的 矩形光线。在两片镜子之间的棱镜用来将光线预先极性化,较之没有该棱镜的不对称光 箱,它可以减少光线的损失。光线下一步被分光镜分为红、绿、蓝三原色并被分别反射 到相应的液晶片上。在到达液晶片之前光线还需要透过一个凸透镜和偏振片,凸透镜的 作用是将光线集中,偏振片则进一步将光线极性化,使得光线振动方向一致,可以被液 晶片控制。最后光线经过液晶片,通过电路板驱动,液晶片上的各像素点有序开闭,产 生了图像,并通过每原色光的调校产生了丰富的色彩。最后三路光线最终汇聚在一起由 镜头投射出去。 以 1024768 分辨率为例,在一块 dmd 上共有 1024768 个小反射镜,每个镜子代 表一
16、个像素,每一个小反射镜都具有独立控制光线的开关能力。小反射镜反射光线的角 度受视频信号控制,视频信号受数字光处理器 dlp 调制,把视频信号调制成等幅的脉宽 调制信号,用脉冲宽度大小来控制小反射镜开、关光路的时间,在屏幕上产生不同亮度 的灰度等级图像。dmd 投影机根据反射镜片的多少可以分为单片式,双片式和三片式。 以单片式为例,dlp 能够产生色彩是由于放在光源路径上的色轮(由红、绿、蓝群组成) , 光源发出的光通过会聚透镜到彩色滤色片产生 rgb 三基色,包含成千上万微镜的 dmd 芯片,将光源发出的光通过快速转动的红、绿、蓝过滤器投射到一个镶有微镜面阵列的 微芯片 dmd 的表面,这些微
17、镜面以每秒 5000 次的速度转动,反射入射光,经由整形透 镜后通过镜头投射出画面。 dmd 是德州仪器的数字光处理技术(dlp)的核心器件,这个只有火柴盒大小的芯片 上竟密密麻麻地排列了 80 万至 100 万面小镜子,而且每个小镜子都可以独立向正负方向 翻转 10 度,并可以每秒钟翻转 65000 次。光源通过这些小镜子反射到屏幕上直接形成图 像。所以 dlp 投影技术抛弃了传统意义上的光学会聚,可以随意改变焦点,调整起来十 分方便,而且其光学路径相当简单,体积更小。 lcos(liquid crystal on silicon)属于新型的反射式 micro lcd 投影技术,它采用涂 有
18、液晶硅的 cmos 集成电路芯片作为反射式 lcd 的基片。用先进工艺磨平后镀上铝当作 反射镜,形成 cmos 基板,然后将 cmos 基板与含有透明电极之上的玻璃基板相贴合, 再注入液晶封装而成。lcos 将控制电路放置于显示装置的后面,可以提高透光率,从而 达到更大的光输出和更高的分辨率。 lcos 也可视为 lcd 的一种,传统的 lcd 是做在玻璃基板上,lcos 则是做在硅晶 圆上。前者通常用穿透式投射的方式,光利用效率只有 3%左右,解析度不易提高; lcos 则采用反射式投射,光利用效率可达 40%以上,而且它的最大优势是可利用目前广 泛使用、便宜的 cmos 制作技术来生产,毋
19、需额外的投资,并可随半导体制程快速的微 细化,逐步提高解析度。反观高温多晶硅 lcd 则需要单独投资设备,而且属于特殊制程, 成本不易降低。lcos 面板的结构有些类似 tft lcd,一样是在上下二层基板中间分布 spacer 以加以隔绝后,再填充液晶于基板间形成光阀,藉由电路的开关以推动液晶分子的 旋转,以决定画面的明与暗。lcos 面板的上基板是 ito 导电玻璃,下基板是涂有液晶硅 的 cmos 基板,lcos 面板最大的特色在于下基板的材质是单晶硅,因此拥有良好的电 子移动率,而且单晶硅可形成较细的线路,因此与现有的 lcd 及 dlp 投影面板相比较, lcos 是一种很容易达到高
20、解析度的新型投影技术。 众所周知,投影机灯泡是一样较为昂贵的消耗品,其具有一定的使用寿命,当使用 时间长了灯泡就会老化,更换灯泡是投影机用户必须考虑到的问题,这也是投影相比机 液晶电视的一大劣势。多年来,各大投影厂商不断致力于研发使用时间更长的灯泡,led 投影技术的出现,揭开了投影机发展的一个新局面。相比传统投影机,采用 led 光源的 投影机最大的优势就是不需要更换灯泡,其灯泡寿命在 10000-20000 小时甚至更长,用户 完全无需担心投影机灯泡损耗的问题。 led(lightemittingdiode)又称为发光二极管,这种技术很早以前就开始应用在显 示和照明领域。它的主体是一块电致
21、发光的半导体材料,在它两端加上正向电压,电流 会从 led 阳极流向阴极,半导体晶体就发出从紫外到红外不同颜色的光线,电流越强, 发光越强。led 发光原理不同于传统 uhe、uhp 灯泡,它在发光过程中不会产生大量热 量,因此寿命都可以达到 10000 小时以上。由于 led 是冷光源,工作中不会像金属卤素 灯产生大量热量,并且减化了原有光源要求的复杂的光路结构,这样就可以降低对投影 机散热系统的要求,体积就可以做到比原来小得多。从小的方面来说,led 投影机一般 都保持在 1 公斤以下,有些甚至只有 0.5 公斤左右,这样的重量便于携带和移动使用。并 且噪音也小的多了。 短焦投影,顾名思义
22、就是镜头较短焦段的投影机。短焦投影有什么好处?短焦投影 机最大的好处就在于是实现同等大小的画面所需要的投射距离更短。这类投影机在投射 画面是不再需要较大的空间场景,因此广泛受到中小企业、教育市场等用户的欢迎,对 于家庭用户来说,短焦投影机同样重要,特别是一些客厅比较小的家庭用户。短焦投影 机由于采用广角或者是鱼眼镜头,其镜头的制作工艺和成本往往高于普通的镜头,高成 本的因素是不利于短焦投影机普及的主要原因。 投影机亮度指投影机的光输出,以光通量(光源在单位时间内向周围空间辐射出的 使人眼产生感觉的能量)来表示,单位是流明。对于投影机来说,流明数越高表示亮度 越强。但是由于投影机的灯泡较为昂贵,
23、而且功率是有限的,同时一味的加大功率又会 为投影仪的散热带来问题,所以对于投影机来说提高亮度需要付出很高的代价。 这是与亮度相关的概念,投出画面的中间亮度与周围亮度的比值,一般将中间定义 为 100%。投影机投射到屏幕上的图像的亮度其实并不是完全均匀的,有的地方的亮度会 高些,有的地方的亮度会低些。当然,投影机亮度分布越均匀越好。 投影机投射图像中黑与白的比值,也就是从黑到白的渐变层次。比值越大,从黑到 白的渐变层次就越多,从而色彩表现越丰富。 投影画面尺寸是指投出的画面对角线的尺寸。 要投放出需要的尺寸,需将投影机安 装在在与投影屏幕相应的距离上。目前主流投影机均能轻松投放出 100 寸以上
24、的大屏幕 画面,一些高亮度工程投影机还能够投放出 200 寸以上的画面。 投影距离是指投影机镜头与屏幕之间的水平距离。 有一些用户会将投影机安装投影幕背面来进行投放,这样可以避免了正面投放的碰 撞、遮挡等问题,不过投影幕需要选择背透幕,最好是为投影机单独配制一个暗室,这 样可以获得更好的投影效果。 水平扫描频率(行频)又叫行频,投影机的水平扫描频率都有一个范围。如果来自 计算机等图像源的输入信号的水平扫描频率超出此范围,则投影机将无法投放,通常显 示“no signal” 。如果你的计算机显示配置较高,建议你不要购买低端的水平扫描频率 较差的投影仪,否则将无法投射出理想的图像效果,甚至无法使用
25、。 垂直扫描频率(刷新率)又叫帧频或显示图像的刷新率。如果来自计算机的输入信 号的垂直扫描频率超出此范围则投影机将无法投放。在范围之内,将计算机的垂直扫描 频率设定为高值时,投影效果好。 投影机的视频输入接口是指连接计算机显示信号的接口,让计算机视频信号通过输 入接口传输到投影机进而投放出计算机的影像。部分投影机还具有视频输出接口,通过 此接口可连接显示器、液晶电视等其他显示设备的。如投影机没有此接口,要想连接显 示器,可使用 vga 分配器来实现。 1.2 系统功能描述 电脑版的技术要求及实现功能有: 1)接通电源后,投影机处于待机状态,红灯(红 led)亮。 2)按遥控器电源键或投影机面板
26、电源触发键,红灯灭,绿灯(绿 led)亮,同时投 影机的投影灯亮,冷却风扇启动工作。 3)延时 30s 后,内部光敏电阻检测投影灯光源,若正常,则电脑板发出一个负脉冲 给驱动板,整机开始工作。 4)在 10s 内,按两次面板电源触发键,或直接按一次遥控器电源键,电脑板再发出 一个负脉冲给驱动板,整机停止工作。同时投影灯灭,绿灯闪烁,冷却风扇延时 3min 停,随后绿灯灭,红灯亮。 5)正常工作时,若投影灯灭,则电脑板发出一个负脉冲给驱动板,整机停止工作。 同时切断投影灯光源电源,红灯慢闪,风扇延时 3min 停,红灯仍慢闪。 6)正常工作时,若投影机内的稳定大于 60,则经热敏电阻检测后,电脑
27、板发出 一个负脉冲给驱动板,整机停止工作。同时切断投影灯光源,红灯快闪,风扇延 时 3min 停,红灯仍快闪。 2 系统方案及电路设计 2.1 系统方案 图 1.1 为电脑板的系统构成框图,由单片机控制器、按键输入、遥控输入、继电器输 出、调焦电机输出、热敏/光敏传感、led 指示及电源灯 8 部分组成。 单片机控制器是整个系统的核心,负责整个系统的运行,这里使用了小巧的 at89c2051。 按键输入电路负责投影机调焦镜头的电机正反转控制输入设定。 遥控输入端接液晶屏组件板,现在市场上所见的大多为日产液晶屏组件,如日立、 富士等品牌,其功能较强,带 tv、video、s 端、vga、lr 声
28、音等,有的还带功放,可 直接驱动喇叭,并且都具全功能红外遥控,其遥控触发信号可直接引入电脑版中作遥控 开/关机信号。 继电器输出电路用于驱动 12v 直流风扇电机及 220v 交流投影光源灯的工作。 调焦电机输出用于调整投影机镜头的焦距。 热敏/光敏传感器用于探测工作过程中系统的状态,以进行保护。如投影灯损坏时, 则风扇延时 3min 后自动停机。再如当机内温度达 60以上时,则光源断电,风扇延时 3min 后自动停机。 led 指示电路用以显示工作状况。 电源部分负责对整个系统供电,从液晶屏组件板引入的 12v 电压,经 78l08、78l05 两级稳压电路后,提供单片机稳定可靠的 5v 电
29、源。 led 指示 单片机控制器 热敏传感电源 按键输入 传感光敏 遥控输入 继电器输出 调焦 电机 驱 动 图 1.1 电脑版的系统构成方框图 2.2 调焦电机正反转控制电路 lg9110 工作原理 lg9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将 分立电路集成在单片机 ic 之中,使外围器件成本降低,整机可靠性能提高。该芯片有两 个 ttl/cmos 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正 反向转动,它具有较大的电流驱动能力,每通道能通过 750800ma 的持续电流,峰值电 流能力可达 1.52.0a;他那个是它具有较低的输出饱和压
30、降;内置的钳位二级管能释放 感性负载的反响冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管时安 全可靠。lg9110 被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。 其特点如下: 1)低静态工作电流。 2)宽电源电压范围:2.512v。 3)每通道具有 800ma 连续电流输出能力。 4)较低的饱和压降。 5)ttl/cmos 输出电平兼容,可直接连接 cpu。 6)输出内置钳位二极管,适用于感性负载。 7)控制和驱动集成于单片 ic 之中。 8)引脚具备高压保护功能。 9)工作温度:080. oa vcc vcc ob gnd ib ia gmd 图 1.1 lg
31、9110 的引脚排列 lg9110 的引脚排列如图 1.2 所示。lg9110 的引脚定义、电特性及逻辑控制表分别 如表 1.1、表 1.2 及表 1.3 所列。 表 1.1 lg9110 的引脚定义 序号符号功能 1oaa 路输出引脚 2vcc电源电压 3vcc电源电压 4obb 路输出引脚 5gnd地线 6iaa 路输入引脚 7ibb 路输入引脚 8gnd地线 表 1.2 lg9110 的电特性 范围 符号参数 最小典型最大 单位 vcc电源电压2.2612v idd静态电流1020ua iin工作电流200350500ua ic持续输出电流750800850ma imax峰值电流1500
32、2000ma 表 1.3 lg9110 的逻辑控制 iaiboaob 1010 0101 0000 1100 lg9110 的典型应用接线图如图 1.3 所示。 图 1.3 lg9110 的典型应用 2.3 电路设计 电脑版电路如图 1.4 所示。at89c2051 单片机的 p3.2 与液晶屏组件板的触发信号端 相连,每次按遥控器的开/关键后,从液晶屏组件板触发端输出一个脉冲信号,经单片机 处理后,从 p1.4 输出一个脉冲加至触发驱动板,实现遥控启动/关机。p3.3 外接手控 on/off 按键,也可进行启动/关机。p3.4/p3.5 外接的 inc+、inc-按键用于调整投影机的 投影镜
33、头焦距,按下 inc+键后,p1.6 输出低电平,p1.5 输出高电平,调焦电机正转;反 之,按下 inc-键后,p1.5 输出低电平,p1.6 输出高电平,调焦电机反转。释放按键后, 调焦电机停转,焦距锁定。 p1.1、p3.7 分别外接热敏电阻、光敏电阻,投影灯亮时,光敏电阻受光,p3.7 为低电 平。机内温度小于 60时,经 p1.0、p1.1 内部的比较器判别,内部 p3.6 为低电平,这时 驱动板正常工作。否则若 p3.6 或 p3.7 为高电平,则整机进入保护状态。p3.0 输出经光耦 合,通过继电器驱动直流风扇工作。p3.1 输出经光耦合后,通过继电器驱动 220v 交流投 影灯
34、工作。 为了使驱动板工作稳定、可靠,除设置两级稳压电路,l1、l2、c1c4 双匹型滤波 m l9110 直流电机 vcc gnd 正转信号 反转信号 m 器外,还采用了输出光耦隔离的方式驱动,使整机工作稳定性极佳。 外接连接描述: j1:1 脚连接液晶屏组件板的 12v 电源;4 脚连接液晶屏组件板的地;2、3 脚连接 12v 直流冷却风扇。 j2:1、2 脚及 3、4 脚短路以增大继电器 k1 的触点电流容量,k1 的触点经 j2 后串入 投影灯,投影灯的工作电压为交流 220v。 j3:1 脚位负脉冲输出端,接驱动板触发端;2、3 脚对 gnd5v 之间接 2 个按键, 作为调焦电机控制
35、;4 脚位 gnd5v 输出;5 脚接面板的开/关按键;6 脚与液晶屏组 件板触发端相连,以接收遥控开/关的触发信号。 j4:1、2 脚外接直流 12v 慢速电机,进行工作调焦。 j5:1、2 脚间接红色 led,2、3 脚间接绿色 led,其中 2 脚为公共阳极。13 脚也 可接入一个双色 led。 j6:1、2 脚间接入一个 4.7k 的负温度系数热敏电阻。 j7:1、2 脚间接入一个 100k 的光敏电阻。 1 2 3 j5 1 2 j4 1 2 j6 1 2 j7 1 2 3 4 5 6 j3 1 2 3 4 j1 1 2 3 4 j2 u4 pc817 u5 pc817 u7 pc8
36、17 u8 pc817 rst 1 p30 2 p31 3 xtal2 4 xtal1 5 p32 6 p33 7 p34 8 p35 9 gnd 10 p37 11 p10 12 p11 13 p12 14 p13 15 p14 16 p15 17 p16 18 p17 19 vcc 20 u1 89c2051 gnd 3 vin 1 +8v 2 u2 mc78l08cg gnd 3 vin 1 +8v 2 u3 mc78l05cg oa 1 vcc 2 vcc 3 ob 4 gnd 5 1a 6 1b 7 gnd 8 u6 lg9110 c4 0.47uf c3 0.47uf c1 100
37、uf c2 100uf c5 100ufc6 0.1uf c7 10uf l1 l2 c8 30pf c9 30pf r18.2k r8 1k r9 1k r10 10k r11 10k r12 470k r13470k r15 10k r16 10k w1 10k w2 10k c11 0.1uf c10 0.1uf c12 0.1uf x1 11.0592mhz r3 4.7k r4 10k t1 9031 t2 9031 k1 k2 r6 4.7k r5 10k r2 1k d1 in4001 d2 in4001 r7 1k gnd12v gnd5v gnd5vgnd12v gnd12v
38、 图 1.4 电脑板电路图 3 程序设计 3.1 变量定义及初始化模块 #include /11.0592mhz 晶振 #define uchar unsigned char #define uint unsigned int /*/ bit on_off=0;/开/关机标志,1开,0关 bit over30s=0;/30 秒溢出标志,1溢出,0未溢出 bit time30s=0;/30 秒定时启动标志,1启动,0不启动 bit over3m=0;/3 分钟溢出标志,1溢出,0未溢出 bit time3m=0;/3 分钟定时启动标志,1启动,0不启动 bit drv_flag=0;/驱动板启动
39、标志,1已启动,0已关闭 bit off_flag=0;/允许关机标志,1允许关机,0不允许关机 bit rled_flashf=0;/红发光管快闪启动标志,1启动,0关闭 bit rled_flashs=0;/红发光管慢闪启动标志,1启动,0关闭 bit gled_flash=0;/绿发光管慢闪启动标志,1启动,0关闭 bit off10s_flag=0;/关机时 10 秒计时标志,1启动计时 10 秒,0关闭计时 uchar cnt=0;/ 30 秒软件计数器 uchar key_flag=0;/键按下计数器 uint counter=0;/ 3 分钟软件计数器 /*以下为 i/o 端口定
40、义*/ sbit inc=p34;/焦距增加值按键 sbit dec=p35;/焦距减少值按键 sbit m0=p16;/焦距电机正转输出 sbit m1=p15;/焦距电机反转输出 sbit rled=p12;/输出至红发光管 sbit gled=p13;/输出至绿发光管 sbit out_drv=p14;/输出负脉冲至驱动板 sbit out_light=p31;/输出控制 220v 光源继电器 sbit out_fan=p30; /输出控制 12v 风扇继电器 sbit check_tem=p36;/温度检测端 sbit check_light=p37;/光源检测端 /*函数列表*/ v
41、oid start(); void drv(); void fun_light(); void fun_tem(); void fun1(); void init(); void init_timer1(); void delay(uint k); void drv_mot(void); /*主函数*/ void main(void) init();/上电时初始化 while(1)/无限循环 if(on_off)/若启动标志为 1 if(!off_flag)start();off_flag=1;/ 若原来停机等待,则启动 check_tem=1;check_light=1;/ 温度与光源检测端
42、置为输入状态 if(!check_tem)/调用驱动焦距电机的子程序,进行调焦 gled=0;rled=1;/正常工作过程,绿灯亮 gled_flash=0;rled_flashf=0;rled_flashs=0;/ 绿灯慢闪标志复位, /红灯快、慢闪标志复位 out_light=0;/ 投影光源亮 out_fan=0;/ 冷却风扇转 if(check_tem)fun_tem();/若温度不正常,调用 fun_tem()子程序处理 if(check_light)fun_light();/若光源不正常,调用 fun_light()子程序处理 else/否则启动标志为 0,进入关机或待机过程 if
43、(off_flag)/ 若关机标志有效 if(drv_flag)fun1();/若已启动驱动板,进入关机过程 rled=0;gled=1;/ 正常待机过程 out_light=1;/ 投影光源灭 out_fan=1;/ 冷却风扇停转 /*初始化子函数*/ void init() inc=1;dec=1;m0=1;m1=1;/ check_tem=1; check_light=1; p3_2=1;p3_3=1; init_timer1(); it0=1;it1=1; /*=*/ on_off=0;off_flag=0;drv_flag=0; off10s_flag=0; /*定时器 1 初始化*
44、/ void init_timer1() tmod=0 x11; th0=-(48000/256); tl0=-(48000%256); ie=0 x8f; tr1=1; /*定时器 1 中断服务子函数*/ void time1(void) interrupt 3 using 1 th0=-(48000/256);/ 重装定时初值 tl0=-(48000%256); /*-*/ if(gled_flash)/ 若绿灯慢闪标志有效 cnt+;/开始计数 if(cnt=10)gled=!gled;cnt=0;/ 每 0.5 秒绿灯闪动一次 /*-*/ if(rled_flashs)/ 若红灯慢闪标
45、志有效 cnt+; if(cnt=10)rled=!rled;cnt=0; / 每 0.5 秒红灯闪动一次 /*-*/ if(rled_flashf)/ 若红灯快闪标志有效 cnt+; if(cnt=2)rled=!rled;cnt=0; / 每 0.1 秒红灯闪动一次 /*-*/ if(time3m) / 若 3 分启动标志有效 counter+;/开始计数 if(counter=2510)over3m=1;counter=0;/3 分到,则 3 分溢出标志置位 /*-*/ if(time30s) / 若 30 秒启动标志有效 counter+;/开始计数 if(counter=400)ov
46、er30s=1;counter=0; /30 秒到,则 30 秒溢出标志置位 /*-*/ if(off10s_flag) / 若 10 秒关机标志有效 counter+;/开始计数 if(counter=130)off10s_flag=0;key_flag=1;counter=0; /若 10 秒内无第二次关机按键动作,则键计数器置 1,继续保持开机工作 /*外中断 0 服务子函数*/ void zd_int0() interrupt 0 using 2/遥控控制开/关机 on_off=!on_off; /开/关机标志取反,1开,0关 /*外中断 1 服务子函数*/ void zd_int1(
47、) interrupt 2 using 3/手动控制开/关机 delay(5);/ 延时 5ms 再判 if(p3_3=0)key_flag+;/若键依旧按下,键计数器递加 if(key_flag=1)on_off=1;off10s_flag=0;/ 键计数器为 1,则开机 if(key_flag=3)key_flag=0;/ 键计数器的范围为 0-2,即 0-20 秒有效 if(key_flag=0)on_off=0;off10s_flag=0; / 键计数器为 0,则关机等待 if(key_flag=2)off10s_flag=1;/ 键计数器为 2,进入关机状态 /*机器已工作情况下,1
48、0 秒内连按二次关机键,键计数器为 2,进入关机。否则,10 秒一到,键计数器又置 1 继续进入工作。因为电脑认为可能有人不慎碰到关机键*/ while(p3_3=0)/ 等待释放键后退出中断子函数 delay(5); if(p3_3=1)break; /*延时 k*1ms 子函数*/ void delay(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j121;j+) ; /*启动子函数*/ void start() gled_flash=0;rled_flashf=0;rled_flashs=0;/ 复位相关标志 gled=0;rled=1;/ 绿灯亮
49、out_light=0;/ 点亮投影灯光源 out_fan=0;/ 冷却风扇启动 time30s=1;/30 秒标志置位 ex0=0;ex1=0;/ 开放 int0、int1 中断 while(!over30s);/ 等延时 30 秒 time30s=0;/ 相关标志复位 over30s=0; if(!check_light)/ 若光源检测端为低电平,即光源正常发光 if(!drv_flag)drv();drv_flag=1;/ 若驱动板启动标志为0 (尚未启动) , /调用触发子函数 ex0=1;ex1=1;/ 关闭外中断 /*产生触发驱动板的负脉冲子函数 */ void drv()/ 产生
50、 1ms 的负脉冲 out_drv=1; out_drv=0; delay(1); out_drv=1; 3.2 光源不正常处理子程序模块 /*光源不正常处理子函数*/ void fun_light() if(drv_flag)drv();drv_flag=0; out_fan=0; out_light=1;gled=1; rled_flashf=0; rled_flashs=1; over3m=0; time3m=1; ex0=0;ex1=0; while(!over3m)out_light=1;out_fan=0; ex0=1;ex1=1; time3m=0; over3m=0; on_o
51、ff=0; while(!on_off) out_fan=1;out_light=1;gled=1;off_flag=0;key_flag=0; rled_flashf=0;rled_flashs=1;gled_flash=0;off10s_flag=0; if(on_off)rled_flashs=0;break; 3.3 温度不正常处理子程序模块 /*温度不正常处理*/ void fun_tem() if(drv_flag)drv();drv_flag=0; out_fan=0; out_light=1;gled=1; rled_flashf=1; rled_flashs=0; over3
52、m=0; time3m=1; ex0=0;ex1=0; while(!over3m)out_light=1;out_fan=0; ex0=1;ex1=1; time3m=0; over3m=0; on_off=0; while(!on_off) out_fan=1;out_light=1;gled=1;off_flag=0;key_flag=0; rled_flashf=1;rled_flashs=0;gled_flash=0;off10s_flag=0; if(on_off)rled_flashf=0;break; /*关机子函数*/ void fun1() out_light=1;/ 关闭
53、光源 if(drv_flag)drv();drv_flag=0; / 若驱动板启动标志为1(已经启动工作) , /调用触发子函数发一个脉冲令其关机 over3m=0;/ 清除 3 分溢出标志 time3m=1;/ 启动 3 分计时 ex0=0;ex1=0;/ 关闭外中断 while(!over3m)gled_flash=1;rled_flashf=0;rled_flashs=0;rled=1;out_fan=0; /*等待 3 分延时,同时打开风扇冷却*/ ex0=1;ex1=1; / 3 分过,打开外中断 over3m=0; /清除标志 time3m=0; off_flag=0; out_l
54、ight=1; out_fan=1; gled_flash=0; rled_flashf=0;rled_flashs=0; gled=1; rled=0; 3.4 驱动焦距电机的子程序模块 /*驱动焦距电机的子函数*/ void drv_mot(void) if(!inc)|(!dec) delay(10); if(!inc)m0=0;m1=1; else if(!dec) m1=0;m0=1; else m1=1;m0=1; if(inc)m0=1; /两个键都按下,电机不转 3.5 完整代码详解 #include /11.0592mhz 晶振 #define uchar unsigned
55、char #define uint unsigned int /*/ bit on_off=0;/开/关机标志,1开,0关 bit over30s=0;/30 秒溢出标志,1溢出,0未溢出 bit time30s=0;/30 秒定时启动标志,1启动,0不启动 bit over3m=0;/3 分钟溢出标志,1溢出,0未溢出 bit time3m=0;/3 分钟定时启动标志,1启动,0不启动 bit drv_flag=0;/驱动板启动标志,1已启动,0已关闭 bit off_flag=0;/允许关机标志,1允许关机,0不允许关机 bit rled_flashf=0;/红发光管快闪启动标志,1启动,
56、0关闭 bit rled_flashs=0;/红发光管慢闪启动标志,1启动,0关闭 bit gled_flash=0;/绿发光管慢闪启动标志,1启动,0关闭 bit off10s_flag=0;/关机时 10 秒计时标志,1启动计时 10 秒,0关闭计时 uchar cnt=0;/ 30 秒软件计数器 uchar key_flag=0;/键按下计数器 uint counter=0;/ 3 分钟软件计数器 /*以下为 i/o 端口定义*/ sbit inc=p34;/焦距增加值按键 sbit dec=p35;/焦距减少值按键 sbit m0=p16;/焦距电机正转输出 sbit m1=p15;/
57、焦距电机反转输出 sbit rled=p12;/输出至红发光管 sbit gled=p13;/输出至绿发光管 sbit out_drv=p14;/输出负脉冲至驱动板 sbit out_light=p31;/输出控制 220v 光源继电器 sbit out_fan=p30; /输出控制 12v 风扇继电器 sbit check_tem=p36;/温度检测端 sbit check_light=p37;/光源检测端 /*函数列表*/ void start(); void drv(); void fun_light(); void fun_tem(); void fun1(); void init()
58、; void init_timer1(); void delay(uint k); void drv_mot(void); /*主函数*/ void main(void) init();/上电时初始化 while(1)/无限循环 if(on_off)/若启动标志为 1 if(!off_flag)start();off_flag=1;/ 若原来停机等待,则启动 check_tem=1;check_light=1;/ 温度与光源检测端置为输入状态 if(!check_tem)/调用驱动焦距电机的子程序,进行调焦 gled=0;rled=1;/正常工作过程,绿灯亮 gled_flash=0;rled
59、_flashf=0;rled_flashs=0;/ 绿灯慢闪标志复位, /红灯快、慢闪标志复位 out_light=0;/ 投影光源亮 out_fan=0;/ 冷却风扇转 if(check_tem)fun_tem();/若温度不正常,调用 fun_tem()子程序处理 if(check_light)fun_light();/若光源不正常,调用 fun_light()子程序处理 else/否则启动标志为 0,进入关机或待机过程 if(off_flag)/ 若关机标志有效 if(drv_flag)fun1();/若已启动驱动板,进入关机过程 rled=0;gled=1;/ 正常待机过程 out_l
60、ight=1;/ 投影光源灭 out_fan=1;/ 冷却风扇停转 /*初始化子函数*/ void init() inc=1;dec=1;m0=1;m1=1;/ check_tem=1; check_light=1; p3_2=1;p3_3=1; init_timer1(); it0=1;it1=1; /*=*/ on_off=0;off_flag=0;drv_flag=0; off10s_flag=0; /*定时器 1 初始化*/ void init_timer1() tmod=0 x11; th0=-(48000/256); tl0=-(48000%256); ie=0 x8f; tr1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业化通风空调安装项目协议2024版A版
- 三方债务责任转移协议2024版
- 2025年度农业园区场地租赁安全管理合同范本4篇
- 专业劳务分包协议(2024年版)样本版A版
- 二零二四实习生就业权益与培训协议范本规范5篇
- 2025年度测绘数据安全保密协议4篇
- 专业标识标牌定制及施工服务协议版B版
- 专业摄影委托协议细则(2024年)版B版
- 2024物业管理权转让服务合同
- 2024版食品安全购销合作合同范本一
- 微机原理与接口技术考试试题及答案(综合-必看)
- 劳务投标技术标
- 研发管理咨询项目建议书
- 湿疮的中医护理常规课件
- 转钱委托书授权书范本
- 一种配网高空作业智能安全带及预警系统的制作方法
- 某墓园物业管理日常管护投标方案
- 苏教版六年级数学上册集体备课记载表
- 内蒙古汇能煤电集团有限公司长滩露天煤矿矿山地质环境保护与土地复垦方案
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池
- 2013日产天籁全电路图维修手册45车身控制系统
评论
0/150
提交评论