牛国锋,朱苗苗
(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
近年来,瑞萨MCU因其节能、性能好而得到广泛的关注和应用,本文主要以瑞萨MCU为核心,设计实现LED显示的电子时钟.
单片机中经常使用7段LED来显示数字,也就是用7个LED构成字型“8”,并另外用一个圆点LED来显示小数点,共有8个LED数码管,构成了“8.”的字型,如图1所示.
7段LED数码显示管根据LED的接法不同分为共阳极和共阴极两种,将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式[1].以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光.由于LED的电流通常较小,一般均需在回路中接上限流电阻.假如我们将图1中“b”和“c”段接上正电源,其他端接地或悬空,那么“b”和“c”段发光,此时,数码显示管将显示数字“1”. 而将“a”、“b”、“d”、“e”和“g”段都接上正电源,其他引脚悬空,此时数码管将显示“2”.其他数字的显示原理与此类同,点亮相应的数码管来显示出0-9的数字.
在本次的设计中采用的是共阴极的LED显示,当I/O口输出为高电平的时候,对应段就被点亮,显示相应的时间.
图1 “8.”字型示意图
目前,随着人们环保意识的日益增强,消费者越来越关注微控制器系统的节能性.为了扩大在节能家电和电池供电系统等市场领域的应用,瑞萨电子在新的产品中加入了节能理念,推出业界高标准16位低功耗闪存微控制器产品78K0R系列.
78K0R系列[2]是瑞萨公司推出的一款16位单片机微控制器,此款产品具备领先业界的低耗电量及高效能等特点.瑞萨78K0R系列结合瑞萨在8/16位MCU市场中现有主要产品78K0系列的优异技术,并且整合多种周边功能,使其性能更加强大.
瑞萨78K0R微控制器的主要特性[3]:
(1)支持尺寸更小、功耗更低的系统.本MCU集成了面向电容触摸传感器的片上传感器控制单元,意味着可以利用单块芯片处理系统控制和触摸控制,不再需要外部触摸传感器IC芯片,从而缩小了系统尺寸.并且可直接与用于实现触摸感应的传感器电极相连,这样就为各个电极消除了对电阻器和电容器的要求,使减少元件总数、降低系统成本、提高可靠性、缩短开发时间得以实现.
(2)降低了系统总功耗.通过添加传感器控制单元,极大地缩短了触摸检测所需的CPU处理时间,从而使系统功耗降低.此外,传感器控制单元能够实现低频(4 MHz或5 MHz)操作,从而进一步降低了功耗.该系列产品可广泛应用于电池供电系统及节能家电领域.
键盘扩展板是一个有16个按键的Key键盘,按键呈4行×4列矩阵型分布,按照设计要求辅助完成时间的输入、开始和停止等功能,根据其电路图和需求设置键盘的输入为数字、字母和加减乘除符号等.板上有一个10个针脚的扩展接口,该接口通过数据线与MCU板上扩展接口相连接,根据电路控制原理,实现按键的不同控制功能.
LED显示扩展板有两组接口,一组是4bit模式接口一个,另一组是8bit模式接口两个,接口都是标准的10针脚.板上有一排并列的8个“8.”字形输出的LED显示板,显示板上面有一排8个对应的LED指示灯.该扩展板接口接入MCU控制器,根据其电路控制原理,LED显示板根据需求可以显示以下内容:(1)输出1至8位数字;(2)输出字母;(3)年月日显示;(4)24小时电子表时间显示;(5)秒表计时等.
CubeSuite是瑞萨公司推出的一款集成型开发环境,它为采用8位到32位架构的微控制器提供了统一的支持.在开发适用于MCU的软件(程序)时,此集成型开发环境将所有的工具(编译器、与仿真器一起使用的调试器等)链接起来,使其可以在同一个主机上完成所有的设计、编码、评估和验证任务.开发者根据其开发软件所针对的MCU的类型,选择采用CubeSuite集成型开发环境中不同的型号.
CubeSuite[4]的主要特性:该软件采用界面化编辑,清爽美观,简单易用,即使对于初用者,也可以在短时间内掌握其性能和使用方法.它利用项目树来满足MCU开发流程的要求,这种复杂的功能让开发者通过点击节点即可转至预期任务.CubeSuite在包装内整合了瑞萨MCU软件开发所需的基本软件,安装完成之后可以立即投入使用.它还提供了一个内容丰富的用户指南,使得即使是最新使用的开发者也可以在安装之后立即应用.CubeSuite降低了学习所提供工具需要的时间,因为它们在功能上与所有支持的MCU系列相同.产品还具有代码生成器的功能,支持通过一个GUI进行器件驱动器设置,使其易于创建程序,当第一次采用一个新的MCU系列时,外设功能的设置程序也不会出现混淆.
传统开发环境要求用户先编辑所有源文件,然后构建整个程序,从而延长了构建时间.CubeSuite具有“快速构建”功能,每次修改或保存源文件后,都能够自动在后台运行构建功能,从而极大地缩短了总构建时间.基本的编辑、构建和调试功能将更加强大,从而可以提供更多的简易性、便利性,进而实现更加方便的软件开发.
本电子时钟设计主要以瑞萨电子16位MCU――78K0R/KE3-L为核心,键盘扩展板和LED显示扩展板同时通过接口与MCU对应的扩展接口相连接.MCU通过仿真器与计算机连接,仿真器的一端连接MCU,另一端USB接口连接到计算机上,通过仿真器将计算机上的程序写入到MCU上,同时还给MCU不间断供电.连接好以后,通过键盘扩展板上的Key按键输入数字,在LED显示扩展板上8个7段LED显示板显示24小时制时间,显示格式为“XX(时)-XX(分)-XX(秒)”,并设置Key按键控制时间的停止和开始以及校正调整时间.
在CubeSuite集成型开发环境中,选择MCU型号为78K0R/KE3-L,建立新的工程Project,工程建好后按照设计要求进行配置和编程.
首先要在设计工具端口设置中进行端口配置,利用引脚列表配置复用引脚处理,同时在引脚配置图内确定引脚布局.按照MCU扩展接口对应的端口号和端口电路设计图进行端口引脚的出入力设置,键盘扩展板接入的接口引脚都设置为入力,进行时间和信号的输入,LED显示扩展板的接口引脚都设置成出力,为时间信号的输出,设置完成后进行端子生成,就会在端子配置图中显示MCU各个引脚的端子设置情况,如图2所示.在定时器设置中开通通道0,并在通道0中设置时钟频率为1000 ms,通过内部定时器产生时钟进行准确计时,作为时间秒表计时的单位.在代码生成器中按设计要求编写GG_main.c主程序和GG_timer.user.c时间设置程序.完成后系统生成编译该工程,并通过瑞萨Debug工具——片上调试器写入到MCU板上内存中保存,接通电源即可运行.
图2 端子配置图
GG_main.c主要实现程序如下:
GG_timer.user.c主要实现程序如下:
以瑞萨电子16位MCU――78K0R/KE3-L为核心,在专用集成型开发环境CubeSuite下,采用C语言编程,设计实现由时、分、秒组成的24小时方式计时、LED数码显示器显示的电子时钟,实现了24小时计时,校正调整时间、秒表计时等功能.瑞萨嵌入式MCU的低成本、低功耗等节能理念正在被人们所接受,其产品将慢慢地渗透到人们生活生产的各个领域,有较广的应用前景.
[1](加)Myke Predko.PCI微控制器基础与实践[M].胡光华,译.北京:科学出版社,2007.
[2]矢野敏之,高桥美穗,李建波,等.瑞萨M 16C/62P单片机原理和应用[M].北京:清华大学出版社,2006.
[3]瑞萨科技公司.瑞萨16位R8 C/TINY系列M CU[J].世界电子元器件,2005(04):91-94.
[4]瑞萨科技公司.适用于微控制器的Cube Suite+集成型开发环境[J].电子制作,2011(7).