1、 课课 程程 设设 计计 报报 告告 课程设计名称:微机系统综合课程设计微机系统综合课程设计 课程设计题目:模拟模拟 IC 卡电话机卡电话机 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期:2012年7月5日 -I- 目目 录录 第第 1章章 总体设计方案总体设计方案 1 1.1 设计需求 . 1 1.2 设计原理 . 1 1.2.1 提出方案 . 2 1.2.2 方案论证 . 2 1.3 设计环境 3 第第 2章章 详细设计方案详细设计方案 4 2.1 硬件设计 . 4 2.2 软件设计 . 5 2.2.1 主程序的设计与实现 5 第第 3
2、章章 结果测试及分析结果测试及分析 8 3.1 结果测试. 8 3.2 结果分析. 9 参考文献参考文献 10 附附 录(程序清单)录(程序清单) .11 -1- 第 1 章 总体设计方案 1.1 设计需求设计需求 一、课程设计内容: 1.设计一组卡号(卡号 8 位) ,并设计计费方案(分为长途与市话) ; 2.输入卡号,首先显示卡内剩余钱数,然后拨电话号码(判断是市话还是长 途)电话号码不少于 6 位。 3.正确拨号后,用单色灯显示通话状态,并在数码管上显示通话时间,并在 数码管上显示通话时间和钱数的减少。 二、课程设计要求: 1.独立完成课程设计任务。 2.通过指导老师现场验收。 3.交出
3、完整的课程设计报告。 1.2 设计原理设计原理 根据课程设计的需求。 首先我们要解决的几大问题就是: 第一使用哪些芯片 才能完成设计的需求,第二根据存储所占用的空间,适当选取用几位才能满足存 储需求。 根据这些问题,我们一一解决。 由于 IC 电话卡的卡号是 8 位的, 电话号码要求是不少于六位, 还要显示剩余 电话余额,所以设定用 8 位来存储一个用户信息。 根据程序设计的流程,要求。那么对于键盘的操作分别为输入卡号;显示余 额;再输入电话号码;显示剩余时间,金钱。所以分别用下面几个过程实现。分 别为读取用户卡号(电话号码) 、显示余额、计时、计费组成主程序。涉及到显示 问题,肯定要用到可编
4、程的键盘、显示接口芯片。所以用 8279 显示金额和卡号。 另外需要进行计时,那么就需要一个脉冲源,产生脉冲信号。在所知的芯片 中,选取 8253 芯片产生脉冲做为脉冲源,用做计时,一个单位时间为一秒,当到 一分钟的时候,要求要显示通话时长增加和剩余金钱减少。用 8279 芯片显示。 -2- 显示卡内的余额,调用延时程序,进入拨电话号码的子程序,用一开关表示 接通和挂断,当开关打到高电平就表示接通,然后进入计时程序,在计时程序中 满一分钟的时候调用计费程序。当开关打到低电平就通话结束,计费停止。 注释:因为对于此程序来说,开关对于小灯是低电平有效,所以当开关是高 电平时,小灯灭,电话接通。同理
5、,电话挂断或者未接通,小灯亮。 1.2.1 提出方案提出方案 首先通过 8279 芯片读入 8 位电话卡的卡号,并将其存入内存。 然后利用键盘存入 8 位电话卡的卡号,利用比较语句,一个字符一个字符比 较,看是否与已存入内存的卡号一致,如果一致,则指向该卡号,继续进行下面 的操作。如果不一致,程序不往下走,继续执行输入卡号的部分。因为不能一直 输入卡号,所以限制输入卡号只能三次,如果三次都错误,则操作结束。 然后利用地址变换的方法将所输入的数据转换成所能显示的格式在 8279 上 显示,按照流程顺序,此处显示为卡内余额。输入卡号完成,就可以打电话了, 那么就是输入电话号码的部分。 之后程序系统
6、自动调用延时程序使之进入输入电话号码的程序。 同理,电话号码被确认正确后。通过延时程序进入计时程序。此处后来是加 入开关对通话开始和结束进行控制的。 利用 8279 在数码管上同步显示卡内的余额和通话时间,余额为 50 元。 时间的初始值分别为 00:00,后两位代表秒,前面两位代表分。 等待电话接通,(电话接通用开关为高电平代替) 接通开始计时, 到一分钟时, 产生中断调用计费的程序,计费结束返回。 计费分两种,分别为市话和长途。通过判断存储电话号码的前一位是否为 0 分别市话和长途,如电话号码第一位是 1 则按照长途计费,如电话号码第一位不 为 1 则按照市话计费。 1.2.2 方案论证方案论证 8279 是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动 显示功能。 -3- 实验箱上由八位 LED 数码管可完成对余额,通话时间的显示(每个各可分配 两位 LED 数码管) 。 8253 是可编程定时器计数器芯片,可经过分频和输出方波完成周期为 1 秒 的方波脉冲由 OUT2 输出,进而触发可编程中断控制器 8259A,并完成对秒加 1。 8259A