如何通过PIC单片机设计一款多媒体终端遥控器?

发布者:Amy啊111111最新更新时间:2020-02-29 来源: eefocus关键字:PIC单片机  多媒体  终端遥控器 手机看文章 扫描二维码
随时随地手机看文章

1 设计理念和原理

1.1 设计理念

随着数字家庭等领域技术的迅速发展,在多媒体终端上的增值业务将越来越多,浏览网页、搜索、短信等都需要遥控器进行输入。但作为连接用户和终端之间的重要外设,遥控器的设计理念还停留在模拟电视时代,体验感较差。目前用户输入的解决方式是呼出终端的内置输入法,这样就带来了两个问题:一,不同厂家的终端都需要内置自己的中英文输入法,占用资源,而且必须搭配自己的遥控器使用,通用性不高;二,用户在输人时必须一边看遥控器输入一边看屏幕确认输入,如果文字较多会造成频频抬头和低头的麻烦,难以忍受。基于以上缺点,本文提出将输入法内置于遥控器的理念,在遥控器上输入文字后再统一将文字编码用红外线发给终端,终端接收后将编码译成文字显示在输入区中。

 

1.2 红外遥控器工作原理

遥控码是一串二进制数字信号,通过脉冲编码形成脉冲序列,被调制到一个固定频率载波上,最后通过红外发射管,以光脉冲的形式发射出去。脉冲编码就是将“1”和“0”用一个脉冲来标识。本设计使用 NEC 红外协议,用脉宽 560us,周期 4x560us 代表二进制“1”;用脉宽 560us,周期 2x560us 代表二进制“0”(如图 1 所示,密集竖线表示 38KHz 载波)。

 


图 1 NEC 协议红外遥控信号的调制

 

2 硬件设计

2.1 总体设计原则

遵循嵌入式系统高性能、低功耗、小体积的设计思想,总体设计原则是:元器件采用低功耗芯片;尽量用软件实现硬件功能,减少器件数量;键盘采用中断方式,一旦系统空闲超时立即使其进入休眠状态,再次按键予以唤醒。

 

2.2 硬件组成

硬件组成如图 2 所示。其中:主芯片为 Microchip 公司 PIC18F 系列高档单片机 66J11,性价比极高;液晶屏控制器为 Sitronix 公司的 ST7565R,分辨率 128x64;汉字点阵字库用 Atmel 公司的 262KB Flash 制作,它和 LCD 与单片机的接口均为 SPI 接口;键盘有 49 个按键.采用 7x7 矩阵方式,7 根行线连到单片机 B 口的 RBI~RB7 外部中断脚,列线连到单片机的 E 口的 RE1-RE7,作为数字输出口。

 


图 2 基于 PIC 单片机的红外遥控器硬件组成

 

3 软件设计

3.1 系统运行流程

遥控器无开关机过程,因此放入电池时系统硬件即初始化,进入休眠。按键中断时,进入主程序,系统运行流程如图 3 所示,分为两种模式:普通遥控和文本输入。单片机内部的看门狗负责对空闲状态(没有键被按下)计时,超时后系统复位重新进入休眠状态。

 


图 3 系统运行流程图

 

3.2 功耗管理设计

PIC18F 系列器件提供了三种主要的工作模式:运行模式、空闲模式和休眠模式,实际中只使用运行模式和休眠模式。根据遥控器的运行流程,看门狗(WDT:Watchdog Timer)负责实现空闲时间的计时。4ms 的 WDT 超时溢出周期与 16 位的后分频比值相乘。可以通过在 MPLAB IDE 中配置寄存器 2H 中的 WDTPS 位控制一个多路开关以对 WDT 后分频器的输出进行选择,可获得的超时溢出周期范围为 4ms 至 135 秒(2.25 分钟)。在代码中需要在每次按键后喂狗,保证看门狗重新计时。

 

3.3 驱动程序设计

3.3.1 键盘驱动

PIC 单片机的 B 口是外部中断口,有四个 INT 中断和四个 KBI 中断。本设计将 RB0 留做扩展备用,RBl/INTl、RB2/INT2 和 RB3/INT3 都设置为下降沿触发中断;KBl4 个口(RB4-RB7)为电平变化中断(双沿),在程序里只对下降沿中断有处理。

 

按键扫描采取行列扫描方式获取键值。配置行线均弱上拉,列线均输出为 0;当有键(行列交叉点)按下时,此键所在行线即出现下降沿;进入中断处理后,依次令每根列线输出为 0,其余为 1,扫描行线看哪根行线输入为 0,从而得到按键的位置。

 

3.3.2 SPI 驱动

PIC 单片机有两个主控同步串行端口模块,它们都可以用软件配置为 SPI 方式,使用非常方便.数据读写只需读写其缓存即可,不需要像 51 单片机那样模拟时序。本设计使用了两个 SPI 接口器件:LCD 和 FLASH 字库,他们是从设备,单片机是主设备。在配置好与 SPI 时钟频率等有关的寄存器后,主从设备就可以通信了。当主设备从从设备读数据时,SSPxlF(x=1,2)标志寄存器为 0 说明正在接收数据,为 1 时说明已收到一个字节;当主设备往从设备写数据时,SSPxlF 为 1 说明已发完—个字节。

 

3.3.3PWM 驱动

发射用的红外载波口』用标准脉宽捌制模块(PWM)来实现,载波频率是 38KHz,因此 PWM 的周期就是 1/38KHz,PWM 周期的计算公式是:

PWM 周期=[(_PR2)+1].4.TOSC(TMR2 预分频值).

 

本设计中晶振是 12MHz.即 TOSC=1/12MHz,经过计算,PR2 寄存器设置为 78。TMR2 预分频值为 1 可得到频率为 38Km 的方波。

 

也可以设置方波的占空比为 1:3 来减小功耗,占空比有 10 位,寄存器 CCPRxL 保存占空比高 8 位,CCPxCON<5:4>保存低 2 位。CCPRxL:CCPxCON<5:4>代表这个 10 位值。计算占空比的公式是:

PWM 占空比=(CCPRxL:CCPxCON<5:4>).TOSC.(TMR2 预分频值)

 

设置好频率和占空比.开启 PWM 功能,TMR2(定时器 2)开始计时,PWM 输出高电平,计时到周期的 1,3 时 PWM 输出低电平,计时到一个周期时 PWM 重新开始另一个周期,TMR2 从 0 开始计时。所以要停止载波的输出很简单,只需令占空比为 0 或 TMR2 停止计时。因此,很容易就可得到图 1 所示的输出。

 

3.4 输入法设计

3.4.1 功能

用遥控器输入中英文、数字、符号,功能类似于手机短信,其中中文输入是类似手机 T9 输入法的拼音输入法,英文输入法是只需按两次键(第一次调出候选字符,第二次选择字符)即可输入一个字母。按“输入法”键从遥控模式切换进输入模式,操作同手机,“切换键”用来切换中 / 英输入,“1”用来输入标点,“0”用来呼出数字输入法。输入完毕按“发射键”发射 LCD 上所有文字的编码,汉字是机内码,英文、数字及符号是 ASCII 码。如果想回到遥控模式,再次按“输入法”键。

 

3.4.2 拼音输入法设计原理

拼音输入法是本设计的核心内容,它负责将键盘输入的数字序列转换为汉字,汉字的搜索采用查表算法。拼音输入法大体可以分为两个步骤:把数字序列转换为拼音编码,然后搜索到该拼音编码对应的汉字编码。选中的汉字将显示在 LCD 的文本区,其编码记录在待发射的文本数组中。

 

3.4.3 索引表的重要结构体

1.拼音编码以索引表的形式保存在 PY_Index.h 中,每个拼音编码的数据结构为:

eonst struct T9PY_IDX
{
const unsigned char *t9:// 按键数字序列
const unsigned char *PY:// 拼音编码字符串
coast unsigned char *pY_mb;// 该拼音对应的汉字码表地址
};

所有的拼音编码组成一个数组常量 T9PY_index[],每个拼音编码作为数组中的一个元素存在,如:const struct T9PY_IDX
PY_index[]{"9468"、 "zhou",PY_mb_zhou},

 

2. 拼音输入法拼音组合查询码表,T9 数字字母索引结构如下:

const struct PY_arrange
{
cormt unsigned char *nums;
const unsigned char *arra;
};

例如:const struct PY_arrange PY_arr []={"726","pan pao ran rao san sao"}

 

3.汉字码表举例:

const unsigned char PY_mb_zhou[]={"舟周州洲诌粥轴肘帚咒皱宙昼骤??"}

 

3.4.4 汉字字模库的使用

汉字的显示在 LCD 上用点阵来表示:有笔划(I)、无笔划(O)。描述点阵信息的二进制代码集称为字模,所有点阵信息就组成了字模库。GB2312—80 规定了汉字的信息交换码,简称国标码,其用两个字节代码来表示一个汉字。微机中还有区位码和机内码两个概念,区、位各 94(1-94),用先区后位的两个 2 位十进制数表示;机内码是计算机内部存储汉字的代码。

 

在本设计中,每个汉字的显示采用 16x16 图形点阵方式显示,在 UCDOS 等汉字操作系统中可以找到 HZK16.DAT 二进制文件,这是一个标准的 16x16 点阵的字模库。以 94 个汉字为一组。共 87 组,8178 个字。以 16x16 点阵的汉字计算,每个汉字实际占用的空间为 32Bytes,总容量为 8178x32=262KB,用烧片器将 HZK16.DAT 烧进 FLASH 中。

 

以汉字“电”为例,其机内码为 OxB5E7,在单片机系统中需要的是其在存储器中的绝对位置,则需要先将其转换为区位码。总结公式为:

((机内码的高位字节 -OxA1)x94 + 机内码的低位字节 - 0xAl)x32

 

那么“电”在字库中的地址就是((OxB5-OxAl)x94+0xE7-0xAl)x32。AT45DB021B 是分页存储的,每页有 264Bytes,所以上述地址除以 264 的商是指定对哪一页读取,余数指定从这一页的哪一字节开始读取。

 

4 结束语

未来的多媒体终端给消费者带来的是集信息、娱乐、学习、购物于一体的享受。此遥控器通用性强,应用范围广,可支持搜索、短信等多种增值业务,带给用户革命性的体验感。遥控器 BOM 成本不到 100 元,普通遥控器为 20 元,差价 80 元,如果用于高端 VOD 业务的捆绑销售.假设包月资费为 20 元,仅用不到 4 个月就可收回投资,经济效益极好,市场潜力巨大。

 

本文作者创新点:针对多媒体终端输入中用户体验较差等缺点,介绍了一种可向终端发送文本信息的新型红外遥控器,给出了基于 PIC8 位单片机实现的解决方案,其设计理念比较符合数字家庭领域未来发展的方向,有一定的借鉴意义。

关键字:PIC单片机  多媒体  终端遥控器 引用地址:如何通过PIC单片机设计一款多媒体终端遥控器?

上一篇:影响PIC单片机功耗主要有以下几个因素
下一篇:通过PIC单片机设计让电风扇送出仿自然风

推荐阅读最新更新时间:2024-10-14 11:36

什么是PIC单片机又有何应用
PIC单片机(Peripheral Interface Controller)是一种用来开发的去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。 PIC 单片机是一个小的计算机 PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。 时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变(1*)。如果是同样的体系结构,
[单片机]
什么是<font color='red'>PIC单片机</font>又有何应用
PIC单片机开发板:数码管动态扫描程序,显示静态效果
//------------------------------------------------------------------------------------------------------------------------- /*这是自已写的:数码管动态扫描,显示静态效果 心得,显示看起来像乱码,实际上是位置不对(要选送段选,再打开位选)的缘故。 改为delay(300);则流水速度加快 */ #include pic.h #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31);// void delay(uchar x)
[单片机]
<font color='red'>PIC单片机</font>开发板:数码管动态扫描程序,显示静态效果
台湾手机市场趋于饱和 但契机仍在
  根据国际数据信息(IDC)2007年第四季便携装置追踪季报调查显示,台湾地区手机市场于2007年第四季总出货量达172万,比上一季缩减了4%,与去年同期比则下降了6%。   整体来说,台湾手机市场已达饱和,年增率由2004年的两位数一路下滑,于2007年首次出现负增长,2007年总出货量约为7百万,较2006年减少3%。   IDC台湾移动通信市场分析师郑若望表示:“为了在饱和市场中求增长,各品牌除了与电信业者合作或是在渠道上下工夫,在手机的规格或功能上也求精求异。2007年第四季,在市面上流通的手机型号中,总计已有超过八成的型号可播放音乐;五成以上可播放视频;近乎八成五以上内建有照相功能,可以说,超过半数以上的手机已具有
[手机便携]
基于PIC单片机的SPWM控制技术
引言 在UPS等电力电子设备中,控制方法是核心技术。早期的控制方法使得输出为矩形波,谐波含量较高,滤波困难。SPWM技术较好地克服了这些缺点。目前SPWM的产生方法很多,汇总如下。 1)利用分立元件,采用模拟、数字混和电路生成SPWM波。此方法电路复杂,实现困难且不易改进; 2)由SPWM专用芯片SA828系列与微处理器直接连接生成SPWM波,SA828是由规则采样法产生SPWM波的,相对谐波较大且无法实现闭环控制; 3)利用CPLD(复杂可编程逻辑器件)设计,实现数字式SPWM发生器; 4)基于单片机实现SPWM,此方法控制电路简单可靠,利用软件产生SPWM波,减轻了对硬件的要求,且成本低,受外界
[单片机]
基于<font color='red'>PIC单片机</font>的SPWM控制技术
汽车达人秀 解读汽车互联多媒体技术
不得不说我们对于汽车的需求早已超越了交通代步,衡量一辆好车,不仅动力和品质要好,舒适性和智能配置也被提携到了举足轻重的位置。或者说,比起曾经的速度机器,今天的汽车互联多媒体技术让我们的驾驶过程更像是在操作计算机。 什么是《汽车达人秀》? 《汽车达人秀》是由汽车出品的一档汽车新技术解读栏目,这里有最前沿的汽车圈时尚科技,这里也有机械制造领域里的点点滴滴。我们喜欢精美的图片和详实的文字,我们讨厌杂乱的数据和枯燥的说教。汽车的技术解读栏目,每周五如期上线。 本期内容:汽车互联多媒体技术带来了什么? 提到汽车互联多媒体技术的发展,我们有必要从汽车媒体系统说起,实际上这是一个漫长而复杂的发展过程。1924年,雪佛兰率先将无线
[汽车电子]
汽车达人秀 解读汽车互联<font color='red'>多媒体</font>技术
PIC单片机C语言编程教程(1)
PIC 单片机 C 语言编程简介 用 C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、 代码的重复利用率高、便于跨平台的代码移植等等,因此 C 语言编程在单片机系统设计中已得到越 来越广泛的运用。针对 PIC 单片机的软件开发,同样可以用 C 语言实现。 但在单片机上用 C 语言写程序和在 PC 机上写程序绝对不能简单等同。现在的 PC 机资 源十分丰富,运算能力强大,因此程序员在写 PC 机的应用程序时几乎不用关心编译后的可 执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机 的 C 程序最关键的一点是单片机内的资源非常有限,控制的
[单片机]
<font color='red'>PIC单片机</font>C语言编程教程(1)
大联大世平集团推出基于Rockchip产品的多媒体展示终端解决方
致力于亚太地区市场的半导体元器件分销商---大联大控股宣布,其旗下世平联合深圳吉隆德推出基于Rockchip RK3128的多媒体展示终端解决方案。该方案可用于商业显示、自助查询设备、校园教育、物联网等行业应用,比如楼宇广告、零售商场、公交广告、政府信息发布,自动售货机、O2O设备、查询打印机、智能家电、智能社区、智能校园、智能楼宇等等。 该方案采用的主芯片是Rockchip 的高性价比四核芯片---RK3128,其采用四核Cortex-A7架构,频率达1.2GHz;搭载ARM Mali-400MP2GPU,支持OpenGL ES1.1/2.0;支持多格式1080P 60fps视频解码,包括H.265、H.264、VC-1、M
[电源管理]
大联大世平集团推出基于Rockchip产品的<font color='red'>多媒体</font>展示<font color='red'>终端</font>解决方
基于Au1200的多媒体播放终端设计
1 引言 随着多媒体技术和网络技术的不断发展,在楼宇电视广告播放技术上,网络化的播放系统将逐渐取代现行的广告机本地播放方式。多样化、实时化的发布模式以及智能化、人性化的管理平台,将推动楼宇电视广告行业的发展。 在网络化的播放系统中,具有联网功能的多媒体播放终端是一个关键设备,它可以播放图片、音乐、视频、文字,成了整个播放系统不可分割的一部分。在新一代的播放系统中,中心管理员可以通过互联网或内部网对其进行方便的配置和管理,安排具有个性化的播放内容,有效地解决了现有播放终端内容相对单调固定的缺陷。 本文根据这一新的需求,提出了一种新颖的适合网络播放的多媒体播放终端的设计方案。 2 硬件设计 2.1 功能分析 表1对新一代
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved