1、数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器1数理与信息工程学院单片机原理及应用期末课程设计题 目: 免电源的电话使用计时器 专 业: 计算机科学与技术(专升本) 成 绩: 数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器2目 录第 1 节 引 言31.1 免电源的电话使用计数器系统概述31.2 本设计任务和主要内容4第 2 节 系统主要硬件电路设计52.1 单片机控制系统原理52.2 单片机主机系统电路52.3 直接从电话线路取得工作电源72.4 LED 显示系统电路 7第 3 节 系统软件设计103.1 TCC 中断子程序113.2 具有七段显示
2、能力主程序113.3 具有二位数的显示能力程序123. 4 其它组成各功能14第 4 节 结束语15参考文献16数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器3免电源的电话使用计时器第 1 节 引 言 电话是通过电信号双向传输话音的设备。鸦片战争后,西方列强在中国掠夺土地和财富的同时,也为中国带来了近代的邮政和电信。1900 年,中国第一部市内电话在南京问世;1949 年以前,中国电信系统发展缓慢,到 1949 年,中国电话的普及率仅为 0.05%,电话用户只有 26 万。1949 年以后,中央人民政府迅速恢复和发展通信。2006 年,我国电话用户人数大约越过 8 亿。因
3、为该系统应用范围的广度可想而知。单片机控制部分采用 EM78P156 单片机为核心,由 LED 七字显示数码管 2 个,电容 3 个,电阻 1 个,桥式整流子 1 个,电感 1 个,石英晶体 1 个,稳压二极管 1 个,按键 1 个组成,软件选用汇编语言编程。相信只需要 20 多元及 1 个休息日即可组装完成。1.1 免电源的电话使用计时器系统概述 在通讯沟通频繁的今日,相信家家户户都有一台以上的电话机,您家必定发生过打完电话后未挂好而造成电话无法打进的困扰吧。或者您的家人或同事或朋友打电话一打就打了许久又不自知吧。免电源的电话使用计时器供您避免上述现象之产生。当您的电话使用后没有放置好,或者
4、是打电话聊长天的时候给您显示通话使用时间给予心理压力。基本上可算是有提醒指示及显示二大功能。 免用外部电源,整个电子产品是利用电话线电压来工作的,故可免除许多烦人的事(指怕停电,浪费电,体积大,成本高,配线难),在使用上没有任何不适的感觉,也不须担心电信局测试。 对通话品质无影响,所谓的无影响其实有着二个含意,一为无杂讯干扰,一为通话音量不增减。大家都知道多位数的 LED 七段显示得用扫描方式,如此一来会有脉冲电流杂讯产生,这点对听觉灵敏的耳朵而言是不可忽视的。另外整个电路的 AC阻抗得非常的低,以免除声音的衰减。针对这二个要求,这里介绍一个简单又实用的电源取得电路供您参考。 LED 七段显示
5、,非常适合夜晚来使用,同时由于亮度很够,即使在白天也是清清楚楚,这点就是 LCD 显示望尘莫及的。 LED 显示不但能做使用时间的显示之外,也能表示电话线正被使用中,故可当未挂好话筒之提醒指示之用。 LED 显示采用最省元件的互补式,即一个 LED 七段显示器为共阴,另一为共阳,如此即可直接用单片机四个 I/O 直接推动而得到最高亮度了。 利用 OTP 型单片机 EM78P156 来做核心控制,整个程序小小的,若您想更改或增加功能都是非常容易的。 1.2 本设计任务和主要内容数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器4本论文主要研究单片机控制的滴灌节水灌溉系统,分别对
6、土壤湿度与灌水量之间的关系、灌溉控制技术及系统设备的软、硬件各个部分进行了研究。主要内容如下: 免电源的电话使用计时器系统的整体研究与设计。 只要 LED 七段显示器点亮则表示电话线正被使用,此时不是您正在打电话就是话筒未被放置好。 只要话筒一被拿起,电话回路被建立后单片机开始做计时及显示动作,以分为单位,最大可显示 99 分,之后又从 0 开始。若您要有精准的计时时可在电话通之后按 CLR 键,此时单片机清除计数从新开始计数显示。第 2 节 系统主要硬件电路设计数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器52.1 单片机控制系统原理线路图:图 2-1 单片机控制系统原
7、理框图 22 单片机主机系统电路EM78P154 主要功能特点:采用 8 位数据总线和 13 位指令总线独立分离的 Harvard 结构设计。 采用 RISC 指令集,共有 57 条单字节指令,其中 99%为单周期指令(对程序计数器 PC 指针进行写操作除外) 。 1K4KX13 的程序存贮器(有 OTP 和掩膜二个版本) 。 48 个通用数据寄存器可直接寻址使用。 14 个特殊功能寄存器。 具有一个结构选择寄存器用于设置振荡器的工作方式等。 具有五级堆栈令程序嵌套更自由。 两个双向三态 I/O 口, 12 个 I/O 线,可分别设置为上拉、下拉或集电极开路等。 具有三个硬件中断和一个软件中断
8、。 两种工作模式:正常工作模式和休眠模式 。具有 R-OPTION 功能,即用电阻的上拉、下拉来选择内部程序的执行。 一个带 8 位预置器的 8 位定时/计数器,一个看门狗定时器(WDT) 。 采用先进的加密方法保证用户代码不被读出。 工作电压: 2.55.5V 工作频率 DC36MHZ、工作温度 070。本例选用台湾 EMC 公司的 EM78P156 OTP 或 8 位单片机,不但指令少,程序撰写容易外,所需外部元件也是精简得很,我们不妨看看只需一个 32768Hz 的石英晶体及一个助振电容就行了,另外的 1K 电阻是关机泄放电流用的,可避免重置失效,而CLR 按键是用来清除显示时间的。若您
9、不再乎那拨号时间的误差则可以不用此元件的。数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器6单片机主机系统图如下图 2-2.1 所示:图 2-2.1 其实物图如下图 2-2.2 所示:图 2-2.2数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器72.3 直接从电话线路取得工作电源为一简单的检波器 型滤波器及基纳稳压器所构成,经过这 5 个元件的打点而得到从电话端看到的是一个 AC 低阻抗,同时隔离了单片机扫描 LED 七段显示器所衍生的杂音。另外 5V 的稳压二极管更提供了很稳定的电源供电路使用。有二个地方需注意的是 5V 稳压二极管得选购 5W 以上
10、的比较不会过热,同时电感得选购直流内阻低的,愈低愈不会发热。图 2-324 LED 显示系统电路微机化测控系统中常用的测量数据的显示器有发光二极管显示器(简称 LED 或数码管)和液晶显示器(简称 LCD)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用 4 个 LED 显示。数码管有共阴共阳之分,本系统采用 8 段共阴型 LED,其原理图如图 2-4.1 所示,每位数码管内部有 8 个发光二极管,公共端由 8 个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于 a-dp 各引脚上是否是高电平。LED 数码管的外形结构如图
11、2-4.1,外部有 10 个引脚,其中 3, 8 脚为公共端也称位选端,其余 8 个引脚称为段选端,当要使某一位数码管显示某一数字(0-9 中的一个)必须在这个数码管的段选端加上与数字显示数字对应的 8 位段选码(也称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器8LED 有共阴极和共阳极两种。如图 2-4.1 所示。其 LED 显示段码如表 2-4.2 所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V 的电压。一位显
12、示器由 8 个发光二极管组成,其中 7 个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为 dp 发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段 LED 不被损坏,需外加限流电阻。符号和引脚 共阴极 共阳极图 2-4.1 LED 数码管结构原理图字型 共阳极段 共阴极段 字型 共阳极段 共阴极段0 C0H 3FH 9 90H 6FH1 F9H 06H A 88H 77H2 A4H 5BH B 83H 7CH3 B0H 4FH C C6H 39H4 99H 66H D A1H 5EH5 92H 6DH E 86H 79H6 82H 7DH
13、 F 84H 71H7 F8H 07H 空白 FFH 00H8 80H 7FH P 8CH 73H表 2-4.2 LED 显示段码本实例 LED 七段显示器采用一共阴极,一共阳极的,故颜色及亮度最好选相近的。图可参照图 2-4.2。当 PORT5 输出为 HIGH 时,共阳极的 LED 七段显示器被选到,此时 PORT6 输出为 LOW 时 LED 被点亮,反之 LED 不会亮。当 PORT5 输出为 LOW 时,共阳极的 LED 七段显示器被选到,此时 PORT6 输出为 HIGH 时 LED被点亮,反之 LED 不会亮。之所以要四个 I/O 都并联在一起是要保证有 50mA 的数理与信息工
14、程学院单片机原理及应用期末课程设计免电源的电话使用计时器9输出显示电流,不是四个并联使用的话则显示亮度会打折扣。图 2-4.2数理与信息工程学院单片机原理及应用期末课程设计免电源的电话使用计时器10第 3 节 系统的软件设计程序就像日常说话一样,只要能够表达清楚意思,那么,愈短愈受人欢迎(当然得在保证有正常功能的情况下而言)。整个程序可以分成 5 个段落来做说明,寄存器使用说明:DL - 子程序用寄存器、 MIN - 存放分钟资料寄存器 、SEC - 存放秒钟资料寄存器 、DD - 存放显示位数资料寄存器 、DDH - 存放显示资料寄存器 、AB - 存放 ACC 的副本 、RFB - 存放
15、STATUS 的副本1. TCC 中断子程序: 每秒发生一次的 TCC 中断子程序,行为进入及离开中断子程序的 ACC 及STATUS 保留动作。其中 000C 为每进入一次中断子程序就将 SEC 这寄存器予以进位。判断 SEC 寄存器是否大于 59,是则将 MIN 寄存器予以进位并清除 SEC 寄存器。行为每秒发生一次的 TCC 中断子程序,行为进入及离开中断子程序的 ACC 及STATUS 保留动作。其中 000C 为每进入一次中断子程序就将 SEC 这寄存器予以进位。判断 SEC 寄存器是否大于 59,是则将 MIN 寄存器予以进位并清除 SEC 寄存器。判断 MIN 寄存器是否大于 9
16、9,是则将 MIN 寄存器予以清除,其中 001A 为清除TCC 中断旗标。 2. LED 字型转换程序: 字型转换表,可将 09 的数字转成相对的 LED 七字显示器的资料。 3. 显示时间长度延迟程序: 延迟程序,为启动显示及关掉显示之指令。 4. 微控制器启始设定程序: 对微控制器内部相关硬件做了必要性的设定动作。值得特别一提的是对 TCC 中断记数器予以设定成每秒中断一次。计算式如下: 系统时基/(2 周期模式1 秒256 进位)而得预除数为 64。 5. LED 七字显示器扫描主程序: 为本软件程序之主程序部份,又可分三部份。取得 MIN 的拾位数之值。显示MIN 的个位数资料到共阳极的 LED 七字显示器上。显示 MIN 的拾位数资料到共阴极的 LED 七字显示器上。