基于单片机的家用固定电话自动计费器的设计与实现内容摘要:
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。基于单片机的家用固定电话自动计费器的设计与实现
相关推荐
制仪表中。 SOC 芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器 (RAM 和ROM),并且这种片上系 统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。 它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。 从实现复杂系统功能和简化硬件结构的角度出发, SOC 是实现温度控制系统的最佳选择,但目前市场上
526P 2627P 2728P S E N29A L E / P30T X D11R X D10I C 1A T 8 9C 5 1R21 0KR31 0KR41 0KV C CP 1. 0Y1C13 3P FC23 3P FV C CF U Z A 1B E L LabfcgdeDPY109 7 5 4 2 1a b c d e f g6dpdpcom3com8D P
器 F0H F7 F6 F5 F4 F3 F2 F1 F0 B E0H E7 E6 E5 E4 E3 E2 E1 E0 A D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW B8H BC PS BB PT1 BA PX1 B9 PT0 B8 PX0 IP B0H B7 B6 B5 B4 B3 B2 B1 B0 P3 A8H AF EA AC ES AB ET1 AA EX1 A9
如图 , NE555 定时电路 V0 口输出连续的脉冲信号至 RST,达到定时复位的效果。 电路使用电阻电容产生 RC 定时电路,用于设定脉冲的周 期和脉冲的宽度。 调节 RW或者电容 C,可以得到不同的时间常数。 脉冲宽度计算公式: TW =(R1+RW+R2)C 振荡周期计算公式: T=(R1+ RW+2*R2)C 从而通过控制振荡周期和脉冲宽度就可以控制定时时间。 内部结构图 图
连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管的 8 个发光二极管的阴极(二极管负端)连接在一起,通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮
电阻减小,入射光弱,电阻增大。 光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。 光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达 1~10M 欧 ,在强光条件( 100LX)下,它阻值(亮阻)仅有几百至数千欧姆。 光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光( ~) μm的响应很接近 ,只要人眼可感受的光