文档介绍:《微机接口技术课程设计》报告设计题目:夜班防睡控制和记录器班级:电了0802组员:指导教师:将机科学与技术学院系电子专业2010年12月27日目录夜班防睡控制和记录器前S此实验要求设计一个夜班防睡控制和记录器,每10min用较柔和的声音提醒-次值班者,值班者按某一键后复位,计时重新开始;若计到11min时无人按复位键,则以较急促的声音报警,黄灯闪烁以示报警;当到60min吋无人按复位键,则红灯闪烁,并以尖锐的声音持续报警,并记录下这个时刻,以便管理者杏看。显示格式:时、分、秒。在课程设计之前,我们首先对设计题目进行了小纽•内部讨论,按照题目要求行了系统需求分析。然后学****了唐都实验箱的结构和齐模块的相关功能,并搜集了相关讲解微机接口技术的资料和书目,然后学****了本课程设计所需的8255并行接口芯片、8254定时器/计数器芯片的知识,之后确定了总体设计方案,再将任务划分好模块(计时模块、判断模块、报警模块、显示模块)后具休分配到小组成员,山小组成员分别进行相应模块的硬件设计和软件设计。小组成员设计、调试完各模块后,报后将务模块设计好的硬件模块和软件模块集中、整合在一起,进行统一的统筹和调试工作,以达到设计要求,最后按照要求进行适当的功能扩展,并撰写了此课程设计报告。一・系统概述(1)系统设计思想本实验是利用微机原理试验箱、8255芯片、8254芯片、PC机等硬件设备设计夜班防睡控制和记录器。首先利用了编程程序,编辑了8255芯片控制字,对其进行初始化,使其工作在方式0即基本输入输出状态,将8255的B端口设置为输出,其中PBO和PB1接LED灯,PB2接8254芯片的GATE2信号端;C端口做为输入端口,其中PCO用做复位输入,PC1用做负脉冲输入(为1秒计时)。将8254的计数器0设置在工作方式2下,用来产生计数负脉冲。其中CLKO接1KHZ,OUTO接8255的PC1端口,当8255的PC1端口检测到低电平时调用计时子程序。当每次计时后需要判断所计时间是否达到设计要求,若达到耍求则调相应的报警子程序。在报警子程序中利用8254的计数器2来产生响铃脉冲,所以计数器2应工作在方式3下,GATE2端接8255的PB2用来实现计数器2以软件启动方式启动,CLK2接100HZ作为定时脉冲。0UT2接扬声器。模块执行顺序计时模块判断模块报警模块显示模块主程序流程图如下:开始判断模块:(2)可行性论证硬件可行性通过向8254定时器/计数器芯片的计数器0送计数初值,即确定了1秒。通过8255的C端口来控制程序的启动和复位操作。软件可行性对于8254芯片,先将控制字写入控制端口,然后通过计吋器0确定1秒;通过定时器2产生响铃脉冲。对于8255,先写控制字,然后通过编程实现计数、判断等即可。操作可行性实验程序在PC机理的Tdpit软件里运行,控制唐都实验箱里的硬件设备。单元电路设计与分析(1) 8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平吋,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255ODO〜D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/坊操作,控制字和状态信息也通过数据总线传送。PAO〜PA7:端口A输入输出线,一个8位的数拯输出锁存器/缓冲器,一个8位的数据输入锁存器。PBO〜PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PCO〜PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端U包含一个4位的锁存器,分别与端1_1A和端L1B配合使用,可作为控制信号输出或状态信号输入端口。Al、A0:端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由AO、A1输入地址信号来寻址。|:咖M:⑹illKU图1. 8255的控制字格式(2) 8254可编程计数/定时器芯片完成对外部脉冲信号的各种处理。8254芯片内部具有三个独立的16位计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数速率可达lOMHzc8254的全部功能是由CPU编程设定的。CPU通过输出指令给8254装入控制字,从而设定其功能。8254控制字格式如下:D7D6D5D4D3D2DIDOC1coL1L0210CD各位的功能见表1〜