微机课程设计报告-数字时钟系统与自动报时系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级: 13030 学号: 1303
姓名: #### 地点: B-312 批次:第一批
时间: 2016年3月
微机系统课程设计
——数字时钟系统与自动报时系统设计
时间:2016年3月
1. 课设题目及成员分工
1.1课设题目:
数字时钟与自动报时系统
1.2小组成员介绍及分工
2. 课设内容及要求
2.1 课程设计目的:
1、了解以微机为核心的总线方式访问总线设备的原理,提高接口扩展硬件电路的连接能力;
2、你阿姐数字时钟和语音报时的工作原理,提高应用系统的设计和调试的综合能力;
3、加深对定时器/计数器、并行接口芯片和语音芯片的硬件电路和软件编程的工作方式和编程
方法的理解。
2.2 课程设计内容:
1、设计数字时钟,能够动态时间显示,整点语音报时;
2、利用定时器产生精确的时钟源,通过中断或者查询的方式将时钟源数值传送到微机控制台;
3、微机控制台在进行数据的处理后,控制并行接口芯片进行DLED 的动态扫描,正确的显示时钟;
4、当系统运行后,数码管显示时分秒,每到整点,喇叭播放报时音。
2.3 系统功能和设计要求
1、基本功能要求:
a.系统显示界面:
1. 在DLED 数码管上进行实时刷新显示;
2.使用8255 扫描数码管,显示时分秒,小时和分钟分别为两位显示,秒使用LED3
的DP 显示,0.5s 亮,0.5s 灭。
b.自动报时要求:
1. 通过编程实现语音录制,播放,可以随时修改报时音内容;
2. 报时音以12 时制录制,12 个报时音以连续地址存放在ISD1420 芯片内,
录音顺序
如表 2.1 所示:
表 2.1 录音顺序表
2、发挥部分:
1.增加“语音提醒”功能,自行设计提醒时间和播放的录音内容。打开“语音提醒”功
能后,数字钟运行到设定的时刻,喇叭发声提醒事先录制的语音;
2. 增加“秒表计时”功能,启动该功能后可在DLED 上进行00.00~99.99 秒计时;
3. 增加“时区转换”功能,根据设定的时区表随时转换相应时区的时刻。
3. 课设实现方案
3.1 总体设计思路
1、数字时钟部分:
1.利用CLOCK 分频器提供的信号作为可编程定时器8254 的时钟源,通过8254 进行16
分频,产生0.5 秒的精确时钟;
2.监控时钟通过查询获取时钟,根据时钟计算出时分秒,然后驱动4 位数码管实时显示
出时间;
3.基本I/O 驱动器74LS244 作为可编程定时器8254 的时钟监控端口。
2、自动报时部分:
1.通过调用电脑系统的蜂鸣器函数beep()实现报时
2.系统可以通过可编程并行接口8255 的PA 口和PB 口控制时间显示数码管的段和位
3.2 硬件设计方案
1、总体布局:
该系统主要使用的QTH-2008PCI 实验箱和个人PC 机,涉及到的芯片有通用可编程并行接口8255、可编程定时器8254、驱动器74LS244、32Hz 的时钟源CLOCK
等,除此之外,还有DLED 数码管、按键和一些导线等硬件。其中,数码管DLED 主要显示
时钟的时分秒,语音芯片ISD1420 主要用于录音。
2、硬件连接图:
总体硬件连接图如图3.1 所示:
图3.1
3、详细设计:
如图3.1所示,该系统可分为两大部分,通用可编程并行接口8255部分和可编程定时器8253部分:
8255 部分:
a.输入部分:8255 的8 位数据信号线与总线的数据信号线相连,两个地址A0、A1
分别接总线的LA0、LA1,RD 和WR 信号分别接总线的IORD 和IOWR 信号,片
选信号CS2 接总线的地址0020H。PC 口的PC4、PC5、PC6、PC7、作为输入分别
与按键KEY4、KEY7、KEY3、KEY4 相连。其中,KEY4 主要用于时钟模式下分
钟的减,KEY7 主要用于从时钟模式切换到特殊功能状态,KEY2 主要用于秒表的
启动和暂停,KEY3 主要用于秒表的退出。
b.输出部分:8255 的PA 口8 条信号线作为输出与数码管的段相连,PB 口的低四位
作为输出与数码管部分的四位相连,PC 口的PC0、PC1、PC2 作为输出分别于语
音芯片ISD1420 的REC、PLAYE、PLAYL 相连。
8254 部分:
c.输入部分:8254 的8 位数据信号线与总线的数据信号线相连,两个地址A0、A1
分别接总线的LA0、LA1,RD 和WR 信号分别接总线的IORD 和IOWR 信号,片
选信号CS1 接总线的地址0000H。通道0 中CLK0 作为输入连接32Hz 的时钟源
CLOCK0,门控位GET0 连接按键KEY1;通道1 中CLK1 作为输入连接1024Hz
的时钟源CLOCK1,门控位GET1 连接按键KEY8。
d.输出部分:通道0 中的输出OUT0 连接驱动器74LS244 的输入口A1,通道1 中的
输出OUT1 连接驱动器74LS244 的输入口A2。
e.驱动器74LS244 部分:按键KEY5 连接驱动器74LS244 的输入口A3,输出口Y1、
Y2、Y3 连接总线的数据信号线LD1、LD2、LD3,片选信号CS4 连接总线的地址
0060H。其中,按键KEY5 主要用于在时钟状态下调节分钟部分的加。
3.3 软件设计方案
1、开发环境:
对于软件开发环境,我们采用的PC 机中的VC++ 6.0 软件,新建了一个C++ 的工程,将与总线驱动有关的文件加进去,然后编写自己的程序。
2、软件流程图:
该系统软件流程图如图3.2 所示: