- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LC2294VFD编程设计
基于LC2294VFD编程设计
【摘要】LPC2294是飞利浦半导体公司生产的基于ARM7TDMI-S内核的芯片。本文介绍一个基于LPC2294的VFD显示的设计工程(前后台模式),给出软件编程的相关文件说明及重要代码的详细设计过程。在本工程的基础上可以继续进行POS收款机等嵌入式电子产品的开发。
【关键词】LPC2294;ARM;VFD模块;PS6311
1.引言
真空荧光显示屏(VFD,Vacuum Flu-orecent Display)具有悦目的光彩、高亮度的发光效率、很好的可靠性与环境适应性以及长寿命等特性,因此,在工业、商业、特别是家用电器数字化产品领域得到了广泛的应用。对VFD显示屏的显示控制通常需通过专用的VFD控制/驱动器来实现,这种控制方式硬件设计简单、占用资源少,是目前VFD显示控制的主要实现方式。
LPC2294是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU,并带有256K字节的嵌入的高速Flash存储器。它有极低的消耗,多个32位定时器,RTC模块,WDT模块等。可以用来开发POS终端等多种嵌入式电子产品.POS终端上一般要求有个VFD客显,它可以用来显示时间、产品价格等。
本文设计了一个基于LPC2294的VFD显示工程(前后台模式),把该工程下载到基于LPC2294的开发板后,能够全部点亮VFD亮以及显示实时时钟等数据。该工程利用ads开发软件,在CodeWarrior IDE集成开发环境下编写编译链接,然后使用AXD和技创公司的techorICE仿真器调试并下载程序。下面对该工程的软件编程做具体介绍。
2.基于LPC2294的开发板与vfd模块的硬件连接
本设计中vfd模块的驱动芯片为PS6311。本设计利用LPC2294的P0.6与P0.7,P0.8连接到vfd模块的VFD_DAT,VFD_CS,VFD_CLK。其中,VFD_CS用来输入vfd片选信号,低电平有效;VFD_CLK是vfd时钟信号,作为控制串行数据线上的数据传输的波特率;VFD_DATA是串行数据线。
3.对vfd显示工程里的文件进行分析
利用ADS建立的vfd显示工程vfd.mcp。该工程文件分两个文件夹放置。一个是board文件夹,一个是application文件夹。
3.1 Board文件夹
该文件夹放置一些用ARM汇编语言写的文件(**.s)和一些头文件(*.h)。对其中文件简介如下。
LPC22xx.h文件对LPC2294的寄存器位置进行定义。
LPC2000_Config.h文件??lpc2294工作的时钟进行设置。它设置晶振频率FOSC为10MHZ,即#define FOSC;设置锁相环PLL,使处理器时钟FCCLK为40MHZ;设置VPB分频器,使外设器件所使用的时钟FPCLK为10MHZ。同时还设置存储器加速模块的相关寄存器。
Vectors.s文件放置异常向量表Vectors和FIQ异常处理程序。
Init.s文件主要放置复位Reset和初始化InitStack,__user_initial_stackheap等处理程序。
STACK.s和heap.s文件为堆栈和堆在内存中创造存放空间。
3.2 Application文件夹
该文件夹放置一些用c语言写的文件(*.c)和一些头文件(*.h)。*.h文件主要起到对相应的*.c文件进行函数声明和外部函数声明的作用。下面给出这些文件的主要代码和分析。
3.2.1 Target.c文件
主要包含void InitLPC2000(void),void InitBoard (void)两个函数。分别对初始化lpc2294和开发板上外部总线进行设置。
3.2.2 main.c文件
#includeLPC2000_Config.H
#includevfd.h
#includertc.h
LPC_INT8U VfdShowtime;
LPC_INT8U ledflag;
LPC_INT8U T;
void time1init(void)
/*该函数初始化LPC2294里的定时器1,设置每过1毫秒产生一次中断,即置位定时器里IR中的MR0位;并复位定时器计数器TC*/
{TIMER1_TC=0;
TIMER1_PR=0;
TIMER1_MCR=0x03;
TIMER1_MR0=FPCLK/1000;
TIMER1_TCR=0x01;
}
int main(void)
//该主函数调用上述编写的函数,它先全部点亮
文档评论(0)