基于单片机的家用固定电话自动计费器的设计与实现内容摘要:

M 0D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图 32 TMOD格式 字节分高低 4 位,高 4 位控制 T低 4位控制 T0。 GATE:门控位,当 GATE=1 时, T0、 T1 计数受外部输入电平控制。 TNT0 引脚控制 T0 运行, INT1 引脚控制 T1 运行。 当 GATE=0 时 C/T 运行不受外部输入 INT0和 INT1 的控制。 C/T:计数器 /定时器模式选择位。 当 C/T为定时模式,内部计数器脉冲是对晶振脉冲主频 12 分频后获得,该定时脉冲的周期与机器周期相等,也就是说对机器周期进行计数。 定时时间是机器周期与计数值的乘积。 所以可从计数值便可求得计数时间。 因此,将此模式称为定时器模式。 当 C/T=1 时为计数模式。 计数器对外部输入引脚 T0或 T1 的外部脉冲的下跳沿计数。 允许输入内部计数器脉冲是晶振脉冲主频的 24分频频率信号。 M M0: 4种工作方式选择位,共有 4种组合编码,对应于 4种工作方式 表 32 4种工作方式 M1 M0 方式 功能 0 0 0 为 13 位定时器 /计数器, TL存低 5 位, TH存高 8 位 0 1 1 为 16 位定时器 /计时器 1 0 2 常数自动装入的 8 位定时器 /计数器 1 1 3 仅使用于 T/C0,两个 8 位定时器 /计数器 定时器 /计数器控制寄存器 TCON 控制 T0, T1的启动和 停止计数。 T F 1 T R 1 T F 0 T R 0 I E 1 I T 1 I E 0 I T 0D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图 33 TCON 格式 TF1 位: T1计数溢出标志位。 当 T1 计数溢出时,由硬件置 1,申请中断 13 进入中断服务程序后被硬件自动清“ 0”。 TR1 位: T1 计数运行控制位。 由软件置 1或清 0。 当 GATE 位( ) =0, TR1=1时,允许 T1计数。 当 TR1=0 或 INT1( ) =0时,禁止 T1 计数。 当 GATE=1,TR1=1 且 INT1=1 时,允许 T1 计数。 TF0 位: T0 计数溢出标志位。 当 T0 计数溢出时,由硬件置 1,申请中断。 进入中断服 务程序后被硬件自动清“ 0”。 TR0 位: T0 计数控制位。 由软件置 1或清 0。 当 GATE 位( ) =0, TR0=1时,允许 T0计数。 当 TR0=0 或( ) =0 时,禁止 T0 计数。 当 GATE=1, TR0=1且 INT0=1 时,允许 T0 计数。 TCON 的低 4 位与外部中断有关。 ( 2) 专用键盘 /显示器接口芯片 8279 8279 是通用可编程键盘 /显示器 /I/O 接口部件。 它可实现对键盘的自动扫描,对显示器的动态显示扫描,自动识别键盘上闭合键的键值,并自动存入键值缓冲器中。 缓冲器中有键值,就向单片机发出外部中断申请。 单片机响应并执行外部中断时,将读出键值。 外部中断执行完后,将自动清除外部中断申请标志位。 V C CO E 11A12A24A36A48Y412Y314Y216Y118Y83Y75GND10Y67Y59A511V C C20O E 219A613A817A715U 4 0 S N 7 4 L S 2 4 0 PO U T A 027O U T B 031O U T A 126O U T B 130O U T A 225O U T B 229O U T A 324O U T B 328D B 012BD23D B 113D B 214S L 032D B 315S L 133D B 416S L 234D B 517S L 335D B 618D B 719R L 038R L 139I R Q4R L 21R L 32CS22R L 45RD10R L 56WR11R L 67A021R L 78C L K3S H I F T36R E S E T9C N T L /S37U 3 78279D0D1D2D3D4D5D6D7R S TWRRD827912345678A1B2C3O E 2 A4O E 2 B5O E 16Y77GND8Y69Y510Y411Y312Y213Y114Y015V C C16U 3 9S N 7 4 L S 1 3 8 NV C CV C CabcdfgdpeC L KA0I N TO E 11A12A24A36A48Y412Y314Y216Y118Y83Y75GND10Y67Y59A511V C C20O E 219A613A817A715U 4 0 S N 7 4 L S 2 4 0 P12345678abcdfgdpeV C C10K123456789R 1 2 3V C CCS123456781_111_221_331425362_172_282_39J P 1 8V C CF4区的D_0F4区的D_1接F4区的A接F4区的B接F4区的CE D A8279 图 34 8279电路图 14 ( a) 8279 的特点 可同时进行键盘扫描和字符显示; 键盘扫描模式( Scanned Keyboard Mode); 传感器扫描模式( Scanned Sensor Mode ) ; 选通输入模式( Strobe Input Entry Mode) ; 8 8 键盘 FIFO(先进先出 ); 具有接点消除抖动、 2 键锁定及 N键依次读出模式; 8位数或 16位数的显示器; 右边进入或左边进 入, 16位字节显示存储器。 ( b) 8279 引脚极其功能 DB0~ DB7:双向数据总线。 在 CPU 于 8279 间作数据与命令的传送。 CS:单片机对 8279 进行选中控制的片选位。 A0:用于区分信息的特性。 当 A0=1 时, CPU 向 8279 写入命令或读取 8279 的状态;当 A0 为 0时,读写一般数据。 RD:读取信号,低电平时响应读取动作。 WR:写入信号,低电平时响应写入动作。 IRQ:中断请求输出线,高电平有效。 当 FIFO RAM 缓冲器中存有键盘上闭合键的键码时, IRQ 线升高,向 CPU 请求中断,当 CPU 将缓冲器中的输入键数的数据全部读取时,中断请求线下降为低电平。 SL0~ SL3:扫描输出线,用于对键盘显示器扫描。 可以是编码模式( 16 对 1)或译码模式( 4 对 1)。 RL0 ~ RL7:反馈输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。 SHIFT、 CNTL/STB :控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。 OUTB0~ OUTA0~ 3:显示段数据输出线,可分别作为两个半字节输出,也可作为 8 位段数据输出口,此时 OUTB0 为最低位, OUTA3 位最高位。 BD:消隐输出线,低电平有效。 当显示器切换时或使用消隐命令时,将显示消隐。 CLK: 8279 的系统时钟, 100KHZ 为最佳选择。 RESET:复位输入线,高电平有效。 当 RESET 输入端出现高电平时, 8279 被初始复位。 ( c) 8279 的操作命令控制字 复位后,为使 8279 能完成指定的一种类型的工作,需为其选择一组操作命令控制字,由单片机通过初始化程序编程首先输入到 8279 中,从而选定其工作方式。 之后,单片机才能对 8279 进行读写操作控制。 8279 的操作命令字共有 8种。 每种控制命令字的高 3 位都 是用于表示该种命令字的特征编码,以便于 8279的内部电路能把不同的特征编码的命令字送到与特征编码对应的功能寄存器中。 15 键盘 /显示器方式设置命令字 0 0 0 D D K K KD 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图 35 键盘 /显示方式设置命令字 D D D5:为命令特征字,它门的 8种组合编码对应了 8279 的 8个命令。 D7 D6 D5=000 为方式设置命令字。 表 33 D4, D3显示 方式定义 D4 D5 显示方式 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):用来设定键盘七种工作方式: 表 34 键盘 工作方式选择方法 D2 D1 D0 键盘工作方式 0 0 0 编码扫描键盘, 双键锁定 0 0 1 译码扫描键盘, 双键锁定 0 1 0 编码扫描键盘, N键依次读出 16 0 1 1 译码扫描键盘, N键依次读出 1 0 0 编码扫描传感器矩阵 1 0 1 译码扫描传感器矩阵 1 1 0 选通输入,编码扫描显示器方式 1 1 1 选通输入,译码扫描显示器方式 说明: 双键锁定:当键盘中同时有两个或两个以上的键被按下时,任何一个键的编码信息均不能进入 FIFO RAM 中,直至仅剩下一个键保持闭合时,该键的编码信息方能进入 FIFO,这种工作方式可以避免勿操作信号进入计算机。 N 键依次读出:当同时按下 N 个键时,则按键盘扫描过程中发现它们的顺序识别,并送入 FIFO RAM中。 键盘扫描模式:当设定为键盘扫描模式时,从 SL0~ SL3 送出的扫描信号,将会去扫描键盘,如有键被按时,它会等待 10ms,然后检查该按键,将此键码(含 CTRL、SHIFT) 存入 FIFO RAM。 扫描传感器矩阵模式:当设定为传感器模式时,存入 FIFO RAM 的值,完全按扫描的输出码。 如有传感元件被触发时,在 8279 内部的 FIFO RAM 中都有一个位与之相对应。 选通输入的工作方式: RL0~ 7作为选通输入口, CNTL/STB 作为选通信号输入端。 这是只选用显示器没有键盘的工作方式。 时钟编码命令字 该命 令字可对外部时钟进行 N次分频,获得 8279 内部所需的 100KHz 工作时钟。 内部工作时钟控制着扫描时间和键盘去抖动时间的长短。 0 0 1 P P P P PD 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图 36 时钟编码命令字 D7 D6 D5=00。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。