版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于新型单片机计时计费系统设计毕业设计(论文) 基于新型单片机计时计费系统设计信息工程学院自动化专业 黄飞摘要本设计首先介绍了系统的设计方案思路与原理图,进而阐明了设计电话计时计费系统的意义。文章采用分块模式,对整个系统的硬件与软件设计进行分析,其中硬件部分着重介绍了电源电路,单片机80c31控制芯片及其外围电路,专用键盘/显示器接口芯片8155,实时时钟日历芯片dmf5001等,软件部分就针对一些具体模块进行编程关键词:电子,单片机,数码显示,单片机,电话计费abstract the design first introduced the system of ideas and design
2、 schematics, design further clarify the meaning of the telephone billing system. the article by block model of the entire system of hardware and software design analysis, which focused on the hardware part of the power circuit, the mcu 80c31 chip and its peripheral circuits, special keyboard / displ
3、ay interface chip 8155, real-time clock chip dmf5001 calendar , on the part of software modules for specific programming. mcu system as a whole by means of communication, the paper also introduced a microcontroller interface with the controller, as well as the communication between the systems board
4、 pcb production, installation and commissioning of the relevant content.keyword: electronics,calculation,figures showing, mcu, telephone billing enquiries前 言 目前,随着通信事业的发展及人们生活水平的提高,手机、小灵通各种先进的通信设备纷纷涌现,并愈来愈普及。但固定电话面对如此冲击,并未退出历史舞台,而因其信号强的固有优势,走进了各家各户。伴随随着现代化通信技术的发展人们越来越迫切需要一种实用而价廉的自动计时计费装置, 它能规范管理电话和传
5、真机的计时费,并且能在掉电时保存数据, 防止他入滥用电话和传真机的计时计费, 保护所有者和使用者的合法权益。为此, 我试验性的设计了这种以单片机为核心的新型单片机计时计费系统。该电话计费器采用80c31单片机控制, 可实现国际长途电话 idd 、国内长途电话 ddd 、市内电话、农村电话、本地网电话及特殊服务电话 如移动电话、168等 等的自动计时、计费, 能适用于脉冲和双音频电话机。计费器可同时进行双路计费 即一只计费器用于二只电话机的计费 , 并具有停电能继续工作8小时以上的功能 利用计费器内的充电干电池 。本文就是针对这一现状,具体介绍了基于intel 80c31单片机的电话计费器的设计
6、及其工作原理,并简单穿插了该计费器的使用及可完成的功能。该计费器具有如下特点:能实现电话机基本的计时计费功能;在非计费时,能作为电子时钟;具有停电后的继续工作能力;能实现一只电话以上的计费。软件部分采用c语言进行程序设计,运算速度快,编译效率高,有良好的可移植性,而且可直接实现对系统硬件的控制。第一章 电话计时计费系统的总体设计思路在第一章中,我们将对电话计时计费系统的总体设计及其主要的功能特点进行简单的分析,并概括出它的特点、实现的功能以及系统的简单操作,以促进对单片机及其控制系统的了解。 1.1计算机电子技术发展的概述与系统问题的提出目前,单片机正朝着高性能和多品种方向发展,单片机的发展正
7、朝着cmos化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等几个方面发展。近几年,由于某种原因chmos技术的进步,大大地促进了单片机的cmos化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态,并且单片机一般采用精简指令集结构和流水线技术,可以大幅度提高运行速度,提升信息处理功能,中断和定时控制功能,在一般上还具有串行扩展技术,随着低价位otp及各种类型片内程序存储器的发展,加之外围接口不断进入片内,特别是iic,api等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。这就引导我们利用单片机来实现电话计费器来实现电话计
8、费的可靠与便捷。 随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,就51系列而言,由于intel公司将其内核使用权以专利互换或出售的形式转给世界许多著名ic制造商,随着计算机技术的不断发展,在工业测量控制领域内单片机的应用越来越广泛。同时,随着超大规模集成电路工艺和集成制造技术的不断完善,单片机的硬件集成度也不断提高,已经出现了能满足各种不同需求、具有各种特殊功能的单片机,这类单片机具有集成度高、性能价格比优越、货源充足等优点,在工业测量领域内获得了极为广泛的应用价值。目前,随着通信事业的发展及人们生活水平的提高,手机、小灵通各种先进的通信设备纷纷涌现,并愈来愈普及。但固定电话面对如
9、此冲击,并未退出历史舞台,而因其信号强的固有优势,走进了各家各户。电话机用户数以亿计,计费依据来自电信局交换机给出的清单。清单方式是准确的,但电话机用户并不能及时方便地看到费用清单。各类卡式电话机可以实时显示计费,但却不宜进入家庭。各种常见的led公用电话计费器,则不能较好适应有时会发生变化的电话费率。如果能向家庭内的电表、水表、气表一样,能有一款家庭型的电话计时计费器,将会给人们的生活带来许多方便。用户可以在打完一次电话后方便地查看话单信息及一段时间内的话费累计总额。为了加强技术创新力度,要为产品市场定位。这是电话计时计费行业发展的基础,未来此行业所面临的将不但是国内企业之间的竞争,更重要的
10、是如何应对世界经济洪流的冲击。加入wto后我们的电话计费器市场将由向以国内市场为主,转变为以国际市场为主。目前多数生产企业对国际需求尤其是中高档电话计费器的需求了解不深,在通过各种手段加以了解。国外的精品店、大卖场、大超市和大批发市场都有特定的消费人群,应根据不同的类别,针对不同的消费层次,正确区分高中低档次,开发适销品,畅销品,做到有的放矢。电话计费器是集计算机技术、电子技术、智能计费技术为一体的机电一体化高科技产品,具有可靠性高,使用方便等优点。电话计费器由于其自身的优势,必将为社会所接受。其利润也是很可观,且国内市场广阔,很有开发生产价值。dmf5001时钟芯片的初始化:时标置初值,并启
11、动芯片开始工作;定时器/计数器0,1初始化:置计数初值,设置t/c0和t/c1 的工作方式。开中断后便进入循环体。 原理方框图该系统主要由80c31单片机、费率表、话单打印、键盘、状态显示,时钟,话单储存,串行口,其结构框图如图1.1所示。图1.11.3 电话计时计费系统的主要特点利用intel公司的80c31单片机设计和实现一款低成本的可配置性的单路电话计费器。其可配置性保证了该计费器可适应电信局费率的调整而重新设置计费参数,并可调整计时以与当前时间日期相吻合。该计费器具有如下特点:(1)能实现电话机基本的计时计费功能;(2)在非计费时,能作为电子时钟;(3)具有停电后的继续工作能力;(4)
12、能实现一只电话以上的计费。第二章 具体的功能要求,设计指标以及方案论证2.1电话计时计费系统的功能要求随着现代化通信技术的发展, 电话机和传真机已进入办公室和千家万户。人们越来越迫切需要一种实用而价廉的自动计时计费装置, 它能规范管理电话和传真机的计时费,并且能在掉电时保存数据, 防止他入滥用电话和传真机的计时计费, 保护所有者和使用者的合法权益。为此, 我试验性的设计了这种以单片机为核心的新型单片机计时计费系统。该电话计费器采用80c31单片机控制, 可实现国际长途电话 idd 、国内长途电话 ddd 、市内电话、农村电话、本地网电话及特殊服务电话 如移动电话、168等 等的自动计时、计费,
13、 能适用于脉冲和双音频电话机。计费器可同时进行双路计费 即一只计费器用于二只电话机的计费 , 并具有停电能继续工作8小时以上的功能 利用计费器内的充电干电池 。2.2电话计时计费系统的设计指标(1)能实现电话机基本的计时计费功能;(2)在非计费时,能作为电子时钟;(3)具有停电后的继续工作能力;(4)能实现一只电话以上的计费。2.3电话计时计费系统的方案论证随着我国通信事业的发展,国内国际长途电话业务的开展越来越广泛,对电话机费的管理相应的提出了许多要求。国内现有的大型程控交换机本身就具有计费功能;而一些小型的用户交换机,或仅能提供简单的计费功能,或不具备这一能力,因而很不适应日益增长的社会需
14、求,在这种情况下,各种型号的电话计费器应运而生,蓬勃发展起来。电话计费器结构如图2.1所示。图2.1电话计费器一般按电气性能一般分为适于安装在交换机中的用户交换机计费器,安装在外线电路上的外线电路计费器和智能密码电话计费系统。用户交换机电话计费器:主要功能有:显示功能,能实时显示个话机的使用情况,一般可显示线路号,主叫号,被叫号,被叫地区,通话开始时间,通话终止时间,通话时长,话费等信息;计费功能,能根据通话使用的话路权限选择相应的费率进行计费,有半价,全价,附加费等;存储功能,实时存储所有计费话单;查询打印功能,可根据用户要求查询打印出电话的使用及费用情况;费率管理,可增加,修改费率等。 2
15、. 外线电路计费器外线电路计费器除了具有用户交换机电话计费器的全部功能外,还能进行话机监听,话机控制等。此类计费器按照服务对象可进一步分为:单双路直拨电话计费器,是用于公共电话亭,长途代办处;长话营业厅用电话计费器,具有磁卡电话的某些特点,对每个电话进行自动计费;多路外线电话计费器,一般有4路,16路,20路,24路,32路,48路,64路和96路。 3.智能密码电话计费系统此计费方式可以有效的防治盗打电话,其余功能同上。 基于nios软核cpu技术的多路电话计费系统电话计费系统采用altera公司的cyclone芯片,结合nios软核嵌入式cpu来设计开发。在此cyclone芯片上,除串口、
16、键盘等接口外,将实时显示部分也集成进去,同时通过标准的i0 口外接了1片cmx868的modem芯片来实现远端拨号功能,最大限度地使用了cyclone芯片的资源。该设备的主要功能有:话机状态实时显示;实时计费,自动结算;免费、禁打等电话设置;押金控制功能;详尽的话单查询及统计功能;远程实时管理功能,网管中心可通过modem 对计费器进行费率更新等实时管理操作。设备的实时显示部分,准备在cyclone芯片中做出一个显示逻辑,通过普通的av端外接一个监视器或小电视,显示各路话机的当前状态;计费结算、免费、禁打的设置、押金控制、话单查询及统计等功能在软件流程设计中给予充分考虑;远程实时管理部分,采用
17、cmx868调制解调器芯片编程实现,拨号与远端的modem互联,通过电话线进行费率的下载与更新。cyclone芯片结构如下图所示(图2.2)。 图2.2 cyclone芯片内部结构 基于微机与交换机的电话计费系统该电话计费系统具有以下功能:根据通话距离的远近和通话时间的长短进行计次计费;每月末或需要时可打印出全部或部分用户的话费表;可随时查询任一用户的累积通话次数;可超次报警(即一次通话累计超过256次,能自动报警,并显示出超次电话号码);当用户与电话局发生争议时,可在约定时间内对通话时间和次数进行核对;便于对用户电话号码及其类别进行更动;对节假日和晚8点到次日早8点的通话,可设置半费;软硬件
18、技术结合对系统进行故障定位。该计费系统框图如下图所示(图2.3):图2.3 系统框图 基于80c31单片机可编程电话计费器 该电话具有很高的性价比,对我们来说便于实现。其采用80c31单片机控制, 可实现国际长途电话 idd 、国内长途 ddd 、市内电话、农村电话、本地网电话及特殊服务电话 如移动电话、168等 等的自动计时、计费, 能适用于脉冲和双音频电话机。计费器可同时进行双路计费 即一只计费器用于二只电话机的计费 , 并具有停电能继续工作8小时以上的功能 利用计费器内的充电干电池 。第三章 控制系统的硬件设计为使装配流水线控制系统能够具有更好的实用性,并且具有更高的性能,需对该系统的硬
19、件进行精心的设计。该系统的硬件设计采用了模块化的设计方法。按实现的功能来分,可分为以下几个部分。其中,51单片机是整个电路的核心,它控制其他模块来完成各种复杂的操作。3.1 中央控制器 intel 80c31单片机单片机又称微控制器,是在一块硅片上集成了各种部件的微型计算机,这些部件包括中央处理器cpu、数据存储器ra程序存储器rom、定时器/计数器?数据存储器(ram)片内振荡器及时钟电路?具有布尔代数的运算能力。 80c31单片机的功能描述80c31单片机,它是8位高性能单片机。属于标准的mcs-51的hcmos产品。它结合了hmos的高速和高密度技术及chmos的低功耗特征,标准mcs-
20、51单片机的体系结构和指令系统。 80c31内置中央处理单元、128字节内部数据存储器ram、32个双向输入/输出 i/o 口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。但80c31片内并无程序存储器,需外接rom。 此外,80c31还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结cpu而ram定时器、串行口和中断系统维持其功能。掉电模式下,保存ram数据,时钟振荡停止,同时停止芯片内其它功能。80c31有pdip 40pin 和plcc 44pin 两种封装形式。8031芯片具有40根引脚,其引脚图如图所示: 80c31管脚图4
21、0根引脚按其功能可分为四类: 1. 电源线2根 vcc:编程和正常操作时的电源电压,接+5v。 vss:地电平。 2. 晶振:2根 xtal1:振荡器的反相放大器输入。使用外部震荡器是必须接地。 xtal2:振荡器的反相放大器输出和内部时钟发生器的输入。当使用外部振荡器时用于输入外部振荡信号。 3. i/o口共有p0、p1、p2、p3四个8位口,32根i/o线,其功能如下: 1) p0.0p0.7 (ad0ad7) 是i/o端口o的引脚,端口o是一个8位漏极开路的双向i/o端口。在存取外部存储器时,该端口分时地用作低8位的地址线和8位双向的数据端口。(在此时内部上拉电阻有效) 2) p1.0p
22、1.7 端口1的引脚,是一个带内部上拉电阻的8位双向i/o通道,专供用户使用。 3) p2.0p2.7 (a8a15) 端口2的引脚。端口2是一个带内部上拉电阻的8位双向i/o口,在访问外部存储器时,它输出高8位地址a8a15 4) p3.0p3.7 端口3的引脚。端口3是一个带内部上拉电阻的8位双向i/o端口,该口的每一位均可独立地定义第一i/o口功能或第二i/o口功能。作为第一功能使用时,口的结构与操作与p1口完全相同,第二功能如下示: 口引脚 第二功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 (外部中断) p3.3 (外部中断) p3.4 t0(定时器0
23、外部输入) p3.5 t1(定时器1外部输入) p3.6 (外部数据存储器写选通) p3.7 (外部数据存储器读选通)8155各引脚功能说明8155图rst:复位信号输入端,高电平有效。复位后,3个i/o口均为输入方式。 ad0ad7:三态的地址/数据总线。与单片机的低8位地址/数据总线(p0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。 rd:读选通信号,控制对8155的读操作,低电平有效。 wr:写选通信号,控制对8155的写操作,低电平有效。 ce:片选信号线,低电平有效。 io/m :8155的ram存储器或i/o口选择线。当io/m 0时,则选择
24、8155的片内ram,ad0ad7上地址为8155中ram单元的地址(00hffh);当io/m 1时,选择 8155的i/o口,ad0ad7上的地址为8155 i/o口的地址。 ale:地址锁存信号。8155内部设有地址锁存器,在ale的下降沿将单片机p0口输出的低8位地址信息及 ,io/ 的状态都锁存到8155内部锁存器。因此,p0口输出的低8位地址信号不需外接锁存器。 pa0pa7:8位通用i/o口,其输入、输出的流向可由程序控制。 pb0pb7:8位通用i/o口,功能同a口。 pc0pc5:有两个作用,既可作为通用的i/o口,也可作为pa口和pb口的控制信号线,这些可通过程序控制。 t
25、imer in:定时/计数器脉冲输入端。 timer out:定时/计数器输出端。 vcc:5v电源。 dmf5001的硬件结构及接口图1 为dmf5001的内部电路框图。它由一片160128点的单屏结构液晶显示器nrd7353、两片行驱动器t6961b、两片列驱动器t7778a、 一片控制器t6963c及8k的ram和相关配套电路组成。由图1可以看出,外部电路与dmf5001的接口实际上就是与控制器t6963c的接口。它通 过执行t6963c的内部命令来控制8k ram的读写和显示板的显示。dmf5001的接口引线如图所示。其中, d0-d7为双向数据总线,wr和rd为读写控制线,ce为片选
26、信号,c/d为命令/数据控制线。c/d控制信号可与wr、rd控制信号配合工作。当 c/d 1时,系统将认为向t6963c写入的8位数据是命令,而从t6963c读出的8位数据则认为是当前t6963c的内部工作状态;当c/d 0 时,系统的写入和读出均为显示数据。halt为功耗控制端,当halt 1时为正常工作,halt 0时,为低功耗状态。该电路选择的是+5v(vcc) 工作电源,液晶显示板的电源vee为-20v。dmf5001的显示对比度控制电压为vadj 0-vee。dmf 可以与8051系统直接接口。其实际接口电路如图2所示。其中,74ls138的地址译码输出信号y6可作为dmf5001的
27、cs控制信号,地址范 围为c000h-dfffh。同时,74ls373输出的地址线a0应接到dmf5001的c/d控制端。因此,向dmf5001写图3.1 复位电路图接通电源后,vcc便对电容通过电阻进行充电。rst脚的电压等于vcc与电容两端电压之差。在充电过程中,随着电容电压逐步趋于vcc,rst引脚上之电压最终将接近于0。此过渡过程之长短取决于电阻和电容值的大小。10uf电容足可使rst脚上的电压在振荡器启振后尚有两个机器周期以上的时间保持高于施密特触发器的低门槛电平,从而使整个复位过程得以完成。3.5 时钟电路的设计与工作原理分析特性xtal1和xtal2分别为反向放大器的输入和输出。
28、该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。80c31单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚xtal1和xtal2外接晶体振荡器 简称晶振 或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器c,起稳定振荡频率、快速起振的作用,其电容值一般在5-30pf。晶振频率
29、的典型值为12mhz,采用6mhz的情况也比较多。内部振荡方式所得的时钟号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。由上图可见,xtal1接地外部振荡信号由xtal2引入。为了提高输入电路的驱能力,通常外部信号经过一个带有上拉电阻的ttl反相门后接入xtal2。80c31单片机控制 由于要求该计费器具有停电继续工作的功能, 停电后计费器由机箱内4节1号干电池供电, 因此在 计费器的硬件电路中, 我们尽可能选用低功耗的cmo s 芯片, 包括80c31单片机及其它芯片 ; 程序
30、存储器为27c256 32kb eprom , 最大可用来存放32kb 的监控程序; 数据存储器为62256 32kb sram , 外部数据存储器用于存放电话的费率、话单及一些临时数据。计费器设有6个功能键, 键盘的行输出采用一片74hc374实现, 键盘的列输入由80c31的p315完成。计费器的显示采用点阵式lcd 该lcd 能显示23 20个字符, 每个字符的点阵537 ,lcd 的接口直接通过80c31的p1口完成。计费器的串行口 rs232c 由80c31的p310 txd 、p311 rxd 经电平转换得到, 该串行口用于实现计费器与系统机的数据通讯。计费器还有一个cent ro
31、nics 并行打印接口, 其8位数据输出通过一片74hc374 与键盘的行输出共用一片74h 374 实现,选通信号/stb 由80c31的p117提供, 打印机的忙信号bu sy 通过74hc245 2 的d6 送到80c31。由于62256中存放着费率、话单等重要数据, 因此采用了一个较可靠的ram 断电保护电路, ram 的备用电池选用3v 的n icd 电池。图1还给出了计费器断电 市电 自动切换到后备干电池继续工作8小时以上的电路, 后备电池选用4节1号干电池。计费器平时工作时采用经变换的交流电 市电 , 断电 市电 后采用干电池工作。4.2 计费器脉冲/双音频电话信号接口电路设计图
32、4.2为计费器脉冲/双音频电话信号接口电路原理简图 图中只给出了一路电话信号的接口电路, 另一路电话信号的接口电路类似 。脉冲信号经光耦器件tl p5212 1 隔离后送到74hc245 1 , 双音频信号则经dtm f 译码芯片mc145436 1 后送到74hc245 1 。图4.3中的继电器电路则完成电话线断开的功能。 图4.3 电话信号接口电路原理简图 4.3 rs-232c接口设计异步串行通信接口rs-232c采用负逻辑,即:逻辑“1”为-5 - -15v,逻辑“0”为+5 - +15v。而ttl电平的“1”和“0”,因此rs-232c与ttl电路接口需要电平转换。电平转换电路可以由
33、晶体管分立元件构成,称为准rs-232c电平转换器。也可由集成芯片1488和1489构成,称为标准rs-232c电平转换器。 准rs-232c电平转换器 准rs-232c电平转换电,由分立元件构成,单+5v电源供电。图中上半部分为接收器,输入rs-232c标准电平,输出为ttl电平;下半部分为发送器,输入为ttl电平,输出为准rs-232c电平。其工作原理:作为接收器时,当输入端a为+12v时,三极管t1导通,输出端b为0。当输入端a为-12v时,t1截止,输出端b为+5v.作为发送器时,输入端c为ttl高电平时,三极管t2截止,借助于rs-232c输出停止时,a端输出为-12v电位,使二极管
34、d2导通,从而对电容c充电至-12v。d点输出为-12v,输入端c为ttl低电平时,三极管t2导通,输出端d为+5v电平。-232c电平转换电路 标准rs-232c电平转换器 在实际应用中,采用集成芯片7660电源变换器,可不必专门为1488,1489配置12v电源。用两片7660分别构成正电压倍增器和负电压发生器,将二者串联使用,可得到正负电压倍增器(将b端与c端相连),:s-232c电平转换器4.4 打印接口设计 该打印接口设计为单片给与微型打印机相连接。电路连接包括8255a与8031的连接和8255a与打印机的连接,如图4.4所示。(1)8255a与8031的连接采用线选法编址,且假定
35、以p0.7作为8255a的片选地址,把74ls373的q7与8255a的/cs端连接,以地址的两个最低位对应8255a的口选择端a0和a1。假定没有连接的地址为1,则8255a的a口地址为7ch,b口地址为7dh,c口地址为7eh,控制寄存器地址为7fh。(2)8255a与打印机的连接采用查询方式驱动打印,8255a与打印机的连线包括以下三项内容:a口与打印机数据线相连,传送打印数据;c口的pc0提供数据选通信号,接打印机的/stb端,对打印机数据送打印机进行选通控制;c口的pc7接打印机的busy端,以busy信号作为状态查询信号。按上述电路连接和工作设置,确定8255a工作方式控制字各位状
36、态如下:a口为方式0输出 d6d5d4 000;b口不用 d2d1 00;c口高位输入 d3 1;c口低位输出 d6 0 则工作方式控制字为10001000,即88h。图4.4 打印机接口4.5 液晶显示接口设计dmf5001与8031单片机的接口电路如图4.5所示。电路中dmf5001的/ce,c/d分别与8031的a14,a15连接,因此dmf5001的控制口和数据口的口地址分别是0bfffh和3fffh。框架地fg与电源地连通,lcd电源控制端是用来调节lcd显示屏的灰度的,通过对该端所加电压的调节,改变显示屏字符,图形的颜色深浅。图4.5液晶显示接口 注意:(1)点阵式lcd在使用时,
37、电源的上电次序一定要遵守先加+5v电源,然后再加上负电源;切断电源的次序是先切断负电源,然后再切断+5v电源,否则会出现显示图像移动等不正常现象。(2)最初使用,调试点阵式lcd时,执行显示字符或图形程序后,应调节20k灰度调节电位器,阻值不合适有可能导致屏幕中看不到显示的现象。4.6 键盘接口设计以8155作键盘接口,a口为输出口,c口为输入口,以pc3-pc0接键盘的4条行线,如图4.6所示。(可根据实际需要进行选用) 图4.6键盘接口4.7 电源设计 池电路当市电工作时,有6v电压对充电电池进行充电,停电时,则由4.8v滇池进行工作,充电电路如图15所示。(转换为6v电压的电压变换电路)
38、 电池充电电路 换电路数据保护电路 此计费器采用62256ram,其中存放的为国际和国内的长话费率,为使其中的数据得到保护,不至于丢失,因此采ram数据保护电路。此保护电路由电压比较电路和复位电路组成。数据保护电路第五章 系统程序设计51 打印驱动程序 假定r1位缓冲区首地址,r2为缓冲区长度。 打印驱动子程序如下:mov r0,#7fh ;控制寄存器地址 mov a,#88h ;工作方式控制字 movx r0,a ;写入工作方式控制字tp: mov r0,#7eh ;c口地址tp1: movx a,r0 ;读c口 jb acc.7,tp1 ;busy 1,继续查询 mov r0,#7ch ;
39、a口地址 mov a,r1 ;取缓冲区数据 movx r0,a ;打印数据送8255a inc r1 ;指向下一单元 mov r0,#7fh ;控制口地址 mov a,#00h ;输出stb脉冲 movx r0,a mov a,#01h movx r0,a djnz r2,tp ;数据长度减1,不为0继续 ret52 液晶显示程序 (1)基本程序设计 dmfst: mov a,#97h ;显示方式设置:开光标,字符,光标闪烁 acall comw ;关图形层显示 mov a,#0a6h ;光标形式选择:7线光标 acall comw mov a,#00h ;设置光标在屏幕左上角 acall d
40、ataw mov a,#00h acall dataw mov a,#21h acall comw mov a,#80h ;设置字符层与图形层合成方式 acall comw ;逻辑或 mov a,#00h ;设置字符区首地址为0000h acall dataw mov a,#00h acall dataw mov a,#40h acall comw mov a,#14h ;设置显示字符列数为20列 acall dataw mov a,#00h acall dataw mov a,#41h acall comw mov a,#00h ;设置图形区首地址为2000h acall dataw mov
41、 a,#20h acall dataw mov a,#42h acall comw mov a,#14h ;设置显示图形的列数 acall dataw mov a,#00h acall dataw mov a,#43h acall comw mov r2,#00h ;清字符层 mov r3,#00h acall clsc mov a,#00h ;设地址指针为0000h acall dataw mov a,#00h acall dataw mov a,#24h acall comwtauw: movx a,dptr ;自动写标志判断(sat3) rrc a rrc a rrc a rrc a j
42、nc tauw mov a,#0b0h ;设置自动写方式 acall comw acall tst10 ;屏幕左上角显示“xian”字样 mov dptr,#3fffh mov a,#58h movx dptr,a mov a,#49h movx dptr,a mov a,#41h movx dptr,a mov a,#4eh movx dptr,a mov a,#0b2h ;关屏自动写 acall comw nop nopwat: jmp watcomw: mov r1,a acall tst10 mov a,r1 mov dptr,#0bfffh movx dptr,a retdataw:
43、 mov r1,a acall tst10 mov a,r1 mov dptr,#3fffh movx dptr,a rettst10: mov dptr,#0bfffh movx a,dptr rrc a jnc tst10 rrc a jnc tst10 ret end执行上面程序后在屏幕左上角显示“xian”字样。tst10为状态字(sat0,sat1)查询子程序。comw为命令字写入子程序,调用该子程序前,将命令字送入a寄存器中,dataw位数据写入子程序,调用该子程序前,将数据写入a寄存器中。(2)显示汉字子程序(16*16)ch16: mov r4,#00hloop: mov a,
44、r3 ;设地址指针 acall dataw mov a,r2 acall dataw mov a,#24h acall comw clr a acall codew clr a acall codew mov a,r7 ;lcd显示列数 add a,r3 ;形成下一点阵行的地址 mov r3,a mov a,r2 addc a,#00h mov r2,a inc r4 inc r4 cjnz r4,#20h,loop ;32字节吗? retcodew: inc dptr movc a,a+dptr acall dataw mov a,#0c0h acall comw ret上述子程序的入口设置
45、为:打开lcd图形层显示,(r2r3) 地址指针(图形式),(r7) lcd显示列数(对dmf5001为14h),(dptr) 汉字点阵存放区地址-1,汉字点阵数据存放在8031单片机程序及常数存储区。根据点阵数据不同,可显示宋,仿宋,楷,黑体或其他各种字体。汉字点阵数据的活得有两种方法:一种方法是利用微机汉字系统,如2.13e的造字软件,调出所要显示的汉子,读出并记录数据;另一种方法是用basic语言编写一段程序,直接从字库中读出汉字点阵的数据。(3)清屏子程序 clsc: mov a,r3 acall dataw mov a,r2 acall dataw mov a,#24h acall
46、comw mov dptr,#0bfffhautow: movx a,dptr rrc a rrc a rrc a rrc a jnc autow mov a,#0b0h acall comw mov dptr,#3fffh mov r4,#01h mov a,r2 clr c subb a,#20h jnc next ;判断是清字符或图形层? mov r4,#08hnext: mov a,#00h mov r5,#10hloop1: mov r6,#14hloop2: movx dptr,a djnz r6,loop2 djnz r5,loop1 djnz r4,next mov dptr,
47、#0bfffh mov a,#0b2h acall comw ret注意:在系统初始化后,显示信息前,首先应该执行清屏(包括字符层和图形层)子程序,对全屏进行清除(清显示ram),否则可能会出现显示混乱。43 键盘子程序 (1)检查是否有键闭合子程序ks1: mov dptr,#1010h mov a,#00h ;a口送00h movx dptr,a inc dptr inc dptr ;建立c口地址 mov a,dptr ;读c口 cpl a ;a取反,无键按下则全0 anl a,#0fh ;屏蔽a高半字节 ret(2)键盘扫描程序 key1: acall ks1 ;检查有键闭合否 jnz
48、lk1 ;a非0则转移ni: acall dir ;显示一次 延迟6ms ajmp key1lk1: acall dir ;有键闭合二次延迟 acall dir ;共12ms去抖动 acall ks1 ;再检查有键闭合否 jnz lk2 ;有键闭合,转lk2 acall dir ajmp key1 ;无键闭合,延迟6ms后转key1lk2: mov r2,#0feh ;扫描初值送r2 mov r4,#00h ;扫描列号送r4lk4: mov dptr,#0101h ;建立a口地址 mov a,r2 movx dptr,a ;扫描初值送a口 inc dptr inc dptr ;指向c口 mov
49、x a,dptr ;读c口 jb acc.0,lone ;acc.0 1,第1行无键闭合,转lone mov a,#00h ;装第1行行值 ajmp lkplone: jb acc.1,ltwo ;acc.1 1,第2行无键闭合,转ltwo mov a,#08h ;装第2行行值 ajmp lkp ltwo: jb acc.2,lthr ;acc.2 1,第3行无键闭合,转lthr mov a,#10h ;装第3行行值 ajmp lkplthr: jb acc.3,next ;acc.3 1,第4行无键闭合,转next mov a,#18h ;装第4行行值lkp: add a,r4 ;计算键码 push acc ;保护键码lk3: acall dir ;延迟6ms acall ks1 ;检查有键闭合否,若闭合再延时 jnz lk3 pop acc ;若键起,则键码送a retnext: inc r4 ;扫描列号加1 mov a,r2 jnb acc.7,knd ;第7位为0,已扫完最高行,转knd rl a ;循环右移1位 mov r2,a ajmp lk4 ;进行下一列扫描knd: ajmp key1 ;扫描完毕,开始新的一次扫描54 计费器监控主程序设计 电话信号 包括脉冲和双音频 共有10种状态, 这10种状态分别是: 1 1状态0平时, 表示未打电话 2 1状态1主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型商业综合体建设合作协议
- 品牌包装广告协议
- 分期付款保险经纪服务协议
- 2024年升级版:写字楼地下车位租赁合同
- 借壳英上市设备采购合同
- 2024年个人汽车贷款及担保协议
- 燃气价格合作协议
- 注册用户协议
- 2024年学校车位临时租赁协议
- 2024年婚姻责任分配合同范本
- GB 4806.7-2023食品安全国家标准食品接触用塑料材料及制品
- 我们的出行方式 (教学设计)2022-2023学年综合实践活动四年级上册 全国通用
- GB/T 16739.2-2023汽车维修业经营业务条件第2部分:汽车综合小修及专项维修业户
- 七年级数学上册《第二章 整式的加减》单元测试卷含答案人教版
- 第三章农业遥感技术与应用课件
- 产品安全技术说明书MSDS
- 合理用药健康教育教学课件
- 中医教材(第五版)
- 比亚迪F0说明书
- 昌江县古榕峰水泥用石灰岩矿矿产资源开发利用与保护方案
- 核医学主治医师考试:核医学专业知识真题模拟汇编(共569题)
评论
0/150
提交评论