基于PIC16F84的电视机智能跟踪系统设计

2010-08-10 07:47田二虎
电视技术 2010年2期
关键词:流程图电视机单片机

林 刚,田二虎

(成都信息工程学院,四川 成都 610225)

1 引言

PIC16F84A单片机是Microchip公司生产的PIC系列单片机中的一款中档产品。此型号单片机硬件资源丰富,指令系统简单,体积小,价格便宜,市场供应量充足。特别是它所具有的E2PROM,可以在程序运行时随时读写数据,并且掉电后不丢失,保存时间长达40年之久,所以非常适合在需要收集并长期保存记录数据的应用中使用[1-2]。

本设计利用PIC16F84A单片机设计电视机智能跟踪系统。要求软、硬件结合,可自动记录并显示电视(或电脑显示器)工作时间、通电时间以及使用次数,以方便科研人员获知电视使用寿命和工作情况,从而进一步对电视产品进行分析评价、改善技术、指导生产[3]。它可以作为电视机产品的扩展功能方便地添加到电视机中,具有极大的使用价值和商业价值。其设计思路和程序流程也能方便地应用在诸如此类智能跟踪系统的其他电子产品当中,方便地存储记录各类其他电子数据。

2 电视机智能跟踪系统设计方案

2.1 试验开发方案

在试验开发阶段,主要任务是初步验证系统的可行性,通过硬件电路设计和程序代码的编写实现系统设计的基本功能,可以用简单的电平信号模拟电视机内部电路的采集信号,不必考虑占用体积和电视机内部安装位置的因素,将显示部分做到一起。系统结构由单片机MCU、信号采集模块、按键输入模块、输出显示模块和电源时钟电路模块5部分组成。系统设计框图如图1所示。

图1 试验开发方案结构框图

2.2 实际生产应用方案

在实际的电视机整机配套生产时,可省去按键输入模块和输出显示模块,只需对所要记录的数据进行跟踪保存即可。生产厂家只需自己保留少量的读取和显示装置,在其需要读取记录的数据时,只需通过售后回访服务等多种渠道,将消费者使用的电视机中的此系统芯片取出,进行读取显示,不影响电视机的正常工作。这样既最大程度地缩小了该产品的体积,又可以利用空出来的管脚采集更多的参数,极大地提高了它的应用价值。而且,由于显示模块和按键模块的减少,可以节约生产成本,减轻购买者的负担,极大地提高了经济效益。其方案结构框图如图2所示。

图2 实际生产方案结构框图

笔者只对试验开发方案做了具体的设计和实施,稍微改进其电路原理、编程思路和程序代码,便可以直接应用到实际生产方案中去,对实际生产有着重要的指导作用。

3 硬件设计

3.1 系统工作原理

本设计首先利用PIC16F84单片机内部定时器TMR0溢出中断制作一个定时时钟,程序初始化后便开始记时,并将E2PROM中数据读入相应的RAM寄存器中,按周期1 min对随机数据存储器RAM的通电时间计时区数据进行累加,得到通电时间(文中用LTIME表示);通过对电视机显示信号采集点电平高低变化的查询,来记录显示工作次数(SHOW_NUM),同时用程序控制RAM的电视工作时间存储区域数据的累加,得到电视工作时间(STIME)。上述3个数据均需要累计存入E2PROM存储器。虽然E2PROM存储器可重复擦写100万次,但是相对于电视机长达10年左右的使用寿命,其存储次数仍然不足,所以本系统每隔5 min对需要保存的数据进行一次写E2PROM操作。系统随电视机电源的关闭而断电,当再次通电时,系统将自动读出上次最后保存的数据,并在此数据的基础上继续累加记录数据。

要求开机直接显示电视通电时间,然后通过按动显示切换键(S_SHIFT),依次把通电时间、电视工作时间、开关次数3种数据分别读取并显示出来。主要指示器件利用4位LED数码管。

3.2 电路原理图(见图3)

通电时间记录信号为系统电源部分,由于该系统电源为电视机内部5 V直流电源,当电视机打开电源开关后,该系统便自动上电工作,进行通电时间的记录。

工作时间记录信号取自图3的J1处,它是显像电路的电信号统过限流、稳压、反相后得到的电平信号。当打开显示开关,电视机工作时,该信号为持续低电平;关闭显示开关后,该信号为持续高电平,由此来判断电视机工作时间记录的起止点。

工作次数记录信号也是取自图3中J1处。每当J1处信号由高变低1次,工作次数增加1次。

4 软件设计

PIC16F84是Microchip公司的产品,它采用精简指令集系统,只有35条汇编指令,简单易学,方便高效,故本系统采用汇编语言编程。

4.1 主流程图设计

主程序是将整个程序设计的思想和实现方法简洁而又完整地体现出来,如图4。可以看出系统上电复位后,首先对各特殊功能寄存器进行初始化工作,再将保存在E2PROM中的数据读入相应的随机数据存储器RAM中,以便数据的快速处理;通过对定时器TMR0的设置,利用定时器溢出中断进行正确定时,并根据计时标记,对通电时间LTIME内数据按1 min的间隔递增,实现计时;然后通过查询按键状态或是显示信号的有无对电视机显示次数和工作时间数据进行处理或是显示切换功能;通过查询在定时器TMR0溢出中断程序的标志设置,每隔5 min,把RAM中的数据存入相应的E2PROM中;在查询无效或是子程序调用完成的情况下,程序运行显示子程序,最后再跳回到按键查询位置,实现程序的循环运行。

图3 基于PIC16F84的电视机智能跟踪系统

图4 主程序流程图

4.2 写E2PROM数据程序流程图[1,4]

与读E2PROM数据同理,程序每隔5 min,对电视机通电时间LTIME、工作时间STIME、工作次数SHOW_NUM对应的12 byte的寄存器空间写入当前数据,实现数据的保存。这里同样采用间接寻址方式,将首地址20H赋给间接地址寄存器FSR,每保存一位数据,就将FSR中所存地址加1,循环12次就可完成所有数据的读取工作。将地址和数据赋给相应的寄存器后,向E2PROM写一位数据,在PIC单片机中必须使用固定的编写格式,流程如图5所示。

图5 写1次E2PROM子程序流程图

关闭中断是为了防止在写E2PROM时发生中断,导致数据不能正确保存,其关闭中断的时间极短,只有几个指令周期,因而对定时器的定时影响可以忽略;而向寄存器EECON2一次写入55H和0AAH,是为了避免向E2PROM误写入,确保E2PROM存储器的使用都是编程者有意为之,延长E2PROM存储器的使用寿命。

4.3 显示切换子程序流程图(图6)

图6 切换子程序流程图

5 小结

此模块硬件电路采用模块化的设计方法,可根据实际需要扩展系统的控制功能,目前该模块测试性能良好,用于实际生产应用时还需考虑电磁屏蔽的功能,有待进一步应用于市场开发。

[1]罗翼,张宏伟.PIC单片机应用系统开发典型实例[M].北京:中国电力出版社,2005.

[2]李学海.PIC单片机原理[M].北京:北京航空航天大学出版社,2004.

[3]黎旺星.基于模型诊断技术在数字电视机中的应用[J].电视技术,2003(11):63-65.

[4]周杰,张银胜,刘金铸.PIC单片机原理与系统设计[M].北京:气象出版社,2008.

猜你喜欢
流程图电视机单片机
基于单片机的SPWM控制逆变器的设计与实现
闭眼睛的电视机
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
钻进电视机里的人
电视机
神奇的电视机
专利申请审批流程图
专利申请审批流程图
Microchip推出两个全新PIC单片机系列