基于HCS12单片机SPI的实时显示设计

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:qq1094795388
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文介绍了多功能显示驱动器MCl4489与HCS12系列单片机的接口应用开发设计,给出了两种不同接口电路,叙述软件编程的步骤,并给出了相关的程序源代码,经实验表明SPI通讯具有更大的优势。
  关键词:HCS12单片机;SPI;MCl4489;显示
  
  引言
  
  对于任意一种功能完整的单片机应用系统,显示功能往往是必不可少的。例如在智能车运行的过程中,对其速度和时间的实时监控是非常重要的,这样方便了系统的调试。针对清华大学的HCS12型开发板,它具有丰富的I/O口资源,集成了多种功能模块,可以广泛的应用于生产过程控制系统。同时,MCl4489是MOTOTOLA公司生产的串行接口5位的7段LED数码显示器的译码/驱动芯片,它占用单片机软件资源少,不需再外加电路即可与单片机协调工作,译码、扫描显示都由MCl4489自动完成,无需单片机干预,每次只需改变显示内容时才进行一次数据传输,因而大大节省了软件开销,提高了单片机的处理和运算能力,应用灵活方便。而目前,新型高速的16位、32位DSP型单片机成为主流,而且功能模块也越来越丰富。针对这一特点我们将通用的SPI技术应用于MCl4489的显示控制,同时也改进了用普通I/O口模拟控制的方法。
  
  MC14489及特性
  
  MC14489具有三线串行接口(SPI),可直接与具有SPI接口的CPU相连,也可采用软件模拟SPI接口,最大串行时钟频率可达4MHz。它有一个8位的内部系统寄存器和一个24位的显示寄存器。
  MCl4489采用了所谓的“位抓取”技术,在向内部系统设置寄存器和显示寄存器送数时不需要引导码和地址码,而是根据一次串行输入数据的字节数由内部自动确定送往哪一个寄存器。若输入的是单字节数据,将被送往系统设置寄存器,若输入的是多字节数据,则被送往显示寄存器。
  多片MC14489可级联使用以增加显示位数。还可由输入的显示代码决定全部显示段为满亮度或半亮度显示。MCl4489的引脚排列如图(图1)所示。
  
  MC14489与HCS12单片机接口软件设计
  MC14489采用同步串行数据输入方式,数据传输中无需起始位、停止位和校验位。在每个时钟的上升沿将DATAIN端的数据锁存到片内移位寄存器中,数据的传输是高位(MSB)在前。在ENABLE信号的上升沿将片内移位寄存器的数据存入控制寄存器或显示寄存器中:在一个ENABLE有效期间,CPU的数据输入到片内移位寄存器中,若输入的是8位数据,则自动地在ENABLE信号上升沿将数据存入片内控制寄存器中,若是24位数据,则在ENABLE信号上升沿自动将数据存入片内的显示寄存器中。
  


  实现MCl4489与HCS12单片机的通讯,可采用多种连接方式:(1)采用准双向口方式;(2)采用串行通讯方式;(3)使用CAN总线的混合编址方式。由于本开发板中CAN资源另作他用,故本文仅对前两种方式加以讨论。下面是相关电路及完整的实验程序。
  
  准双向口方式
  
  HCS12单片机内部有丰富的I/资源,同时也集成了多种功能模块。其中PORTA、PORTB、PORTE、PORTK等接口在芯片处于扩展工作方式下,可被用作总线信号。
  下面我们以PORTB口国例,采用软件模拟的方法实现与三线串行接口芯片的连接,其中PORTB_BITO、PORTB_BITl、PORTB_BIT2分别连接到MC14489的ENABLE、CLOCK和DATA IN引脚,然后按图2和图3的时序用软件方法实现串行数据的输出和输入。以下是MC14489与单片机接线图(图2)和实验完整的程序。
  


  


  


  }
  串行通讯方式
  HCS12单片机的SPI的简述
  SPI(Serial Peripheral Interface)是一种高速高效率的同步串行接口技术,这种接口技术主要用于MCU与外部的接口芯片间交换数据,这在MOTOROLA单片机中已经是一个标准模块,也逐渐成为一种工业标准。虽然从数据传送速率上讲,并行接口要优越于串行接口,但是会使得系统连线比较复杂,在大多数的情况下,这种由提高系统复杂程度而带来的数据传输速率的提高是得不偿失的,所以目前,较多新型的高速16位、32位MCU都带有SPI接口,使得系统更加简单、可靠,已经得到了广泛的应用。
  SPI模块具有和其他外部设备进行全双工同步串行通信的功能,SPI操作可通过查询SPI状态标志或中断驱动。所有SPI中断都由CPU响应,而且SPTE(SPI发送器空)和NSPRF(SPI接收器满)位还可设置为DMA服务请求使能。在SPI的传输过程中,数据的发送(串行移出)和接收(串行移入 )是同步的。串行时钟使2条串行数据线上的移位和采样都是同步的。通过软件还可以控制SPI的时钟相位和极性,适用于各种不同的驱动芯片。
  SPI软件编制方法
  1>初始化
  (1)PE=1,以允许SPI系统。
  (2)置MSTR=1,以置MCU为主机方式。
  (3)SPRl、SPRO为适当值,以使SPI时钟(SCK)能满足驱动芯片的时钟需要。
  (4)POL,CPHA为适当值,以使SPI时序能满足驱动芯片的时序要求。对于MCl4489它要求,在SCK的上升沿输入和在下降沿输出数据,应选择CPOL=1,CPHA=1的方式。
  (5)是否使用SPI中断来决定SPIE=0或1。一般情况下在SPI的时钟频率较高时,不必采用中断方式,而可采用查询方式。因为在SPI时钟频率为1MHz时,仅需8μs就可完成一次SPI传送,如使用中断,则响应中断和中断返回的执行时间就超过了8 μs。
  (6)使用情况置DDRD的值。
  2>数据的传送
  (1)允许指定的从器件,这一般用清零(对低电平有效的器件)和置位(对高电平有效的器件)接至该器件的允许输出位来实现。
  (2)向SPDR写入需发送的数据(或地址、命令等),以启动数据的传送。
  (3)等待SPIF=1。在传送完成之前不能清除从器件的允许信号。
  (4)禁止从器件,即清除从器件的允许信号。
  对于多字节连续传送的场合,在第(4)步时,不应禁止从器件,而应在读入数据后,返回(2)、(3)步执行,直至多字节读出或写入操作完成后,才禁止从器件。
  下面我们以HCS 12MCU为例,给出它与MCl4489的接口电路图(图3)和实验程序。
  
  实验程序   
  unsigned int i.n;
  void_SPl_Init(void){ /*SPI*初始化*/
  SPIOBR=0x77; /*2048分频*/
  SPIOCR2=0x00;
  SPIOCRI=0x56; /*SPI使能,主模式,上升沿触发,ss输出*/
  DDRS DDRST=I;}
  union
  { unsigned char byte;
  struct
  {unsigned char:7;
  unsigned char bit7:1;
  }bit;
  }temp;
  void delay(unsigned int count){
  unsigned int k:
  for(k=O;k  void display(uchar DCMD){
  PTS PTS7=0;
  while(!(SPIOSR&0x80))
  {SPIODR=DCMD;}
  PTS_PTS7=1;}
  void display l(uchar cmd,uchardatal,uchar data2){
  inti=0:
  uchar dsp;
  PTS_PTS7=0x00;
  delay(1);
  SPIODR=dsp; /*需要读的地址高8位*/
  while(!SPIOSR_SPTEF);
  SPI0DR=datal;/*需要读的地址低8位*/
  while(!SPIOSR_SPTEF);/*等待发送完毕*/
  SPIODR=data2;/*需要读的地址高8位*/
  while(!SPIOSR_SPTEF);
  delay(2000);
  PTS_PTS7=I:}
  
  void main(void){
  SPI_Init();
  display(0x01);/*写MCl4489内部设置寄存器点亮所有LED*/
  display l(0x05,0x43,0x21);/*LEDl~LED5分别显示1234半亮度显示*/
  PORTB=0xf0;
  while(1){}}
  结果分析
  (1)用普通的I/O口模拟的方法常用,即使是针对没有SPI的单片机系统,这种方法也可行,但其编程比较繁琐,占用4个普通的I/O口,当单片机的I/O口资源比较紧张时要进行扩口。而且它容易受到内部的干扰,优先级别不够。功耗较SPI通讯传输较大,反应的速度也较慢,有略微的延迟。
  (2)SPI通讯传输稳定,子系统允许使用相同的时钟发送和接收数据,使用灵活。每个管脚的方向都可以由软件控制,而且传输速度快,实时性能好。
  
  结语
  
  MC14489集成度高,将锁存、译码、驱动、扫描、时钟都集成在一片IC中,使单片机外围电路大为简化,对单片机的软、硬件资源占用也大大减少。HCS12单片机与MC14489的接口电路简单,应用范围广,工作可靠。SPI的通讯模式传输速率较快,编程实现简单,易掌握,且工作更稳定。
  
  参考文献:
  
  1.Peter Spasov(著),李小洪(译),‘微控制器原理与应用(第5版)’,清华大学,2006
  2.邵贝贝,‘单片机嵌入式应用的在线开发方法’,清华大学,2004
其他文献
Spansion公司近日发布首款每单元四比特闪存技术的工作芯片,这些基于MirrorBit Quad技术而设计的产品用以拓展创新的闪存,并降低电子设备内海量数字内容存储的成本。加上以前该公司拥有的基于MirrorBit平台的NOR和ORNAND产品,Spansion公司在同一平台的闪存产品有了进一步扩展。spansion总裁兼首席执行官Bertrand Cambou表示:“无论对Spansion还
期刊
12月4日,LSI Logic(简称LSI)与杰尔系统(Agere)共同宣布,两家公司将合并成为一家新的公司,新公司名称仍为LSILogic。原LSI公司的Abhi Talwalkar被任命为新公司的总裁兼CEO。
期刊
摘要:以433MHz、905MHz及2.4GHz三个通信频段为研究对象,以点对点方式为基本通信方式,对其在不同地点不同距离不同环境进行测试,并尝试通过增加高精度放大器的方法提高系统性能。通过试验可知通信距离与频率成反比,接收效果与频率成反比,且与发射点接收点位置密切相关,加入PA通信距离增加了40%。实验结果表明,通信试验数据与电磁学理论相吻合,证明了本文试验方法的可行性与有效性,同时系统可通过加
期刊
摘要:本文提出了一种高效、压缩比在线可调的实时图像压缩系统方案,并且详细说明了硬件设计结构。与现有的结构相比,该结构具有并行度高,抗误码能力强等特点,图像质量可满足大多数应用要求。本系统中采用Xilinx最新推出的Virtex ll Pro系列产品中的XC2VP40来实现在FPGA上的设计。  关键词:高效实时;图像压缩;FPGA    引言    在信息化时代,对图像信息的处理、存储和传输在社会
期刊
德州仪器(TI)推出一款功能齐备的千兆以太网IP电话软、硬件解决方案,该产品集成了可靠的安全性与增强型语音质量特性,能够充分满足各种规模VoIP企业用户的需求。TI最新的IP电话SoC建立在功能强大的高灵活性DSP平台基础之上,不仅能够节省新型IP电话产品的开发成本,还能帮助制造商显著加速产品上市进程,既提高了工作效率,又降低了通信成本。  近年来VoIP市场发展迅速,据iSuppli公司统计,2
期刊
一对父子在被海水漫过沙滩上,共同拉着一只船模迈步向前,一条黄蓝绿的彩带从两人之间穿过,蜿蜒消失在天际,彩带的另一端醒目的写着“NXP”三个字母。这是刚刚脱胎于飞利浦的NXP半导体最近在媒体上频频展示的一幅广告,画面中飞利浦化身为稳健而成熟的父亲,而NXP则变成充满好奇的孩子。正如文字旁白中“开放的探索精神和新生儿般的好奇心”,飞利浦半导体虽然随着飞利浦集团进入中国市场已近20年,但新生NXP对中国
期刊
摘要:本文探讨了微波集成电路芯片ATF34143在低噪声放大器设计中的应用。本文设计的LNA应用于某一点多址通信系统中,要求工作频率为1.4—1.6GHz,噪声系数NF22dB。最后给出了运用ADS软件的仿真结果和测试结果,达到了预定的设计指标。  关键词:低噪放(LNA);ADS;噪声系数;匹配    引言    现今,对无线系统射频接收机的要求越来越高,比如低功耗、低噪声、大动态范围、高灵敏度
期刊
摘要:为了产生用于水下点对点通信的各种信号,本文在扩展硬件资源受限的情况下,设计并研制了一种基于DDWS实现的通信编码器硬件系统,它能产生用于水下通信的连续不间断输出的复杂波形信号,同时实现数字模拟输出,满足通信信号的精度和稳定性要求。  关键词:TS101S;直接数字合成;水声通信信号    引言    水下通信信号的一个显著特点就是信号的频率非常低(kHz级),为了提高信息的传输速率,必须充分
期刊
近年来,人们在充分享受汽车所带来的巨大便利的同时,也开始为汽车引发的诸多问题感到忧虑,例如随着汽车保有量的迅速攀升,道路日渐拥挤,事故屡见不鲜。
期刊
摘要:本文介绍了一种基于IC卡的加油站信息化管理系统。  关键词:IC卡;RFID;嵌入式系统;Linux;网络  随着社会经济的稳步发展和人民生活水平的不断提高,石油成为与人们生活息息相关的一种战略资源。不论是企事业单位对车辆用油的控制,还是石油销售商对加油站的管理都在由粗放型向集约型转变。在信息技术风靡全球的今天,计算机技术无疑成为加油站规范管理、节约成本、提高效益的一种有效手段。    系统
期刊