基于单片机的纸张计数器设计

2014-01-20 03:24朱海星丁晨阳葛赛赛
扬州职业大学学报 2014年3期
关键词:按键纸张时钟

朱海星,丁晨阳,葛赛赛

(扬州职业大学,江苏 扬州 225009)

计数器应用于复印机和印刷机基本上是停留在单次操作计数,不具有记忆、卡纸记忆、掉电记忆等保护功能。为了满足打印机节约纸张、提高打印效率等要求,考虑设计具有累加记忆功能的打印机纸张计数器,为市场提供一个有实用价值、低成本、具有通用性的打印机纸张计数产品。

1 系统硬件设计

对系统总体的各个模块进行分析得出系统的可行性,在此基础上确定各个电路的组成。系统的总框图见图1。

1.1 电路功能模块

在主控单元模块中,单片机是主控芯片,由对单片机编写程序完成电路的设计任务,时钟电路给单片机提供时钟信号,复位电路可以对系统的复位以保证单片机正常的工作;显示模块用一种专门用来显示字母、数字、符号等的点阵型液晶模块;按键模块负责系统密码的处理,初始密码的设定,密码的编写,修改计数值;读取时钟保存计数值模块负责为单片机送时钟信号,并自带的内存可以保存检测到纸张的计数值,在自带锂电池的供电作用下显示掉电记忆保存功能;红外检测模块用光电式传感器,负责发射与接收红外线以检测纸张的有无,光电检测器产生的电信号送单片机读取处理。

1.2 电路功能模块实现

图1 系统的总框

(1)主控模块。采用AT89S52 单片机[1]作为系统的控制核心。由于使用了单片机,整个系统可编程,还可以方便地实现其他功能的扩展。

(2)显示模块。采用1602 液晶也叫1602 字符型液晶,LED 显示器与LCD 显示器相比,LCD在亮度、功耗、可视角度和刷新速率等方面,都更具优势。所以,本设计选用LCD 显示器。

图2 电路图

(3)按键模块。采用独立式按键电路,每个键单独占有一个I/O 接口线,每个I/O 口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的I/O 口数目较多,优点是电路设计简单,且编程极其容易。

(4)时钟模块。采用DS12C887 时钟芯片给单片机提供时钟信号,可以实时显示时间;自带锂电池,减少电路的复杂性。

(5)检测模块。采用光电式传感器ST188,元器件便宜实用,测试距离为4 ~16mm,符合课题的设计要求。

1.3 电路图

经过功能模块的分析,电路图见图2。该电路有密码按键模块、单片机最小系统模块、红外器件检测模块、读取时钟保存计数值模块和显示模块五个模块组成。

2 系统软件设计

系统设计采用C 语言编写,应用C 语言编写系统软件,便于修改和扩充,且C 语言编译器可以自动完成变量的存储单元分配,编程者可以专注于应用软件部分的设计。其设计分时钟、显示、检测计数以及密码设置等部分。主流程图见图3。

2.1 读取时钟与显示

因为在系统使用中,要方便管理人员了解打印纸张计数对应的时间,所以读取时钟和显示都是重要的设计工作。

2.2 红外检测部分软件设计

在连接电路中,当没有物体反射红外线时,ce之间截止,无电流流过,输出电压为电源电压,高电平。当有物体反射红外线时,be 饱和导通ce也就导通了,输出端就相当于接地。输出电压为低电平(见图4 中a)。

单片机使用中断接收来自ST188 的电平信号,并且低电平有效。根据以上的原理画出红外检测流程图见图4b。

2.3 密码设置

密码设计部分,是一个比较复杂的过程。密码要能够管理纸张计数,流程图见图5。具体系统操作见3.4 部分。

设计的系统通过仿真实现密码设定,修改纸张计数值运行,主要的功能包括:设定个人密码;设置纸张计数界面;设定自己需要的完成计数值;输入密码修改纸张计数值,并且只有管理员输入密码后才能修改。

图3 主流程

图4 红外检测纸张流程图

图5 密码按键设置流程

3 系统仿真与运行调试

3.1 编译程序软件

Keil Software 的8051 开发工具提供程序,可以用它们来编译C 源码、汇编源程序、连接、重定位目标文件和库文件、创建HEX 文件、调试目标程序等。

3.2 仿真

使用Proteus 软件[2],进行系统仿真,有利于提前检测可能的软硬件故障。仿真运行见图6。

3.3 运行调试以及问题的解决

运行调试,遇到的部分故障和解决办法如下:

图6 系统仿真

(1)动手写程序的时候,会产生忘记写变量,或者是管脚的定义不对,或者是标号忘记标注等等低级的错误,经过查找资料、讨论,可逐步解决这些问题;(2)按各个模块写程序,写好一个模块再进行测量,以免到最后程序写完了还查不出哪个模块出了问题。在模块的测量中会发现很多的问题,包括程序或者硬件问题。可先做一个仿真,更方便自己查询到底是哪一部分出了问题;(3)烧录软件时出现驱动不对的情况,这时可重装驱动,或者重启电脑,因为可能是自己电脑的驱动不对,也可能是自己的接口受到硬件电路的短暂短路电流的作用。

3.4 系统的操作说明

设计的系统主要功能的操作包括:上电是显示实时时钟的时间,年、月、日、时、分、秒。

右下角显示的是纸张的计数值,整个系统有六个按键控制,当按下确定键时界面进入密码修改即重设密码界面,初始密码为已知。上下左右按键分别是输入密码时作用,上是数值加1,下是数值减1,左数值向左移一位,右是数值向右移一位,当按下取消键时,显示的是进入计数值修改界面,输入你设定的密码,修改最大计数值是999 的纸张计数值,并确认键从设定值开始计数。

3.5 系统完善

系统可以支持进一步的开发或者改进。例如:可以把按键改成无线遥控式按键,这样更能体现产品的智能化,更便捷;显示模块可以改为lcd12860,优点是lcd12860 可以显示图案显示的位数更多,可以把产品做得更加的具有特色;本设计完全可以寻找测试距离更远,准确度更高的光电传感器,这样可以应用于更多的需要计数的场合,如生产线上的产品计数。

4 结论

以上介绍的系统可以检测到办公室常用打印机的出纸量,记忆累加统计,掉电保护纸张数量;密码保护,可以实现各个用纸量的统计;实时时间,显示确定每人总的用纸量。

[1] 梅丽凤.单片机原理及接口及接口技术[M].北京:清华大学出版社,2004.

[2] 李学礼.基于Proteus 的8051 单片机实例教程[M].北京:电子工业出版社,2008.

猜你喜欢
按键纸张时钟
薄如纸张的扬声器
别样的“时钟”
基于有限状态机的按键检测程序设计
近期国内市场纸张价格(2020年3月)
古代的时钟
纸张黑白变
按键消抖在单片机和FPGA实验教学中的应用
撕纸张
有趣的时钟
一种多方向导光按键结构设计