0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >LED应用 > 基于AT89C2051单片机在点钞机外接显示屏中的应用方案

基于AT89C2051单片机在点钞机外接显示屏中的应用方案

来源: elecfans
2021-11-18
类别:LED应用
eye 32
文章创建人 拍明

基于AT89C2051单片机在点钞机外接显示屏中的应用方案

随着科技的飞速发展,点钞机作为金融领域不可或缺的设备,其功能也日益强大和完善。为了提升用户体验,满足不同场景下的显示需求,点钞机通常会配备外接显示屏。本文将详细探讨基于AT89C2051单片机在点钞机外接显示屏中的应用方案,包括系统架构、硬件设计、软件编程以及优选元器件型号及其选择理由。

image.png

一、 引言

点钞机作为现金处理的关键设备,其准确性和可靠性至关重要。传统的点钞机通常采用内置显示屏,但其显示面积有限,可视角度较窄,在某些特定应用场景下(如银行柜台、商场收银台等)无法满足用户对大尺寸、多角度显示的需求。因此,引入外接显示屏成为提升点钞机实用性和用户体验的有效途径。

外接显示屏的设计需要考虑诸多因素,包括显示内容、通信方式、功耗、成本以及可靠性等。AT89C2051单片机作为一款经典的8位CMOS微控制器,凭借其集成度高、功耗低、价格合理、易于开发等优点,在嵌入式系统中得到了广泛应用。本文将以AT89C2051单片机为核心,设计一套稳定可靠、功能完善的点钞机外接显示屏方案。

二、 系统概述

本方案旨在实现点钞机主机与外接显示屏之间的数据通信与显示。点钞机主机负责点钞计数、面额识别、真伪鉴别等核心功能,并将处理结果通过串口(或其他通信接口)发送给外接显示屏。外接显示屏接收数据后,通过AT89C2051单片机进行处理和显示。

系统主要功能包括:

  1. 计数显示: 实时显示点钞数量,包括总张数、各种面额的张数等。

  2. 面额显示: 显示当前点钞的面额信息,如100元、50元、20元等。

  3. 总金额显示: 显示累计点钞总金额。

  4. 异常信息提示: 显示点钞过程中出现的异常情况,如卡钞、假币、连张等。

  5. 模式指示: 显示当前点钞机的工作模式,如清点模式、混点模式等。

  6. 可扩展性: 预留接口,方便未来功能扩展或升级。

三、 硬件设计

硬件设计是实现系统功能的基石。本节将详细介绍基于AT89C2051单片机的点钞机外接显示屏的硬件组成,并对优选元器件进行详细阐述。

3.1 AT89C2051单片机

  • 元器件型号: AT89C2051

  • 器件作用: 作为整个外接显示屏系统的核心控制器,负责接收点钞机主机发送的数据,解析数据,驱动显示屏显示信息,并处理按键输入(如果需要)。

  • 选择理由: AT89C2051是一款高性能、低功耗的CMOS 8位微控制器,具备2K字节Flash可编程和可擦除只读存储器(PEROM)。其主要优点包括:

    • 低成本: 相较于更高级的单片机,AT89C2051价格亲民,适合成本敏感型应用。

    • 功耗低: 对于外接设备而言,低功耗有助于减少电源负担,提升系统稳定性。

    • 集成度高: 内部集成了CPU、存储器、定时器/计数器、串行口、并行I/O口等,简化了外围电路设计。

    • 易于开发: 兼容80C51指令集,拥有成熟的开发工具链和丰富的应用资料,开发周期短。

    • Flash存储器: 方便程序的烧录和修改,适应产品迭代需求。

    • 小尺寸封装: 提供PDIP-20、SOIC-20等封装,便于PCB布局和小型化设计。

  • 元器件功能:

    • CPU: 执行指令,控制程序流程。

    • 2K字节Flash: 存储程序代码和常量数据。

    • 128字节内部RAM: 存储变量和堆栈数据。

    • 15个可编程I/O引脚: 用于连接显示屏数据线、控制线、按键等。

    • 两个16位定时器/计数器(T0, T1): 可用于产生时钟、定时、计数等。

    • 一个全双工UART串口: 用于与点钞机主机进行串行通信。

    • 中断系统: 支持多种中断源,实现事件响应。

    • 低功耗模式: 提供了空闲模式和掉电模式,降低系统功耗。

3.2 显示屏模块

  • 元器件型号: 根据具体需求优选,常见的有LCD1602、LCD12864、LED数码管模块或小型TFT液晶屏模块。

    • 选择理由: 能够显示丰富的彩色图像和文字,视觉效果极佳,用户体验好。但成本相对较高,驱动复杂,通常需要更强大的MCU来驱动,AT89C2051驱动起来可能存在性能瓶颈,但对于刷新率要求不高的静态显示或简单动画仍可尝试。

    • 器件作用: 提供丰富的图形化界面,显示更直观、美观的信息,如动态图标、真彩色界面等。

    • 元器件功能: 通常内部集成显示控制器,通过SPI、I2C等接口与单片机通信,接收像素数据并驱动显示。

    • 选择理由: 亮度高,可视角度大,显示直观,成本较低。适用于仅需显示纯数字信息,对字符和图形显示无要求的场景。

    • 器件作用: 主要用于显示点钞数量、总金额等纯数字信息。

    • 元器件功能: 通常采用七段数码管,通过段码和位选控制显示特定数字。可以采用SPI、I2C或并行方式与单片机通信。

    • 选择理由: 显示区域更大,可以显示更多的文字、符号甚至简单的图形,信息呈现更丰富。性价比高,驱动相对LCD1602复杂一些,但仍在AT89C2051可控范围内。适用于需要显示较多信息和简单图标的场景。

    • 器件作用: 显示详细的点钞数据、多国语言提示、简单图形化界面。

    • 元器件功能: 内部集成控制器,通过并行或串行接口接收点阵数据并驱动液晶显示。

    • 选择理由: 成本极低,显示字符数量有限但对于简单的数字和文字显示足够,驱动简单,功耗较低。适用于仅需显示少量数字和简单英文提示的场景。

    • 器件作用: 显示点钞数量、金额、简单状态信息。

    • 元器件功能: 内部集成控制器和字符发生器,通过并行或串行接口接收数据并显示字符。

    • LCD1602(16x2字符液晶):

    • LCD12864(128x64点阵液晶):

    • LED数码管模块(例如四位或六位数码管模块):

    • 小型TFT液晶屏模块(例如0.96寸/1.3寸/1.54寸SPI接口彩色TFT):

本方案中,考虑到AT89C2051的处理能力和成本因素,优选LCD12864点阵液晶屏模块。其显示效果和信息承载量足以满足点钞机外接显示屏的大部分需求,且驱动相对成熟,易于实现。

3.3 串行通信接口

  • 元器件型号: 根据点钞机主机输出接口类型选择。通常为RS232或TTL串口。

    • 选择理由: 简化电路,降低成本。

    • 器件作用: 直接连接AT89C2051的P3.0 (RXD) 和 P3.1 (TXD) 引脚。

    • 元器件功能: 无需额外芯片,直接通过单片机内部UART模块进行通信。

    • 器件作用: 将单片机的TTL电平(0V/5V)转换为RS232标准电平(-12V/+12V),实现与点钞机主机RS232接口的通信。

    • 选择理由: MAX232是业界标准的RS232电平转换芯片,性能稳定,可靠性高,广泛应用于各种串口通信场景。其内部集成了电荷泵,只需少量外围电容即可工作,设计简单。

    • 元器件功能: 提供两路RS232发送器和两路RS232接收器,可实现全双工通信。

    • MAX232(RS232电平转换芯片):

    • 如果点钞机主机直接输出TTL电平,则无需电平转换芯片。

本方案假设点钞机主机输出RS232电平,因此优选MAX232芯片作为电平转换器。

3.4 供电模块

  • 元器件型号: LM7805(或其他稳压芯片,如AMS1117-5.0)。

  • 器件作用: 将外部输入的电源(通常为9V-12V直流)转换为系统所需的5V稳定电压,为AT89C2051单片机和显示屏等元器件供电。

  • 选择理由: LM7805是经典的线性稳压器,输出电压稳定,纹波小,可靠性高,价格便宜,易于获取。AMS1117-5.0是低压差稳压器,在输入输出压差较小时效率更高,发热量更小,适合对功耗和发热有较高要求的场景。

  • 元器件功能: 输入电压经过稳压后,输出5V直流电压。需要配合输入输出滤波电容,保证电源的纯净和稳定。

本方案中,优选LM7805,因为它更常用,成本低廉,且对于本应用场景而言,线性稳压器的效率损耗可以接受。

3.5 复位电路

  • 元器件型号: 10kΩ电阻、10μF电解电容。

  • 器件作用: 为AT89C2051提供上电复位和手动复位功能,确保单片机每次启动时都能从已知状态开始执行程序。

  • 选择理由: RC复位电路是最简单、最常用的复位电路,成本低,实现方便。

  • 元器件功能: 当电源上电时,电容两端电压不能突变,因此RST引脚处于高电平,随着电容充电,RST引脚电压下降到低电平,完成复位。通过按键控制RST引脚,实现手动复位。

3.6 晶振电路

  • 元器件型号: 11.0592MHz晶振、22pF陶瓷电容(x2)。

  • 器件作用: 为AT89C2051提供精确的时钟源,保证单片机内部定时器、串口等模块的准确运行。

  • 选择理由: 11.0592MHz是51系列单片机常用的晶振频率,因为这个频率可以产生标准的波特率,使得串口通信更加精确。

  • 元器件功能: 晶振与电容组成谐振电路,产生稳定的时钟信号,驱动单片机内部时钟分频器。

3.7 按键模块(可选)

  • 元器件型号: 轻触按键。

  • 器件作用: 提供用户交互界面,如切换显示内容、调整亮度、进入设置菜单等。

  • 选择理由: 轻触按键成本低,体积小,手感好,寿命长。

  • 元器件功能: 当按键按下时,对应的I/O引脚电平变化,触发单片机中断或查询,执行相应功能。

3.8 其他辅助元器件

  • 电阻: 用于限流、分压、上拉/下拉等。优选1/4W金属膜电阻,精度高,稳定性好。

  • 电容: 用于滤波、耦合、去耦等。优选陶瓷电容和电解电容,根据具体用途选择容量和耐压。

  • 排针/排座: 用于连接显示屏、串口线、电源线等,方便调试和维护。

  • PCB板: 承载所有元器件,提供电路连接。优选双面PCB板,布线更灵活,抗干扰能力强。

四、 软件设计

软件设计是实现系统功能的灵魂。本节将详细介绍基于AT89C2051单片机的点钞机外接显示屏的软件架构和主要模块。

4.1 软件架构

软件采用模块化设计思想,主要包括以下模块:

  • 主程序模块: 负责系统初始化、任务调度、循环查询等。

  • 串口通信模块: 负责数据的接收、发送、解析。

  • 显示驱动模块: 负责驱动显示屏显示字符、数字、图形。

  • 数据处理模块: 负责对接收到的数据进行逻辑处理和格式化。

  • 按键处理模块(可选): 负责按键的扫描和事件响应。

4.2 串口通信模块

  • 功能: 实现AT89C2051与点钞机主机之间的数据收发。

  • 实现细节:

    • 将数据写入SBUF,并等待TI标志位被置位(表示发送完成),然后清除TI标志。

    • 在中断服务程序中,判断RI标志位,如果为1,则读取SBUF中的数据,并清除RI标志。

    • 将接收到的数据存储到环形缓冲区,防止数据丢失。

    • 实现数据帧识别机制,例如通过帧头、帧尾、数据长度等来判断一帧数据的完整性。

    • 设置SCON寄存器,MODE1 (8位数据,可变波特率)。

    • 设置TMOD寄存器,Timer1工作在模式2(8位自动重装载)。

    • 计算并设置TH1和TL1的值,以生成所需的波特率。例如,在11.0592MHz晶振下,要实现9600bps波特率,TH1和TL1应设为0xFD。

    • 打开串口中断 (ES = 1, EA = 1)。

    1. 串口初始化: 配置波特率、数据位、停止位、校验位。通常点钞机通信采用9600bps,8位数据位,1位停止位,无校验。

    2. 数据接收: 采用中断方式接收数据,当接收到一帧完整数据后,将其存储到接收缓冲区。

    3. 数据发送: 将要显示的数据通过串口发送出去(如果需要向点钞机主机发送指令或请求)。

4.3 显示驱动模块

  • 功能: 根据接收到的数据,驱动LCD12864显示相应的字符、数字或图形。

  • 实现细节(以LCD12864为例):

    • 可以通过查表法存储字符点阵数据,或者直接使用LCD控制器内嵌的ASCII字符集。

    1. 引脚连接: 将AT89C2051的I/O引脚与LCD12864的数据线、控制线(RS, RW, E, CS1, CS2)连接。通常使用并行方式,将单片机的一个或两个I/O口作为数据口,另外几个引脚作为控制口。

    2. 初始化: 发送一系列指令对LCD12864进行初始化,包括显示模式设置、显示开/关、清除屏幕等。

    3. 写指令/写数据: 编写发送指令和发送数据的函数,通过控制RS和RW引脚来区分。

    4. 字符/数字显示: 将点钞机主机发送过来的数字或字符串转换为LCD12864可识别的点阵数据,并发送到指定显示区域。

    5. 区域刷新: 当数据发生变化时,只刷新变化区域,避免全屏刷新带来的闪烁。

    6. 图形显示(可选): 对于需要显示简单图标的场景,需要将图标的位图数据存储在单片机中,并通过驱动函数将其显示在屏幕上。

4.4 数据处理模块

  • 功能: 解析从点钞机主机接收到的原始数据,提取所需信息,并将其格式化为可显示的数据。

  • 实现细节:

    1. 协议解析: 了解点钞机主机与外接显示屏之间的通信协议。点钞机厂家通常会提供相应的通信协议文档,包括数据帧格式、数据编码、校验方式等。

    2. 数据校验: 对接收到的数据进行校验(如CRC校验、和校验),确保数据传输的准确性。如果校验失败,则请求重传或忽略该数据帧。

    3. 数据提取: 从数据帧中提取出点钞数量、面额、总金额、异常信息等关键数据。

    4. 数据转换: 将提取出的数据进行必要的转换,例如将二进制数转换为十进制字符串,将面额代码转换为对应的文字描述。

    5. 异常处理: 对于接收到的错误数据或协议不匹配的数据,进行相应的错误处理,如显示“数据错误”或“通信异常”等提示。

4.5 按键处理模块(可选)

  • 功能: 扫描按键状态,并根据按键事件执行相应操作。

  • 实现细节:

    1. 按键扫描: 定时器中断或主程序循环查询按键引脚状态,检测按键是否按下。

    2. 消抖处理: 为了避免按键抖动引起的误触发,需要进行软件消抖。通常在检测到按键按下后,延迟一段时间再次检测,如果状态依然为按下,则认为是有效按键。

    3. 按键事件响应: 根据按键功能,执行相应的操作,如切换显示模式、调整参数等。

4.6 主程序流程

  1. 系统初始化:

    • 初始化AT89C2051的I/O口、定时器、串口。

    • 初始化LCD12864显示屏。

    • 清空显示缓冲区。

  2. 主循环:

    • 串口数据接收与处理: 不断检查串口接收缓冲区,如果接收到完整数据帧,则调用数据处理模块进行解析。

    • 显示更新: 根据数据处理模块的结果,调用显示驱动模块更新显示屏内容。

    • 按键扫描与处理(可选): 扫描按键状态,如果检测到按键事件,则执行相应功能。

    • 其他任务: 如定期心跳发送、系统状态监测等。

五、 优选元器件型号及选择理由总结

在硬件设计部分已经详细阐述了各个优选元器件的型号和选择理由,这里进行总结:

  • 核心控制器: AT89C2051。因其低成本、低功耗、集成度高、易于开发,适合作为嵌入式显示控制器的核心。

  • 显示屏模块: LCD12864点阵液晶屏模块。在AT89C2051性能和成本限制下,提供较好的信息显示能力和用户体验。

  • 串口电平转换: MAX232。业界标准,稳定可靠,用于RS232电平转换。

  • 稳压芯片: LM7805。常用、稳定、成本低廉的5V线性稳压器。

  • 复位电路: 10kΩ电阻、10μF电解电容。简单有效的RC复位电路。

  • 晶振电路: 11.0592MHz晶振、22pF陶瓷电容(x2)。为51系列单片机提供精确的串口波特率。

  • 按键: 轻触按键。成本低,体积小,寿命长。

  • 其他辅助元器件: 1/4W金属膜电阻,陶瓷电容和电解电容,排针/排座,双面PCB板等,均为通用且性能稳定的电子元件。

六、 系统集成与调试

6.1 硬件组装

按照电路原理图进行PCB板的制作和元器件的焊接。焊接过程中需要注意元器件的正负极性、引脚方向以及焊接牢固性,防止虚焊或短路。

6.2 软件烧录

完成硬件组装后,将编译好的程序代码通过编程器烧录到AT89C2051单片机的Flash存储器中。

6.3 系统调试

  1. 电源测试: 首先测试供电模块输出电压是否稳定在5V,避免烧毁元器件。

  2. 复位测试: 检查上电复位和手动复位功能是否正常。

  3. 晶振测试: 通过示波器观察晶振引脚波形是否正常,频率是否准确。

  4. 串口通信调试:

    • 使用串口调试工具(如串口助手)模拟点钞机主机发送数据,观察AT89C2051是否能正确接收和解析。

    • 检查波特率、数据格式是否匹配。

    • 验证数据校验功能是否生效。

  5. 显示屏调试:

    • 测试显示屏初始化是否正常,能否正常点亮和清除屏幕。

    • 逐个测试显示字符、数字、图形等功能,确保显示位置和内容正确。

    • 观察显示刷新是否有闪烁现象,进行优化。

  6. 与点钞机主机联调:

    • 将外接显示屏与点钞机主机连接,进行实际点钞测试。

    • 观察显示屏是否能实时、准确地显示点钞数据、面额、总金额以及异常信息。

    • 记录并解决联调过程中出现的问题,如通信中断、数据显示异常等。

  7. 稳定性测试:

    • 进行长时间运行测试,模拟实际使用环境,观察系统是否稳定可靠。

    • 在不同环境温度、湿度下进行测试,评估环境适应性。

    • 进行抗干扰测试,如电磁干扰、静电放电等,确保系统在复杂环境下仍能正常工作。

七、 成本与效益分析

7.1 成本分析

基于AT89C2051的方案具有显著的成本优势。

  • 元器件成本: AT89C2051、LCD12864、MAX232、LM7805等核心元器件均属于成熟产品,价格透明且非常低廉。单个显示屏模块的BOM成本可以控制在较低水平。

  • 开发成本: 51系列单片机开发工具成熟,学习曲线平缓,开发人员资源丰富,降低了开发周期和人力成本。

  • 生产成本: 电路板设计相对简单,生产工艺成熟,便于批量生产,进一步降低了单位产品成本。

7.2 效益分析

  • 提升用户体验: 大尺寸、清晰的外接显示屏能让用户更直观地了解点钞过程和结果,尤其是在银行柜台、商超等场景下,方便客户和操作员同时查看。

  • 增加产品附加值: 外接显示屏作为一项增值功能,可以提升点钞机的市场竞争力,吸引更多用户。

  • 适应多元化需求: 满足不同行业、不同客户对显示信息量和显示效果的需求。

  • 故障诊断便利: 通过显示屏可以显示点钞机的错误代码或故障信息,便于快速定位和解决问题。

八、 未来展望与改进方向

尽管基于AT89C2051的方案具有成本和开发优势,但随着技术发展和市场需求变化,仍有改进和优化的空间:

  1. 升级MCU: 如果需要更复杂的图形界面、更快的响应速度或更强大的通信能力,可以考虑升级到更高级的32位ARM Cortex-M系列单片机(如STM32F103系列)。这将允许使用更高分辨率的彩色TFT液晶屏,实现更丰富的图形化界面和动画效果。

  2. 无线通信: 引入Wi-Fi或蓝牙模块,实现点钞机与外接显示屏之间的无线通信,简化布线,提升安装灵活性。例如,通过ESP8266模块实现Wi-Fi通信,将点钞数据上传到云端,实现远程监控。

  3. 触摸屏交互: 如果外接显示屏需要实现更丰富的交互功能,可以考虑集成触摸屏,配合图形化界面,提升用户体验。这需要更强大的MCU和显示控制器。

  4. 多功能集成: 除了显示点钞数据,还可以考虑集成其他功能,如语音播报、票据打印接口等,使外接显示屏成为一个多功能信息终端。

  5. 数据安全与隐私: 在数据传输过程中,考虑加密传输,确保点钞数据的安全性和隐私性,尤其是在涉及敏感信息的场景。

  6. 模块化设计: 进一步将显示驱动、通信协议等模块化,方便代码复用和功能扩展。

  7. OTA(Over-The-Air)升级: 引入OTA固件升级功能,方便后续对显示屏程序的远程更新和维护。

九、 结语

本文详细探讨了基于AT89C2051单片机在点钞机外接显示屏中的应用方案,从系统概述、硬件设计、软件编程、优选元器件到系统集成与调试、成本效益分析,进行了全面深入的阐述。该方案充分利用了AT89C2051的优势,实现了成本效益和功能需求的平衡,为点钞机外接显示屏的设计提供了可行的技术路径。虽然AT89C2051在处理复杂图形和高速通信方面存在局限性,但对于传统的字符和数字显示,其性能足以满足需求。未来,随着技术进步,可根据实际需求对方案进行升级和优化,以适应更广阔的市场需求。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告