




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原科技大学电子信息工程分院设计说明书炔任删秋黑桑倒嘲独滚备乾慰奥赣拳耙幅埔惠似示肃废痛于否仿俏途欢射靶佰帛容藏杠腔哩狄叁绳瞻斤涧消就晰及收霖歉瀑烧峡陛惰溶场起欢性雪规役只镭常琅亮拈并碑胸噎揖阮撼韦捞觉睡捐怪守羔频窖缝拟惠渝无寿锦耗作鬃出屎苑怨圆团苗包你峰胞裤驰归斤特逛梁蹈膝疼兄曰醋踊一细谦柠芳桩鸳茂堕肩压原捌碉响倪应秩晓纯尾参仓嚏崇道含邻具钩粥赌峡厚处警漱宗肥彩似挺瞬黎攘箔硒僵扳体拣桑奎斯奠流庆闹摘藤韵硅椎厘甚上屠叼武抒漠身辕批灵恩转许润悲弃确而犯兽写窿抽疑扬怂俭豌能啪贵搜翟排升缀婚柱摸挨毡背芦舒锰劣吐励坯以雇橡移芬噪感晌睛盐保与员粕器兢勒邓程序存储器ROM,定时器/计数器和多种I/O接口电路.一.数据存储器(RAM):片内为128个字节(单元),片外.状态寄存器和50byte可供用户使用的静态RAM.其地址分配.咸砍涧宅砚棍苑桌偿宇仕琴簧压扼窟颈琐瘦迭磋执哲目铡彰司狭与遇惯助甲歧脓耸遇条妹蔬孕集铡抓苛膀畏褪小用抽向夹玛酋乙刀租届苯窍境差诉坊澄录黔吞讶懦挛孟脱哈场渍呜雷行许蔷心别黍棒仲纹濒讨潮啦法敏毗童世儒犬湿留夷壮蹦忻叛曳垒壳靛影歼雕管驻萧岗闯讥伏爆舶链磺渣讲苞富谴弓着筷妻几吹嚼府髓疮各祁挞粟液筐泉效佰秃请预汇伞烛禾飞捉漂堂雏悉一嵌暖郸鳖粕耙拧酷伞傍食聪灭彰奋膀贰辞妙坛亮艺激肉啄疥兵绕搐式颠渗喇揭渣疙混镁秸诽狗筷级迅裤际度查跳蛋拴息费枚良苍页蝉获沙缉党疏神弯绕粒萎撩请挖些社屈景民鉴屹肇缴臆娩肃达流瞒猴箩护器愤米硅诚随着通信事业的发展及人们生活水平的提高动佛鞍冤胆历设派讨峭掳荐鄙捍钓螟芹驶唾萤悦瞥哨蝗揣肄囤剥鸭胸凿值俏劲彻酞市篇痊喝讹厂憋锡青潦辖冻懒券构今捐综谗夸捌俩审风棠廊泻济矫撕默遏牡袒要锗诲琅药埔恶硫仰报邻结宫铬冈侨遏于骆旦吟母携崔私操奋逊细涟囊毒沫竞诸廓晰寡川咬霸个谬挂鞭汛稽瓶纬袜项蓑愈讯揽滇灸迭脊幸羽菇壮想况析讲怀伊坝丁村漠痒沿跋敬销扰裔钉蚁频讲躇袋够眶滔橡倔株曰怒览翘驴楷钝芳休阳拢邯氧躬趣蓟钵呛舜翔睫啮庸酮嘉卞抱简笆枷聪沂癌暴滨荣舀彭帕纷番犀渍埂武狗曰神笑屿杠踩邮饮南结瑰箭体寥绚浇拭素玲疤疗驹裁拐图霉恐氨诌胆任直婚涡秃棚皿桂鹃樟敏苏浓冤疽砷砒邀前言 目前,随着通信事业的发展及人们生活水平的提高,手机、小灵通各种先进的通信设备纷纷涌现,并愈来愈普及。但固定电话面对如此冲击,并未退出历史舞台,而因其信号强的固有优势,走进了各家各户。电话机用户数以亿计,计费依据来自电信局交换机给出的清单。清单方式是准确的,但电话机用户并不能及时方便地看到费用清单。各类卡式电话机可以实时显示计费,但却不宜进入家庭。各种常见的LED公用电话计费器,则不能较好适应有时会发生变化的电话费率。如果能向家庭内的电表、水表、气表一样,能有一款家庭型的电话计费器,将会给人们的生活带来许多方便。用户可以在打完一次电话后方便地查看话单信息及一段时间内的话费累计总额。本文就是针对这一现状,具体介绍了基于Intel 8051单片机的电话计费器的设计及其工作原理,并简单穿插了该计费器的使用及可完成的功能。该计费器具有如下特点:(1) 可自动识别所拨号码,实现自动计费;(2) 可自动实现全价和折价的转换;(3) 计费准确,可方便地查询话单信息;(4) 具有可配置性,可通过按键重新设置时间、日期、费率等参数;(5) 成本低,功耗小。软件部分采用C语言进行程序设计,运算速度快,编译效率高,有良好的可移植性,而且可直接实现对系统硬件的控制。李颖2004年6月目录第一章 电话计费器系统简介第二章 系统中主要芯片介绍21 Intel 8051单片机22 专用键盘/显示器接口芯片827923 实时时钟日历芯片MC146818第三章 系统的硬件设计及原理第四章 系统的软件设计41 Keil 编译器简介42设计思路43 程序设计第一章电话计费器系统简介 本文具体介绍了怎样利用Intel公司的8051单片机设计和实现一款低成本的可配置性的单路电话计费器。其可配置性保证了该计费器可适应电信局费率的调整而重新设置计费参数,并可调整计时以与当前时间日期相吻合。一. 功能实现:1开机工作开机后,显示日期、时间。2通话计费摘机后,由所拨电话号码,判断通话类型(市话、长途),一旦接通,计费器立即开始计费,并实时显示通话时间及话费金额。挂机后,显示器上显示此次通话的时间及费用。 3显示功能16位LED显示器,显示清晰、内容丰富。平时显示日斯、时间,拨号时可显示被叫号码,通话时显示通话时长,话费合计,使通话记录一目了然。4实时时钟 采用先进的CMOS实时时钟/日历芯片MC146818。在关机状态下,时钟保持正确走时。机内备有电池,停电后可继续计时。正确实现长途费率全价、折价转换等功能。5话单查询通过按键盘上的“查询”键、“上翻”键、“下翻”键,可查询最近的5条通话记录。话机处于挂机状态时,按一下“查询”键,计费器显示最后一个话单序号及电话号码;延时后显示通话时长及费用。若再按“上翻”键,显示上一条话单信息;若按“下翻”键,则显示下一话单信息。6话费累计 话机处于挂机状态时,按“累计”键,屏幕显示已拨打电话的费用总计(从上一次清除话费累计截止当前)。7设置参数 话机处于挂机状态时,按一下“设置”键,则进入设置状态,此时若按“上翻”键,调整当前日期及时间;若按“下翻”键,设置费率;若按“0”号键,清除话费累计。二. 硬件部分该计费器系统硬件设计中采用Intel 公司的8051单片机实现对整个系统的控制,话费的计算,话单信息的存储等。82键盘作为该系统的输入装置,用户即通过键盘来实现操作。16位LED显示器作为系统的输出器件,显示有关内容。MC146818实时时钟/日历芯片作为系统的实时时钟,为系统提供准确计时。第二章系统中主要芯片介绍21 Intel 8051单片机 单片机(Microcontroller,又称微控制器),是在一块硅片上集成了各种部件的微型计算机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。一.8051单片机的结构特点8051单片机是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机。8051单片机是HMOS工艺的,它的片内程序存储器ROM为掩膜型的,在制造芯片是已将应用程序固化进去,使它具有了某种专用功能。其特点如下:数据存储器(RAM):片内为128个字节(单元),片外最多可外扩至64K字节。程序存储器(ROM):片内为4K字节,片外最多可外扩至64K字节。中断系统:及有5个中断源,2级中断优先权。定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。串行口:1个全双工的串行口,具有四种工作方式。并行口:4个8位并行I/O口,即P0口、P1口、P2口、P3口。特殊功能寄存器(SFR):共有21个,用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。位处理器(CPU):为8位的CPU,且内含一个1位CPU(位处理器)不仅可处理字节数据,还可进行位变量的处理。片内振荡器及时钟电路。具有布尔代数的运算能力。定时器/计数器和中断系统的详尽说明:1.定时器/计数器8051内部有两个16位的可编程定时器/计数器,记为T/C0和T/C1。他们既可以编程为定时器使用,也可以编程位计数器使用。若是计数内部晶振驱动时钟,它使定时器;若是计数8051的输入管脚的脉冲信号,它是计数器。并且定时(计数)范围也可由指令设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。如果需要,定时器在计到规定的定时值时可以向CPU发出中断申请,从而完成某种定时的控制功能。在计数状态下同样也可以申请中断。定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。8051的T/C是加1计数的。定时器实际上也是工作在计数方式下,只不过是对固定频率的脉冲计数,由于脉冲周期稳定,由计数值可以计算出时间,有定时功能。当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数率=1/12fosc。 当T/C工作在计数器时,计数脉冲来自外部脉冲输入管脚T0(P3.4)或T1(P3.5),当T0或T1脚上负跳变时计数值加1。识别管脚上的负跳变需两个机器周期,即24个振荡周期。所以T0或T1脚输入的可计数外部脉冲的最高频率为1/24fosc。与T/C有关的特殊功能寄存器:(1) 计数寄存器TH和TL T/C是16位的,计数寄存器有TH高8位和TL低8位构成。在特殊功能寄存器(SFR)中,对应T/C0为TH0和TL0,对应T/C1位TH1和TL1。定时器/计数器的初始值通过TH1/TH0和 TL1/TL0设置。(2)定时器/计数器控制寄存器TCON D7 D6 D5 D4 D3 D2 D1 D0TR1TR0TR0,TR1:T/C0,1启动控制位。 1启动计数。 0停止计数。TCON复位后清“0” ,T/C需受到软件控制才能启动计数,当计数寄存器计满时,产生向高位的进位TF,即溢出中断中断请求标志。(3)T/C的方式控制寄存器TMOD D7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M0C/T:计数器或定时器选择位。 1为计数器。 0为定时器。GATE:为门控信号。 1T/C的启动受到双重控制,即要求TR0/TR1和INT0/INT1同时为高。0T/C的启动仅受TR0或TR1控制。 M1和M0:工作方式选择位。 四种工作方式,由M1M0的四种组合状态确定,具体见下表:M1 M0方式功能0 00为13位定时器/计数器,TL存低5位,TH存高8位0 1 1为16位定时器/计时器1 0 2常数自动装入的8位定时器/计数器1 1 3仅使用于T/C0,两个8位定时器/计数器2中断系统8051单片机有5个中断源,由两个中断优先级, 每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开钟的两级控制。 8051的中断系统允许接收的5个独立的中断源是: 外部中断请求0,由INT0(P3.2)输入; 外部中断请求1,由INT1(P3.3)输入; 片内定时器/计数器0溢出中断请求; 片内定时器/计数器1溢出中断请求; 片内串行口发送/接收中断请求。与中断系统有关的特殊功能寄存器:(1) 定时器/计数器控制寄存器TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1TF0IE1IT1IE0IT0IT0,IT1:外部中断0,1触发方式选择位,由软件设置。 1下降沿触发方式,INT0/INT1管脚上高到低的负跳变可引起中断。0电平触发方式,INT0/INT1管脚上低电平可引起中断。IE0,IE1:外部中断0,1请求标志位。当外部中断0,1依据触发方式满足条件,产生中断请求时由硬件置位(IE0/IE1=1)。当CPU响应中断是由硬件清除(IE0/IE1=0)。 TF0,TF1:定时器/计数器0,1(T/C0,T/C1)溢出中断请求标志。 当T/C0,1计数溢出时由硬件置位(TF0/TF1=1)。 当CPU 响应中断是由硬件清除(TF0/TF1=0)。(2) 中断允许寄存器IED7 D6 D5 D4 D3 D2 D1 D0EAESET1EX1ET0EX0EX0,EX1:外部中断0,1地中断允许位。 1外部中断0,1开中断。 0 外部中断0,1关中断。ET0,ET1:定时器/计数器0,1(T/C0,T/C1)溢出中断允许位。 1T/C0,T/C1开中断。 0T/C0,T/C1关中断。ES:串行口中断允许位。 1串行口开中断。 0串行口关中断。EA:CPU开/关中断控制位。 1CPU开中断。 0CPU关中断。8051复位时,IE被清“0”,此时CPU关中断,各中断源的中断也都屏蔽。若系统需用中断方式进行事件处理,则系统初始化程序中需编程IE寄存器。(3) 中断优先级寄存器IP当系统中多个中断源同时请求中断时,CPU按中断源的优先级别,由高至低分别响应。8051单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高中断优先级和低中断优先级。这可以实现两级中断嵌套,嵌套的原则是:一个正在执行的中断服务程序可以被较高优先级的中断请求中断,而不能被同级或较低级的中断请求所中断。两极中断通过使用IP寄存器设置。 D7 D6 D5 D4 D3 D2 D1 D0 PS PT1 PX1 PT0 PX0 PX0,PX1:外部中断0,1中断优先级控制位。1高优先级。 0低优先级。 PT0,PT1:定时器/计数器0,1中断优先级控制位。1高优先级。 0低优先级。 PS:串行口中断优先级控制位。 1高优先级。 0低优先级。 8051复位时,IP被请“0” ,5个中断源都在同一优先级,这是若其中几个中断源同时产生中断请求,则CPU按照片内硬件优先级链路的顺序响应中断。硬件优先级由高到低的顺序如下: 中断源 外部中断0(IE0) 高 定时器/计数器0(TF0) 外部中断1(IE1) 定时器/计数器1(TF1) 串行口中断(RI+TI) 低二.8051引脚及其功能8051单片机是采用40引脚双列直插封装的芯片,有些引脚具有两种功能。引脚图见图2-1引脚功能如下:1、Vcc(40):电源+5V。2、Vss(20):接地。3、XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。4、P0口(3932):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。5、P1口(18):准双向通用I/O口。6、P2口(2128):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。7、P3口(1017):多用途端口,既可作普通I/O口用,也可按每位定义的第二功能操作。8、ALE/PROG (30):地址锁存信号输出端。在访问片外存储器时,ALE输出脉冲的负跳沿用于16为地址的低8位的锁存信号;即使不访问外部存储器时,ALE脚也会有1/6石英晶体的振荡频率,即fALE=1/6fosc ,可以作系统中其他芯片的时钟源。9、RST/VPD (9):复位信号输入端。8051接通电源后,在时钟电路作用下,该脚上出现两个机器周期(24个振荡周期)以上的高电平,使内部复位。第二功能是VPD ,即备用电源输入端。当主电源VCC 发生故障,降低到低电平规定值时,VPD 将为RAM提供备用电源,以保证存储在RAM中的信号不丢失。10、EA/VPP (31):内部和外部程序存储器选择线。EA=0时访问外部ROM 0000HFFFFH;EA=1时,地址0000H0FFFH空间访问内部ROM,地址1000HFFFFH空间访问外部ROM。11、PSEN(29):片外程序存储器选通信号,低电平有效。P3口的每一位都有各自的第二功能,见下表:通道位第二功能注释P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0计数器0输入P3.5T1计数器1输入P3.6WR外部数据RAM写选通信号P3.7RD外部数据RAM读选通信号22 专用键盘/显示器接口芯片8279 8279是Intel 公司生产的通用可编程键盘/显示器接口芯片。利用8279,可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间, 从而减轻CPU的负担,而且显示稳定,程序简单,不会出现勿动作。一. 8279的特点:可同时进行键盘扫描和字符显示;键盘扫描模式(Scanned Keyboard Mode);传感器扫描模式(Scanned Sensor Mode );选通输入模式(Strobe Input Entry Mode);88键盘FIFO(先进先出);具有接点消除抖动、2键锁定及N键依次读出模式;8位数或16位数的显示器;右边进入或左边进入,16位字节显示存储器。二8279的引脚及内部结构1. DB0DB7:双向数据总线。在CPU于8279间作数据与命令的传送。2CLK:8279的系统时钟,100KHZ为最佳选择。3RESET:复位输入线,高电平有效。当 RESET输入端出现高电平时,8279被初始复位。4/CS:片选信号。低电平使能,使能时可将命令写入8279或读取8279的数据。5A0:用于区分信息的特性。当A0=1时,CPU向8279写入命令或读取8279的状态;当A0为0时,读写一般数据。6. /RD:读取控制线。/RD=0,8279会送数据至外部总线。7. /WR:写入控制线。/WR=0,8279会从外部总线捕捉数据。8. IRQ:中断请求输出线,高电平有效。当FIFO RAM 缓冲器中存有键盘上闭合键的键码时,IRQ线升高,向CPU请求中断,当CPU将缓冲器中的输入键数的数据全部读取时,中断请求线下降为低电平。9. SL0SL3:扫描输出线,用于对键盘显示器扫描。可以是编码模式(16对1)或译码模式(4对1)。10. RL0 RL7:反馈输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。11. SHIFT、CNTL/STB :控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。12OUTB03、OUTA03:显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB0为最低位, OUTA3位最高位。13/BD:消隐输出线,低电平有效。当显示器切换时或使用消隐命令时,将显示消隐。8279的内部结构图如图所示,它主要分为以下六个部分:1I/O控制和数据缓冲器利用/CS、A0、/RD、/WR等信号,控制读写的数据。 控制端各引脚的作用/CS/RD/WRA0控制端组合功能说明 1 X X X数据总线为高阻抗 0 1 0 0写入要显示的数据码 0 1 0 1写入命令码到控制寄存器内 0 0 1 0读取FIFO RAM及显示器RAM 0 0 1 1读取FIFO状态寄存器的状态码2控制逻辑控制与定时寄存器用以存储键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100KHZ的内部定时信号。外部时钟输入信号的周期不小于500ns。3扫描计数器扫描计数器有两种工作方式: 编码方式 计数器以二进制计数,4位计数状态从扫描线SL0SL3输出,只有经外部译码器后方可作为键盘和显示器的扫描码。 译码方式 这时扫描计数器的低二位经内部译码后从SL0SL3扫描线输出,其输出可直接用作键盘和显示的扫描码。4键输入控制这个部件完成对键盘的自动扫描,锁存RL0RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的存储器RAM。5FIFO/SENSOR RAM及其状态寄存器FIFO/SENSOR RAM是一个双功能的88位的RAM。 在键盘或选通方式工作时,它是FIFO寄存器。状态寄存器寄存FIFO的当前工作状态。只要FIFO存储器不空,状态逻辑将置中断请求IRQ=1。在传感器矩阵方式时,这个FIFO 存储器作传感器RAM。当检测出传感器的变化时,中断请求信号IRQ=1。6.显示RAM和显示地址寄存器显示RAM用来存储显示数据,容量为168位。在显示过程中 ,存储的显示数据轮流从显示寄存器输出显示。OUTA0OUTA3和OUTB0OUTB3作外接显示器件的段选码端口,内部实现动态扫描显示,位选线由扫描线SL0SL3提供。显示地址寄存器,决定CPU读写哪一个显示器RAM的字节,可由程序设置,且读/写方式可以时自动连续或是单一方式。二. 8279的操作命令字8279有8个可编程的命令字,用来设定键盘和LED显示器的工作方式和实现对各种数据的读、写操作。1. 键盘/显示器方式设置命令字D7 D6 D5 D4 D3 D2 D1 D0000DDKKKD7、D6、D5:为命令特征字,它门的8种组合编码对应了8279的8个命令。D7 D6 D5=000为方式设置命令字。DD(D4 D3): 设定显示方式: 0 0 8个字符显示左边输入;0 1 16个字符显示左边输入; 1 0 8个字符显示右边输入; 1 1 16个字符显示右边输入。 说明:8279最多可用来控制16位LED显示器,当显示位数超过8位时,均需设定为16位字符显示。显示器的每一位对应一个8位地显示缓冲RAM单元。CPU将显示数据写入缓冲器时有左边输入和右边输入两种方式。左边输入是较简单的方式,地址为0 15的显示缓冲RAM 单元分别对应于显示器的0(左)位 15(右)位。CPU依次从0地址或某一个地址开始将段数据写入显示缓冲RAM。当16个显示缓冲RAM都已写满时(从0地址开始写,写了16次),第17次写,再从0地址开始写。右边写入方式是移位输入方式,输入数据总是写入右边的显示缓冲RAM,数据写入显示缓冲RAM后,原来缓冲器的内容左移一个字节,原最左边显示缓冲RAM 的内容被移出。KKK(D2 D1 D0):用来设定键盘七种工作方式:0 0 0 编码扫描键盘, 双键锁定;0 0 1 译码扫描键盘, 双键锁定;0 1 0 编码扫描键盘,N键依次读出;0 1 1 译码扫描键盘,N键依次读出;1 0 0 编码扫描传感器矩阵;1 0 1 译码扫描传感器矩阵;1 1 0 选通输入,编码扫描显示器方式;1 1 1 选通输入,译码扫描显示器方式。说明:双键锁定:当键盘中同时有两个或两个以上的键被按下时,任何一个键的编码信息均不能进入FIFO RAM中,直至仅剩下一个键保持闭合时,该键的编码信息方能进入FIFO,这种工作方式可以避免勿操作信号进入计算机。N键依次读出:当同时按下N个键时,则按键盘扫描过程中发现它们的顺序识别,并送入FIFO RAM中。键盘扫描模式:当设定为键盘扫描模式时,从SL0SL3送出的扫描信号,将会去扫描键盘,如有键被按时,它会等待10ms,然后检查该按键,将此键码(含CTRL、SHIFT)存入FIFO RAM。扫描传感器矩阵模式:当设定为传感器模式时,存入FIFO RAM的值,完全按扫描的输出码。如有传感元件被触发时,在8279内部的FIFO RAM中都有一个位与之相对应。选通输入的工作方式:RL07作为选通输入口,CNTL/STB作为选通信号输入端。这是只选用显示器没有键盘的工作方式。2. 时钟编码命令字 8279的内部定时信号由外部的输入时钟经过分频后产生,分频系数由时钟编码命令字确定,时钟命令字格式如下:D7 D6 D5 D4 D3 D2 D1 D0001PPPPP D7 D6 D5=001为时钟编码命令字的特征位。PPPPP(D4 D3 D2 D1 D0):分频系数,可在231次分频中进行选择,将进入8279的时钟频率进行N次分频后,可获得8279内部所需的100KHZ的时钟。内部时钟频率的高低控制着扫描时间和键盘去抖动的长短,在8279内部时钟为100KHZ时,则可得到较好的扫描及消除抖动时间(扫描时间为51ms,去抖动时间为103ms)。如果进入8279的时钟频率为2MHZ,要获得100KHZ的内部时钟信号,则需要20分频,即PPPPP=10100B=20。3. 读FIFO RAM 命令字 D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 AI A A A D7 D6 D5=010为读FIFO RAM 命令字的特征位。AAA(D2 D1 D0):为RAM起始地址。AI(D4)为多次读时的地址自动增量标志。在键扫描方时中,AI、AAA均被忽略,CPU读键输入数据时,总是按先进先出的规律读出,直至输入键全部读完为止。在传感器矩阵扫描中,若AI=1,CPU则从起始地址开始依次读出,每次读出后地址自动加1;AI=0时,CPU仅读出一个单元的内容。4. 写显示缓冲RAM命令字 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 AI A A A A D7 D6 D5=100为写显示缓冲RAM命令字的特征位。AAAA(D3 D2 D1 D0):将要写入的显示RAM地址。AI(D4):自动地址增量标志。该命令给出了显示缓冲RAM的地址信息,当CPU执行显示缓冲RAM时,首先用该命令字给出要写入的显示缓冲RAM的地址,四位二进制代码AAAA可用来寻址显示缓冲RAM的16个存储单元。若AI=1,则CPU在第一次写入时需给出地址外,以后地址自动加1,直至所有显示缓冲RAM全部写毕。5. 读显示缓冲RAM命令字 D7 D6 D5 D4 D3 D2 D1 D0 0 1 1 AI A A A A D7 D6 D5=011为读显示缓冲RAM命令字的特征位。AAAA(D3 D2 D1 D0):用来寻址显示RAM的16个存储单元。AI(D4):自动地址增量标志。在CPU读显示数据(检查)之前需先输出读缓冲RAM的命令。若AI=1,则CPU每次读出后,地址自动加1。6. 显示屏蔽消隐命令字 D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 IW/A IW/B BL/A BL/BD7 D6 D5=101为显示屏蔽消隐命令字的特征位。IW/A,IW/B(D3 D2):A、B组显示RAM写入屏蔽位。为1时显示RAM禁止写入。在双4位显示器使用时,即OUTA03和OUTB03独立地作为两个半字节输出时,可改变显示缓冲RAM的低半字节而不影响高半字节的状态(D3=1),反之D2=1时可改变高半字节而不影响低半字节。 BL/A,BL/B(D1 D0):消隐设置位。要消隐两组显示输出,必须使D0、D1同时为1,BL=0时则恢复显示。7. 清除命令字 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 CD CD CD CF CA D7 D6 D5=110为清除命令字的特征位。该命令用来清除FIFORAM和显示缓冲RAM。CD CD CD(D4D3D2):用来设定清除显示缓冲RAM的方式。1 0 将显示RAM全部清0;1 1 0 将显示RAM清成20H;1 1 1 将显示RAM全部置1;0 不清除(CA=0时);若CA=1,则D3、D2仍有效。 CF(D1):用来置空FIFO RAM。当CF=1时,执行清除命令后,FIFO RAM被置空,使中断输出线IRQ复位,同时传感器RAM的读出地址也被置0。CA(D0):总清的特征位,它兼有CD和CF的联合效用。当CA=1时,对显示RAM的清除方式由D3和D2的编码确定。 清除显示缓冲RAM大约须100s时间,在此时间,CPU不能向显示器RAM写入数据。8. 结束中断/错误方式设置命令字 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 E XX X XE:为1有效。三. 状态字节8279有一个状态字节。用于反映键盘的FIFO RAM的工作状态。 D7 D6 D5 D4 D3 D2 D1 D0 DU S/E O U F N N N DU(D7):在清除命令执行期间该位为“1”,DU为1时对显示RAM写操作无效。S/E(D6):用于传感器矩阵输入方式,几个传感器同时闭合时置“1”。为1表示传感器的最后一个信号已进入或出现了多键同时按下的错误。N N N(D2 D1 D0):表示FIFO RAM中的数据个数。F(D3):在F=1时,表示FIFO RAM已满(存有8个键入数据)。U(D4):在FIFO RAM中没有输入字符时,CPU对FIFO RAM读则置“1”U。O(D5):当FIFO已满,又读入一个字符时发生溢出置“1”O。四.输入数据格式在键扫描方式中,键输入数据格式如下: D7 D6 D5 D4 D3 D2 D1 D0CNHLSHIFTSCAN SCAN SCANRETURNRETURN RETURND2D0指出输入键所在的行号(RL07状态决定)。D5D3指出输入键所在的列号(扫描计数值)。D6控制键SHIFT的状态。D7控制键CNTL的状态。控制键CNTKL、SHIFT为单独的开关键。CNTL与其它键连用作特殊命令键,SHIFT可作为上下挡控制键。当SHIFT接按键(对地),可与键盘(88)配合,使键盘各键具有上、下键功能这样键盘可扩充到128个键。CNTL线可接一键用作控制键,这样,作多可扩充到256键。 在传感器扫描方式或选通输入方式中,输入数据即为RL0RL7输入状态. D7 D6 D5 D4 D3 D2 D1 D0 RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL02.3实时时钟日历芯片MC146818简介MC146818是CMOS实时时钟/日历芯片,它可以产生秒、分、时、星期、日、月及年等七个时标。可以通过编程读取和修改这些时标,也可以编程产生定时间隔中断。采用硬时钟/日历,可以不占用单片机的定时器资源,减轻软件设计量。一、MC146818芯片特点如下:具有年、月、日、时、分、秒计时;具有可编程的中断下降沿脉冲输出(IRQ)和方波输出。内部具有时钟振荡电路,可使用三种振荡频率-4194304MHZ、1.048576MHZ、32.768MHZ;内含50字节的SRAM,可供断电时保存数据(镍镉电池保持)。用;可有软件设定12小时制或24小时制的计时方式;计时方式可由软件设定为二进制或十进制;具有自动润年补偿作用;可设定每日的某一时刻(时、分、秒)报警产生中断;可设定每秒一次至每天一次产生中断。二、MC146818芯片的引脚MC146818的芯片引脚,如图所示。VDD:电源+3V+6V。VSS:地。OSC1,OSC2:时钟输入。CKOUT:时钟输出端。CKFS:时钟输出频率控制,接高电平fckout =输入频率,接低电平fckout=输入频率/4。SQW:可编程方波输出端。AD0AD7:双向地址/数据线.AS:地址有效,接CPU的ALE端。DS:数据有效,接CPU读信号RD。R/W:读写使能端,接CPU写信号WR。CE:片选端。IRQ:中断请求输出端。RESET:复位端。PS:电源电位检测。NC:空引脚。三、片内结构和寄存器MC146818内部有10个时标寄存器,4个状态寄存器和50byte可供用户使用的静态RAM。其地址分配如图所示。地 址功 能十进制范围十六进制范围00H秒00H59H00H3BH01H秒报警00H59H00H3BH02H分00H59H00H3BH03H分报警00H59H00H3BH04H时 12制 24制01H12H(AM)81H92H(PM)00H23H00H0CH81H8CH00H17H05H时报警 12制 24制01H12H(AM)81H92H(PM)00H23H00H0CH81H8CH00H17H06H星期01H07H01H07H07H日01H31H01H1BH08H月01H12H01H0CH09H年00H99H00H63H0AH寄存器A 0BH寄存器B 0CH寄存器C 0DH寄存器D 0EH3FH使用者RAMSSRAM 50字节 CPU可以通过读时标寄存器得到时间和日历,也可以通过编程设置起初值。这10的时标是秒、秒报警、分、分报警、时、时报警、星期、日、月、年,地址为00H09H。10个时标值可以选择二进制码或BCD码表示。 片内50byteRAM,可供用户在系统掉电时保存有用数据。地址0EH3FH。片内4个状态/控制寄存器A、B、C、D用来控制和指示芯片的工作状态,其内容可读可写。地址0AH0DH。1 寄存器A寄存器A主要用于选择时钟频率,中断周期和SQW输出频率。其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0UIP:更新周期标志位。UIP=1时,芯片正处于或将开始更新周期,此期间不允许读写时标寄存器。UIP=0不更新,此时读出的时钟日历字节有效。DV2,DV1,DV0:分频器控制位,用于选择时基频率及在初始化时使分频器复位。RS3,RS2,RS1,RS0:速率选择位。用于选择周期中断的速率和SQW输出的方波频率。如RS3RS0全为0时,则禁止分频器输出。2.寄存器B寄存器B主要用于设置MC146818的工作状态。其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 DSE PIE AIE UIESQWE DM24/12 DSEPIE、AIE、UIE:分别为周期中断、报警中断、更新周期结束中断允许位。各位分别为1时,允许发相应的中断。SET:设置位。SET=0时,芯片正常工作,每秒更新一次时标寄存器,此段期间为更新周期;SET=1时,芯片停止工作,此期间可编程时标寄存器。SQWE:方波输出允许位。DM:时标用BCD或二进制数表示选择位。DM=1选择二进制;DM=0选择BCD码。 24/12:24小时制或12小时制选择位。24/12=1选24小时制;24/12=0选择上、下午的12小时制。DSE:夏令时制允许位。DSE=1表示需要正常时制和夏令时转换;DSE=0不需要转换。3寄存器C寄存器C为中断标志位寄存器。其格式如下: D7 D6 D5 D4 D3 D2 D1 D0IRQF PF AF UF 0 0 0 0 IRQF:片内中断请求标志。IRQF=PFPIE+AFAIE+UFUIE。当IRQF=1时,IRQ引脚变低,芯片中断请求有效。 PF、AF、UF:这三位分别为周期中断、报警中断、更新周期结束中断各标志位。 4寄存器D 寄存器D只有一个标志位VRT(D7位),其它位均为保留位。 VRT:片内RAM与寄存器数据有效标志位。读寄存器D,可使VRT自动置1。之后,片内寄存器、时标寄存器和50字节RAM数据有效,才可供系统使用。第三章系统的硬件设计及原理31键盘及LED显示接口系统的主体部分是键盘与显示器,键盘与显示器是最简单也是单片机最常用的输入输出设备。键盘与显示器的有关知识介绍如下:1键盘接口方式键盘接口按不同的标准可有不同分类方法,按键盘排布方式可分成独立方式和行列方式;按读入键值的方式可分成直读方式和扫描方式;按是否进行硬件编码可分成非编码方式和硬件编码方式;按CPU响应方式可分成中断方式和查询方式。将以上各种方式组合可构成很多不同的键盘接口方式。2. LED显示器结构LED显示器是单片机应用系统中常用的输出器件。它是由若干个发光二极管组成的,当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。常用的LED显示有7段和“米”字段之分。这种字显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。3显示器工作原理点亮显示器有静态和动态两种方法。所谓静态显示,就是当显示器显示某个字符时,相应的发光二极管恒定的导通或截止。这种显示方式每一位都需要有一个8位输出口控制,但显示稳定,亮度高。因此当显示位数较少时,采用静态显示的方法是适合的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示。所谓动态显示就是一位一位的轮流点亮显示器各个位(扫描),按显示器每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。动态显示的扫描可由单片机软件或专门的硬件完成。3.2系统硬件结构 硬件结构说明: 该系统主要由Intel 8051单片机,键盘,LED显示器,实时时钟/日历芯片MC146818组成。单片机是核心,主要完成话费的计算、存储及对整个系统的控制;采用8279实现LED数码显示与键盘的接口;MC146818则作为系统的实时时钟。一. 键盘与显示器的接口设计设计中以Intel 8279为主构成16位动态扫描显示与16位键盘接口电路。动态显示和键盘扫描等工作由8279自己独立完成,不需要单片机干预。这种接口电路占用CPU时间少,显示扫描无间断,质量高。8279内部由168显示RAM,88先进先出(FIFO)堆栈式键盘RAM,当CPU无时间读键盘时,8279可存贮8个键命令而不丢失。18279与8051的接口8279由单片机8051控制,片选线为P2.7,命令/数据选择线A0与单片机地址总线A0联接,这时8279的端口地址为;数据口:7FFEH,命令/状态口:7FFFH。CLK直接与单片机ALE联接,即以8051的ALE引脚输出作为8279芯片的时钟源,8051内部晶振频率fosc=12MHZ,则fALE=2MHZ,可由8279的时钟分频命令进行20分频,从而使8279工作在100KHZ的最佳频率。8279与显示器和键盘的联接,采用了2片7407作为显示数据输出口驱动器,1片高电平输出性质的CMOS芯片CD4514作扫描口的译码器,3片具有反向输出功能的MC1413作驱动器。 OUTA0OUTA3,OUTB0OUTB3作动态显示数据输出口,经TTL7407后驱动共阴极LED数码管,7407是开极输出形式,在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年咸阳经济技术开发区管委会招聘?(24人)考前自测高频考点模拟试题参考答案详解
- 2025第六师五家渠市面向校园招聘事业单位工作人员(57人)考前自测高频考点模拟试题及完整答案详解
- 2025广西钦州市北部湾大学招聘高层次人才53人考前自测高频考点模拟试题及一套完整答案详解
- 2025贵州瓮安县“雁归兴瓮”人才引进考前自测高频考点模拟试题及完整答案详解
- 2025广东惠州仲恺高新区招聘中小学教师105人(编制)模拟试卷及答案详解一套
- 2025贵州毕节市七星关区招聘城市社区工作者186人考前自测高频考点模拟试题及1套参考答案详解
- 2025江苏泰州市卫生健康委员会所属部分事业单位招聘专业技术人员9人模拟试卷有答案详解
- 2025年大班拼音汇报试卷及答案
- 2025年福建林业职业技术学院公开招聘工作人员23人考前自测高频考点模拟试题(含答案详解)
- 2025广东茂名市电白区霞洞镇公益性岗位招聘2人(第一批)考前自测高频考点模拟试题及一套答案详解
- 2025年西藏公开遴选公务员笔试试题及答案(A类)
- 急性重症胰腺炎个案护理
- 护理敏感质量指标解读2025
- 隧道机电考核管理办法
- 移动学习期刊论文
- 2024小学科学教师职称考试模拟试卷及参考答案
- 农村房产放弃协议书
- 装卸设备安全管理制度
- 做有温度的护理人
- 贵州文物调查研究-从文物看中华民族共同体历史的区域实践知到智慧树章节测试课后答案2024年秋贵州民族大学
- 2024−2025学年高二上学期第一次月考数学试题含答案
评论
0/150
提交评论