基于T6963C的出租车计费大屏幕显示屏设计
   来源:现代电子技术     2021年01月21日 04:27

孔令荣 王昊

摘 要: 出租车计费器以单片机AT89C51为主控制模块采集时钟芯片DS1302的时间数据,以显示系统时间;以脉冲信号模拟的A44E传感器采集的车轮转动数据脉冲信号作为计费依据;用以T6963C为驱动的液晶显示器LM3229作为显示模块,实现时间、金额、单价等信息的显示。以独立按键实现对该系统的控制,按键有计费开始、计费停止、时间调整、单价调整、计费方式的切换等。

关键词: T6963C; 单片机AT89C51; 计费器; 脉冲信号

中图分类号: TN873?34 文献标识码: A 文章编号: 1004?373X(2014)17?0144?04

Abstract: The taxi charging device taking single?chip microcomputer AT89C51 as its main controller is studied in this paper. It gets time information from the clock chip DS1302 to display the system time. The count is realized by the wheel rotation data pulse simulated the pulse signal and collected by the A44E sensor as billing basis. The liquid crystal display LM3229 driven by T6963C is adopted as the display module to display information of time, total sum and unit price. The independent keyboards are used to control the system. The keyboards have the switch functions of billing begin, billing stop, time adjustment, unit price adjustment and billing mode.

Keywords: T6963C; single?chip microcontroller AT89C51; charging device; puls signal

1 研究背景及意义

出租车计费器是人们在日常出行时经常遇到的电子计费装置,是和人们的日常生活联系很紧密的设备,给人们的生活带来很大方便。出租车计费器就是用单片机实现智能化路程计算和对应路程金额计算的智能装置。首先用传感器采集车轮转动数据,然后用固定的程序计算出行驶里程和对应的消费金额,通过液晶显示屏显示出信息。本系统中应用独立按键进行人机信息交换,实现单价的设置、时间的校正、计费方式的切换和复位功能。

2 硬件电路设计

硬件电路设计部分主要有AT89C51单片机及最小系统设计、LCM3229大屏幕液晶显示模块设计、键盘电路设计、时钟电路设计,传感器电路设计等,总体电路原理框图如图1所示。

总系统工作原理:单片机执行完主程序后在一条指令处循环跳转,等待中断。时间信号采集、行驶里程计算、按键工作均是由各个模块产生的中断请求信号进入中断程序来完成的。

(1) 应用计时/计数器T0计数确定的值,产生中断请求信号,单片机跳转到内部中断0程序段。该程序段实现单片机从DS1302中对时间数据的读取,并分离数据的个位和十位,最后调用显示子程序将数据写入LCD显存中实现时间的显示。

(2) 用计时/计数器T1统计由A44E采集的因车轮转动而产生的电脉冲,当计数到一定数目后产生中断请求信号,单片机跳转到内部中断1程序段。该程序段实现里程和金额的计算,最后调用显示子程序将金额和里程等数据写入LCD显存中,实现里程和金额的显示。在计费模式下时,键盘功能有开始计费、结束计费、计费模式切换、复位四个功能。按键中断入口是外部中断1的程序入口,进入该程序后依次扫描4个按键端口P1.0,P1.1,P1.4,P1.5,4个按键中有1个按下去就跳转到对应程序段实现对应功能。在设置模式下时,其基本原理和在计费模式下的键盘工作原理基本相同,只不过在计费模式时按键功能完成后,单片机就跳出中断程序,返回主程序;而在设置模式时,单片机不会自动跳回主程序,只有“确定”键按下去后单片机才可以从中断程序跳回主程序。

2.1 AT89C51单片机

AT89C51的主要性能是与51系列单片机兼容,具有如下特点:片内有4 KB可编程闪烁存储器;存储器可循环写入/擦除1 000次;数据可保留10年;程序存储器具有三级加密保护;128 B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。AT89C51可降至0 Hz的静态逻辑操作,并支持两种软件可选的节电工作模式;空闲模式,CPU暂停工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作;掉电模式保存RAM中的数据,但振荡器停止工作并禁止其他所有部件工作,直到下一个硬件复位。

2.2 T6963C和LM3229

在液晶显示方案选择中,本设计选择了由T6963C驱动的LM3229,单片机与图形液晶显示器之间采用直接访问方式。P0口与AT89C51的数据端相连接,实现数据和控制命令的传送,同时可以作为地址的第8位使用;P2口的P2.0与P2.1分别与AT89C51的[C/D]和[CE]相连接,P2.0实现传送命令与数据的选择,P2.1经反相器作为使能信号与AT89C51的[CE]相连接。例如,8100代表传送的是命令,8000代表传送的是数据。这种直接相连的方法可以使编程简单。

LM3229的其他控制端口按照如下连接:VSS接地;VDD接5 V直流电源;[V0]是背光调节端,接一个10 kΩ的滑线变阻器,电阻两端分别接-18~5 V的电源;[RST]是复位端,通过10 kΩ电阻和0.1 μF电容上电自动复位。其余端口全部接地。液晶显示电路图如图2所示。

T6963C是显示电路的核心控制部件。单片机将命令和数据写入T6963C中,通过读取8 KB显示RAM,控制行列驱动电路,最后将数据显示在液晶屏上。8 KB RAM分为文本显示区、图像显示区、CGRAM区及文本属性区,均是可以通过单片机人为定义的各区首地址。文本区和图像区的首地址对应液晶显示的左上角,将数据写入显示区内就会在液晶显示屏上的对应区上显示出目标内容。本系统中采用了图像显示方式,其显示核心思路是:将每一个字节写入显存内,在对应位置显示出信息;将汉字、字符、数字等要显示的内容用取模软件ZIMO221进行取模(取模就是将汉字、字符、数据分块成对应字节区域),通过单片机控制T6963C将字模数据依次写入显示区域,就可以显示了。在本系统中,要显示大号数字,只有采用图像显示方式才能实现。

T6963C的控制线有FSI,FS0,[RESET,][C/D,][CE,][RD,][WR。]FSI和FS0是字体选择端,共有4种字体提供选择,其对应关系是:FS1和FS0取值为11,10,01,00时对应字体分别为5×8,6×8,7×8,8×8。当以文本方式显示时,显存中的显示数据,1个字节对应显示屏上1个8×8点阵;当以图形方式显示时,显存中所放的显示数据,1个字节对应于显示屏上1个8×1点阵,即1行8个点,这正是可以显示大号字符的原理所在。[RESET]是复位端,低电平有效;[C/D]是命令/数据选择端,高电平时对应D0~D7,传送控制命令,低电平时对应D0~D7,传送数据;[CE]是片选信号端,低电平时该片T6963C可以正常工作。[RD]是读屏控制端,低电平有效;[WR]是写控制端,低电平有效。

T6936C的外部RAM主要用来存储显示数据。T6963C的外部显示地址与屏幕上的对应关系可以人为定义,在单片机主程序中可以指定。图形显示方式的编址方式见表1。

表1中,GH是用户通过程序定义的图形显示区首地址;GA是字符宽度;CL为列数-1;m为点行数-1。在程序中设定GH,GA和m,CL的值后,即可计算出图形显示区的地址。

2.3 时钟电路

由DS1302实时时钟/日历电路提供年、月、周、时、分、秒的信息,闰年天数和每月天数可自动调整。DS1302是DALLAS生产的涓流充电时钟芯片,时钟操作可通过AM/PM指示决定采用24或12小时模式。单片机与DS1302之间的通信方式采用简单的串行口方式,仅需用3个口线:I/O(数据线);SCLK(串行时钟);RES(复位端)。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信,31个字节的RAM可以存储保护设置的单价数据,预防掉电时数据丢失。DS1302有内部备用电源,在正常通电时进行充电,而且DS1302工作功耗很低,故断电后它可以由内部电源维持运行很长时间。

2.4 键盘电路

中断控制方式是利用外部中断源,响应键输入信号。当无按键按下时,CPU执行正常工作程序;有按键按下时,CPU会立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个按键被按下,然后执行该键的功能子程序。这种工作方式克服了可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个中断资源。本次设计采用中断控制方式键盘,该智能计费系统设置6个按键,其中4个键有复用功能:K1:Up/计费;K2:Dn/结束;K3:设置;K4:确定;K5:切换/R;K6:复位/L。具体连接方式如图3所示。

2.5 霍尔传感器电路

本系统用霍尔传感器件A44E采集车轮的转动信息,产生电脉冲供单片机进行计数。将A44E安装到出租车车轮处,车轮每转动一圈,磁铁经过A44E一次,A44E的第3脚就输出1个脉冲信号;作为单片机AT89C51的计时/计数器1的计数脉冲信号,从P3.2口输入;单片机统计脉冲信号的个数,当计数到一定数目后产生内部中断1,单片机就跳转到对应子程序;根据脉冲个数和车轮周长计算出里程,并根据里程计算出对应的消费金额。

3 软件程序设计

系统软件主要由主程序、时钟程序模块、键盘程序模块、金额里程处理程序模块、显示程序模块等组成。

主程序主要完成液晶显示器初始化、初始界面信息显示等功能,并一直在循环跳转等待各种中断;时钟程序模块主要完成时钟芯片数据的读取和写入,是一个内部中断子程序;键盘程序模块主要完成按键功能的控制,是一个外部中断子程序;金额里程处理程序模块主要完成里程和金额的处理,也是一个内部中断子程序;显示模块主要完成各种信息的显示以供读取,是单片机必须调用以显示信息的子程序。

4 电路调试与结论

以AT89C51单片机为核心开发的出租车计价器装置,以霍尔传感器A44E作为里程监测装置,以大屏幕液晶LM3229作为显示装置;设计信号采集、键盘和LCD显示接口电路;编写系统软件程序,实现了时间、金额、单价等信息的显示。以独立按键实现对该系统的控制,按键有计费开始、计费停止、时间调整、单价调整、计费方式的切换等。液晶显示屏的显示效果如图7和图8所示,显示画面具有内容丰富,条理清晰等特点,具有良好的市场应用前景。

参考文献

[1] 李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2008.

[2] 张友德.单片微型计算机原理应用与实验[M].上海:复旦大学出版社,2003.

[3] 张洪润,马平安,张亚凡.单片机原理及应用[M].北京:清华大学出版社,2005.

[4] 何立民.单片机系统设计[M].北京:北京航空航天大学出版社,1990.

[5] 沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2009.

[6] 吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002.

[7] 陈金平.电子系统设计[M].北京:电子工业出版社,2007.

[8] 高峰.单片微型计算机与接口技术[M].北京:科学出版社,2003.

[9] 何立民.单片机应用技术选编[M].北京:北京航天航天大学出版社,1999.

[10] 贺哲荣.51系列单片机实用编程[M].北京:中国电力出版社,2011.

LM3229的其他控制端口按照如下连接:VSS接地;VDD接5 V直流电源;[V0]是背光调节端,接一个10 kΩ的滑线变阻器,电阻两端分别接-18~5 V的电源;[RST]是复位端,通过10 kΩ电阻和0.1 μF电容上电自动复位。其余端口全部接地。液晶显示电路图如图2所示。

T6963C是显示电路的核心控制部件。单片机将命令和数据写入T6963C中,通过读取8 KB显示RAM,控制行列驱动电路,最后将数据显示在液晶屏上。8 KB RAM分为文本显示区、图像显示区、CGRAM区及文本属性区,均是可以通过单片机人为定义的各区首地址。文本区和图像区的首地址对应液晶显示的左上角,将数据写入显示区内就会在液晶显示屏上的对应区上显示出目标内容。本系统中采用了图像显示方式,其显示核心思路是:将每一个字节写入显存内,在对应位置显示出信息;将汉字、字符、数字等要显示的内容用取模软件ZIMO221进行取模(取模就是将汉字、字符、数据分块成对应字节区域),通过单片机控制T6963C将字模数据依次写入显示区域,就可以显示了。在本系统中,要显示大号数字,只有采用图像显示方式才能实现。

T6963C的控制线有FSI,FS0,[RESET,][C/D,][CE,][RD,][WR。]FSI和FS0是字体选择端,共有4种字体提供选择,其对应关系是:FS1和FS0取值为11,10,01,00时对应字体分别为5×8,6×8,7×8,8×8。当以文本方式显示时,显存中的显示数据,1个字节对应显示屏上1个8×8点阵;当以图形方式显示时,显存中所放的显示数据,1个字节对应于显示屏上1个8×1点阵,即1行8个点,这正是可以显示大号字符的原理所在。[RESET]是复位端,低电平有效;[C/D]是命令/数据选择端,高电平时对应D0~D7,传送控制命令,低电平时对应D0~D7,传送数据;[CE]是片选信号端,低电平时该片T6963C可以正常工作。[RD]是读屏控制端,低电平有效;[WR]是写控制端,低电平有效。

T6936C的外部RAM主要用来存储显示数据。T6963C的外部显示地址与屏幕上的对应关系可以人为定义,在单片机主程序中可以指定。图形显示方式的编址方式见表1。

表1中,GH是用户通过程序定义的图形显示区首地址;GA是字符宽度;CL为列数-1;m为点行数-1。在程序中设定GH,GA和m,CL的值后,即可计算出图形显示区的地址。

2.3 时钟电路

由DS1302实时时钟/日历电路提供年、月、周、时、分、秒的信息,闰年天数和每月天数可自动调整。DS1302是DALLAS生产的涓流充电时钟芯片,时钟操作可通过AM/PM指示决定采用24或12小时模式。单片机与DS1302之间的通信方式采用简单的串行口方式,仅需用3个口线:I/O(数据线);SCLK(串行时钟);RES(复位端)。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信,31个字节的RAM可以存储保护设置的单价数据,预防掉电时数据丢失。DS1302有内部备用电源,在正常通电时进行充电,而且DS1302工作功耗很低,故断电后它可以由内部电源维持运行很长时间。

2.4 键盘电路

中断控制方式是利用外部中断源,响应键输入信号。当无按键按下时,CPU执行正常工作程序;有按键按下时,CPU会立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个按键被按下,然后执行该键的功能子程序。这种工作方式克服了可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个中断资源。本次设计采用中断控制方式键盘,该智能计费系统设置6个按键,其中4个键有复用功能:K1:Up/计费;K2:Dn/结束;K3:设置;K4:确定;K5:切换/R;K6:复位/L。具体连接方式如图3所示。

2.5 霍尔传感器电路

本系统用霍尔传感器件A44E采集车轮的转动信息,产生电脉冲供单片机进行计数。将A44E安装到出租车车轮处,车轮每转动一圈,磁铁经过A44E一次,A44E的第3脚就输出1个脉冲信号;作为单片机AT89C51的计时/计数器1的计数脉冲信号,从P3.2口输入;单片机统计脉冲信号的个数,当计数到一定数目后产生内部中断1,单片机就跳转到对应子程序;根据脉冲个数和车轮周长计算出里程,并根据里程计算出对应的消费金额。

3 软件程序设计

系统软件主要由主程序、时钟程序模块、键盘程序模块、金额里程处理程序模块、显示程序模块等组成。

主程序主要完成液晶显示器初始化、初始界面信息显示等功能,并一直在循环跳转等待各种中断;时钟程序模块主要完成时钟芯片数据的读取和写入,是一个内部中断子程序;键盘程序模块主要完成按键功能的控制,是一个外部中断子程序;金额里程处理程序模块主要完成里程和金额的处理,也是一个内部中断子程序;显示模块主要完成各种信息的显示以供读取,是单片机必须调用以显示信息的子程序。

4 电路调试与结论

以AT89C51单片机为核心开发的出租车计价器装置,以霍尔传感器A44E作为里程监测装置,以大屏幕液晶LM3229作为显示装置;设计信号采集、键盘和LCD显示接口电路;编写系统软件程序,实现了时间、金额、单价等信息的显示。以独立按键实现对该系统的控制,按键有计费开始、计费停止、时间调整、单价调整、计费方式的切换等。液晶显示屏的显示效果如图7和图8所示,显示画面具有内容丰富,条理清晰等特点,具有良好的市场应用前景。

参考文献

[1] 李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2008.

[2] 张友德.单片微型计算机原理应用与实验[M].上海:复旦大学出版社,2003.

[3] 张洪润,马平安,张亚凡.单片机原理及应用[M].北京:清华大学出版社,2005.

[4] 何立民.单片机系统设计[M].北京:北京航空航天大学出版社,1990.

[5] 沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2009.

[6] 吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002.

[7] 陈金平.电子系统设计[M].北京:电子工业出版社,2007.

[8] 高峰.单片微型计算机与接口技术[M].北京:科学出版社,2003.

[9] 何立民.单片机应用技术选编[M].北京:北京航天航天大学出版社,1999.

[10] 贺哲荣.51系列单片机实用编程[M].北京:中国电力出版社,2011.

LM3229的其他控制端口按照如下连接:VSS接地;VDD接5 V直流电源;[V0]是背光调节端,接一个10 kΩ的滑线变阻器,电阻两端分别接-18~5 V的电源;[RST]是复位端,通过10 kΩ电阻和0.1 μF电容上电自动复位。其余端口全部接地。液晶显示电路图如图2所示。

T6963C是显示电路的核心控制部件。单片机将命令和数据写入T6963C中,通过读取8 KB显示RAM,控制行列驱动电路,最后将数据显示在液晶屏上。8 KB RAM分为文本显示区、图像显示区、CGRAM区及文本属性区,均是可以通过单片机人为定义的各区首地址。文本区和图像区的首地址对应液晶显示的左上角,将数据写入显示区内就会在液晶显示屏上的对应区上显示出目标内容。本系统中采用了图像显示方式,其显示核心思路是:将每一个字节写入显存内,在对应位置显示出信息;将汉字、字符、数字等要显示的内容用取模软件ZIMO221进行取模(取模就是将汉字、字符、数据分块成对应字节区域),通过单片机控制T6963C将字模数据依次写入显示区域,就可以显示了。在本系统中,要显示大号数字,只有采用图像显示方式才能实现。

T6963C的控制线有FSI,FS0,[RESET,][C/D,][CE,][RD,][WR。]FSI和FS0是字体选择端,共有4种字体提供选择,其对应关系是:FS1和FS0取值为11,10,01,00时对应字体分别为5×8,6×8,7×8,8×8。当以文本方式显示时,显存中的显示数据,1个字节对应显示屏上1个8×8点阵;当以图形方式显示时,显存中所放的显示数据,1个字节对应于显示屏上1个8×1点阵,即1行8个点,这正是可以显示大号字符的原理所在。[RESET]是复位端,低电平有效;[C/D]是命令/数据选择端,高电平时对应D0~D7,传送控制命令,低电平时对应D0~D7,传送数据;[CE]是片选信号端,低电平时该片T6963C可以正常工作。[RD]是读屏控制端,低电平有效;[WR]是写控制端,低电平有效。

T6936C的外部RAM主要用来存储显示数据。T6963C的外部显示地址与屏幕上的对应关系可以人为定义,在单片机主程序中可以指定。图形显示方式的编址方式见表1。

表1中,GH是用户通过程序定义的图形显示区首地址;GA是字符宽度;CL为列数-1;m为点行数-1。在程序中设定GH,GA和m,CL的值后,即可计算出图形显示区的地址。

2.3 时钟电路

由DS1302实时时钟/日历电路提供年、月、周、时、分、秒的信息,闰年天数和每月天数可自动调整。DS1302是DALLAS生产的涓流充电时钟芯片,时钟操作可通过AM/PM指示决定采用24或12小时模式。单片机与DS1302之间的通信方式采用简单的串行口方式,仅需用3个口线:I/O(数据线);SCLK(串行时钟);RES(复位端)。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信,31个字节的RAM可以存储保护设置的单价数据,预防掉电时数据丢失。DS1302有内部备用电源,在正常通电时进行充电,而且DS1302工作功耗很低,故断电后它可以由内部电源维持运行很长时间。

2.4 键盘电路

中断控制方式是利用外部中断源,响应键输入信号。当无按键按下时,CPU执行正常工作程序;有按键按下时,CPU会立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个按键被按下,然后执行该键的功能子程序。这种工作方式克服了可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个中断资源。本次设计采用中断控制方式键盘,该智能计费系统设置6个按键,其中4个键有复用功能:K1:Up/计费;K2:Dn/结束;K3:设置;K4:确定;K5:切换/R;K6:复位/L。具体连接方式如图3所示。

2.5 霍尔传感器电路

本系统用霍尔传感器件A44E采集车轮的转动信息,产生电脉冲供单片机进行计数。将A44E安装到出租车车轮处,车轮每转动一圈,磁铁经过A44E一次,A44E的第3脚就输出1个脉冲信号;作为单片机AT89C51的计时/计数器1的计数脉冲信号,从P3.2口输入;单片机统计脉冲信号的个数,当计数到一定数目后产生内部中断1,单片机就跳转到对应子程序;根据脉冲个数和车轮周长计算出里程,并根据里程计算出对应的消费金额。

3 软件程序设计

系统软件主要由主程序、时钟程序模块、键盘程序模块、金额里程处理程序模块、显示程序模块等组成。

主程序主要完成液晶显示器初始化、初始界面信息显示等功能,并一直在循环跳转等待各种中断;时钟程序模块主要完成时钟芯片数据的读取和写入,是一个内部中断子程序;键盘程序模块主要完成按键功能的控制,是一个外部中断子程序;金额里程处理程序模块主要完成里程和金额的处理,也是一个内部中断子程序;显示模块主要完成各种信息的显示以供读取,是单片机必须调用以显示信息的子程序。

4 电路调试与结论

以AT89C51单片机为核心开发的出租车计价器装置,以霍尔传感器A44E作为里程监测装置,以大屏幕液晶LM3229作为显示装置;设计信号采集、键盘和LCD显示接口电路;编写系统软件程序,实现了时间、金额、单价等信息的显示。以独立按键实现对该系统的控制,按键有计费开始、计费停止、时间调整、单价调整、计费方式的切换等。液晶显示屏的显示效果如图7和图8所示,显示画面具有内容丰富,条理清晰等特点,具有良好的市场应用前景。

参考文献

[1] 李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2008.

[2] 张友德.单片微型计算机原理应用与实验[M].上海:复旦大学出版社,2003.

[3] 张洪润,马平安,张亚凡.单片机原理及应用[M].北京:清华大学出版社,2005.

[4] 何立民.单片机系统设计[M].北京:北京航空航天大学出版社,1990.

[5] 沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2009.

[6] 吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002.

[7] 陈金平.电子系统设计[M].北京:电子工业出版社,2007.

[8] 高峰.单片微型计算机与接口技术[M].北京:科学出版社,2003.

[9] 何立民.单片机应用技术选编[M].北京:北京航天航天大学出版社,1999.

[10] 贺哲荣.51系列单片机实用编程[M].北京:中国电力出版社,2011.

单片机 里程 数据