ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:284KB ,
资源ID:2128869      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2128869.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计时时钟.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计时时钟.doc

1、课程 微 机 原 理 与 技 术课程设计名称计 时 时 钟计 时 时 钟1、题义分析与解决方案:1.1题义需求分析:该题目要求设计一个接口与七段LED显示器,显示一个计时时钟,显示初值为0,每隔一秒改变一次显示值,60s为一分钟,60min为一小时,LED显示器循环显示时、分、秒的动态值。根据要求提出以下几点问题:(1) 选择用于显示时间的显示器;(2) 怎样使显示器实现显示时间;(3) 如何实现计时功能,是用软件还是硬件实现;(4) 选择何种接口芯片以及考虑该接口芯片及LED显示器的技术参数,考虑最大工作电流,需不需要其他辅助芯片等。1.2解决问题方法及思路:1.2.1硬件部分:(1) 接口

2、芯片选择问题:秒位设置完毕后,如何将时间信息传送到外设中,即选择何种芯片用于CPU与外设之间传送信息。接口芯片是微型机系统中实现输入输出的常用器件,是CPU与外设之间的界面,一方面要接收CPU进行输入/输出所发出的一系列信息,另一方面又要与外设交换数据以及一些联络信号等。为增加本设计的灵活性,在接口的选择上要求是可编程的输入/输出接口8255或8155。表1-18255A与8155A的比较芯片8255A8155A功能可作为单片机与外设连接的接口电路可作为单片机与外设连接的接口电路关键参数40条引脚,单一+5V电源供电40条引脚,单一+5V电源供电可编程是是价格2.2$3.74$易用性使用灵活比

3、8255差,使用较少8255A芯片:它是一种可编程通用并行接口芯片,它有24条可编程的I/O引脚,采用40脚双列直插式封装,单一+5V电源,全部输入/输出均与TTL电平兼容。在8255A中有A、B、C三个并行输入/输出端口,其功能全部由程序设定,每个端口都有自己的特点。A口、B口通常作为独立的I/O端口使用,C口也可以作为一般的I/O端口使用,但当A口、B口作为应答式的I/O端口使用时,C口分别以来为A口、B口提供应答控制信号。如果采用8255A作为计时时钟的输入/输出接口,那么8255A的三个端口设置如下:A口工作与方式0,作为输出口,其PA0PA6分别与外设的段选码相连,用以确定在何时显示

4、时间的哪一位;B口工作与方式0,作为输出口,其PB0PB7分别与外设相连,作为位选线;C口用来为A口、B口提供应答控制信号。8251A芯片:它是一种可编程通用串行接口芯片,是通用的同步异步接收/发送器,它的作用是把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,它可以通过编程选用同步/异步通信方式,它具有独立的发送器和接收器,能够以单工、半双工或全双工方式进行通信,并提供相应的控制信号。最佳解决方案:如果采用8251A作为计时时钟的输入/输出接口,那么就需要把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,

5、这个过程是需要时间的,所以从时间效率方面来说并没有8255A芯片合适;另外,可编程并行接口(8255A)的是数据传输速度快,虽然使用的通信线多,但是传输距离并不算远,所以在解决接口问题时,采用可编程并行接口(8255A)是比较合适的。(2)时间的显示问题:为实现计时时钟的显示,可选择芯片LCD或LED。表1-2LCD与LED的比较LCD液晶显示器,通过液晶和彩色过滤器过滤光源,在平面面板上产生图象,具有零辐射,低耗能,散热小,纤薄轻巧,精确还原图象,显示字符锐利,屏幕调节方便,可视角度小,响应时间过慢,亮度可对比度低等特点LED发光二极管,是由发光二极管排列组成的显示器件,它采用低电压扫描技术

6、,具有耗电少,使用寿命长,成本低,亮度高,故障少,视角大,视角大,可视距离远的特点通过分析和对比,LED显示器要较优于LCD显示器,因此本实验选择LED 来实现时间的显示(3)秒钟的设计问题:两种解决方案:硬件实现、软件实现(1)硬件分析:可选择8253A芯片,8253A是一种定时准确、使用方便、灵活性大的可编程定时器/计数器,其定时的时间长度可以通过软件来设置,对芯片设置处置初值后,计数器开始工作,微处理器就可以去做其他工作,定时时间到,电路会产生一个信号,向微处理器提出中断请求,告诉处理器定时时间已到。(2)软件分析:为实现1秒长度的设定,可执行一个循环程序,通过循环次数和循环嵌套的层数来

7、调节计时时间的长短,该方法的优点是不需要专用的硬件,从而成本低,方法简单灵活,使用起来也比较容易。(3)最佳解决方案:通过以上分析,硬件实现1秒的设定虽然较准确,但用软件来实现可以极大的节约成本,而且通过周密的计算循环的次数和循环嵌套的层数也可以将计时的准确度提高,所以在实现计时时间方面选择软件是比较好的方案。1.2.2软件部分:初始值设置:在程序中的数据段定义秒位数据second,分位数据minute,时位数据hour,初始值都设为00h,并在LED显示器上显示初值;8255初始化:设置8255的工作方式:B口和C口都用于输出,且都工作于方式0;计时:从初值开始显示,当显示了1s时,秒位加1

8、,并判断秒位是否为60,若不是,则直接显示时间;若是,则将秒位置0,分位加1,接着判断分位是否为60,若不是,则直接显示;若是,则将分位置0,时位加1,然后判断时位是否为25,若不是,则直接显示;若是,则将时位置0,日期加1,并判断日期是否加到31,若是,则将日期清零,重新计时。如此循环。1秒时间的设定:执行一个循环程序,通过循环次数和循环嵌套的层数来调节计时时间的长短,该循环次数处定为0100h。2、硬件设计:2.1选择芯片8255:2.1.1芯片8255 A在本设计设计中的作用:8255是并行的I/0接口芯片,内部有三个相互独立的8位数据端口。8255实现了外设与8086之间的数据传输。8

9、255的B口工作于方式0,作为输出口,其PB0PB7分别与LED数码管显示器的显示器的八段a,b,c,d,e,f,g,dp相连,C口作为输出口,其PC7PC0与LED数码管显示器的LED0LED7相连,作为位选。2.1.2 芯片8255的功能分析:(1)8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、口和口。三个端口都可以作为输入端口或输出端口。口有三种工作方式:即方式、方式和方式,而口只能工作在方式或方式下,而口通常作为联络信号使用。8255的工作只有当片选CS有效时才能进行工作。而控制逻辑端口实现对其他端口的控制。当8255工作于方式0时,即基本输入输出方式时,可将三

10、个数据端口划分为四个独立的部分:A口和B口作为两个8位端口,C口的高4位和低4位可以用作两个4位的输入输出口,各个端口都可独立地用作输入或输出。(2)CPU接口:数据总线缓冲器:这是一个8位双向三态缓冲器,三态是由读/写控制逻辑控制的,它可与系统的DB直接相连,实现CPU和8255A之间的信息传送;读写控制逻辑:用于管理数据、控制字或状态字的传送,接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。2.1.3 8255部分技术参数:8255A的方式控制字:(见图2-1)图2-18255A的方式控制字表2-18255A的部分技术参数标识符最小最大测试

11、条件输入低电平(VIL)-0.5V0.8V输入高电平(VIH)2.0V5V输出低电平(VOL)DB0.45VIOL=2.5mA输出低电平(VOL)PER045VIOL=1.7mA输出高电平(VOH)DB24VIOH=-400A输出高电平(VOH)PER24VIOH=-200A驱动电流-1.0mA-4.0mAREXT=750,VEXT=1.5V供应电流120 mAIIL(INPUT LOAD CURRENT10AVIN=0V5VIOFL(Output float leakage10AVOUT=0.455V技术参数分析:8255A工作的最低输入电压-0.50.8V,最高输入电压是2.0Vcc电压,

12、从这两者之间的区域来看,逻辑电平的差值还是比较大的;另外在数据总线上的逻辑电平是2.4V,输入的负载电流为在最大电流为10mA,电源的电流是120mA,驱动电流在-1.0 mA -4.0 mA之间2.1.48255与外设相连的逻辑图:(见图2-3)图2-38255与外设相连的逻辑图PA7PA0:A口数据信号线;PB7PB0:B口数据信号线;PC7PC0:C口数据信号线。2.2 选择器件LED:2.2.1LED在本设计中的作用:LED发光二级管(Light-Emitting Diode),在本设计中采用7段数字发光二级管,是作为终端用来显示计时时钟的分秒值用的。2.2.2LED功能分析:LED发

13、光二级管分为共阳极和共阴极两种,共阳就是7段的显示字码共用一个电源的正极,原理示意图如下:(见图2-4)图2-4LED原理图LED数码管采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字。2.2.3LED技术参数:表2-2LED显示管段选码编码表数字DPgfedcba二进制编码(字形)0001111113FH1

14、0000001103H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100169HD010111105EHE0111100179HF0111000171H表2-3LED显示管参数PcwIfVrIrIfP对应型号散射颜色BT2352702551.52.5200SEL10红BT14415291004050.52.5565绿BT13415291004050.52.5585蓝LED技术参数说明:通过以

15、上所列出的LED技术参数,可以总结出发光二极管的压降一般为1.52.0 V,即工作电压要求不高,而且构造简单,其工作电流一般取1020 mA为宜。2.3 硬件总逻辑图及其说明:2.3.1实验与原理图的相关说明:8086的8位数据线D7D0与8255的D7D0相连,地址线经74LS373锁存后其低位A0、A1分别与8255的A0、A1相连,其他地址线经74LS138译码后,其CS0接8255的片选CS8255引脚,其入口地址为34F0H34F3H。8255的A口PA0PA6分别与逻辑开关的K1K7相连,其中开关量K7用于判断是否修改时间,K5K6用于判断修改哪一位,K1K4为要修改的值;B口作为

16、段选;C口作为位选。2.3.2实验组成原理图:(见图2-6)图2-6实验组成原理图3、控制程序设计:3.1 控制程序思路说明:(1) 初始化8255A,设置其工作方式;(2) 设置初值,定义对应十六进制数的七段代码表及其时间区表(3) 显示计时并循环判断,当1秒时间到是则秒位加1计时显示。(4) 8255A芯片的相关地址如下:端口地址:34F3H A口地址:00F0H B口地址:00F1HC口地址:00F2H3.2流程图:见图3-13.3程序流程图的相关说明:首先对8255进行初始化,然后开始读取开关量,判断是否要修改时间,若需修改,则判断需修改哪位,随后将该位对应的时间区数据修改为逻辑开关K

17、1K4对应的值,若不需要修改则继续显示并循环判断,当1秒时间到达时,则秒位加1计时显示。3.4控制程序:.MODELTINYPCIBAR3EQU1CH;8位I/O空间基地址(它就是实验仪的基地址, 也为DMA & 32 BIT RAM板卡上的8237提供基地址) Vendor_IDEQU 10EBH;厂商ID号Device_IDEQU8376;设备ID号.STACK100.DATAIO_Bit8_BaseAddressDW?msg0DBBIOS不支持访问PCI $msg1DB找不到Star PCI9052板卡 $msg2DB读8位I/O空间基地址时出错$COM_ADDDW00F3H;控制口偏移

18、量PA_ADDDW00F0H;PA口偏移量PB_ADDDW00F1H;PB口偏移量PC_ADDDW00F2H;PC口偏移量.CODESTART:MOVAX,DATAMOVDS,AXNOPCALLInitPCICALLModifyAddress;根据PCI提供的基地址,将偏移地址转化为实地址MOV BX,OFFSET TAB;LED数码管的换码的偏移地址 MOV DX,COM_ADD ;8255初始化 MOV AX,90H OUT DX,AX ;A口输入,B口输出,C口低位输出,且都工作于方式0A1: MOV CX,0100H ;送一秒时间常数A2: MOV SI,OFFSET SECOND;读

19、入秒变量的偏移地址 MOV DX,PA_ADD IN AX,DX;从A口读取开关量 PUSH CX;保存时间常数 MOV AH,AL AND AH,0F0H CMP AH,70H ;判断是否修改时间 JA REM3 ;若等于0,不修改 CMP AH,00H JZ A3 CMP AH,10H JZ A4 CMP AH,20H JZ A6 CMP AH,30H JZ A7 CMP AH,40H JZ A9 CMP AH,50H JZ A11 CMP AH,60H JZ A13 JMP A14 A3:MOV AH,SI;修改秒位低位 AND AH,0F0H OR AL,AH MOV SI,AL JM

20、P D1 A4: MOV AH,SI;修改秒位高位 AND AH,0FH MOV CL,04H SHL AL,CL CMP AL,60H;若修改值在05之间才能修改 JB A5 JMP D1A5: OR AL,AH MOV SI,AL REM3:JMP D1A6: MOV AH,SI+1;修改分位低位 AND AH,0F0H AND AL,0FH;禁止显示 OR AL,AH MOV SI+1,AL JMP D1 A7: MOV AH,SI+1 ;修改分位高位 AND AH,0FH MOV CL,04H SHL AL,CL CMP AL,60H JB A8 ;若修改值在05之间才能修改 JMP

21、D1A8: OR AL,AH MOV SI+1,AL JMP D1 A9:MOV AH,SI+2 ;修改时位低位 AND AH,0F0H AND AL,0FH;禁止显示 CMP AL,40H JB A10 ;若修改值在03之间才能修改 JMP D1A10: OR AL,AH MOV SI+2,AL JMP D1 A11:MOV AH,SI+2 ;修改时位高位 AND AH,0FH MOV CL,04H SHL AL,CL CMP AL,30H JB A12 ;若修改值在02之间才能修改 JMP D1A12: OR AL,AH MOV SI+2,AL JMP D1 A13:MOV AH,SI+3

22、;修改日位低位 AND AH,0F0H AND AL,0FH;禁止显示 OR AL,AH MOV SI+3,AL JMP D1 A14:MOV AH,SI+3 AND AH,0FH MOV CL,04HSHL AL,CL OR AL,AH MOV SI+3,AL D1:MOV CX,0004H;分秒切换 MOV AH,0FEH ;位选码11111110 D2: MOV AL,SI;把时间常数放入AL中 AND AL,0FH ;取分/秒个位 PUSH CX MOV CX,0002H D3:XLAT ;换码 MOV DX,PB_ADD OUT DX,AL;送段选码 MOV AL,AH MOV DX

23、,PC_ADD OUT DX,AL;送位选码,显示低位 ROl AH,1 PUSH CX MOV CX,0FFFH;低位暂留时间 DELAY1:NOP NOP LOOP DELAY1;延时子程序 MOV AL,0FFH;位选码为11111111 OUT DX,AL ;禁止显示 MOV AL,SI SHR AL,04H POP CX LOOP D3 INC SI POP CX DEC CX JNZ D2 POP CX DEC CX MOV DX,PA_ADDJNZ REM2 IN AX,DX;从A口读取开关量 MOV AH,AL AND AH,80H CMP AH,80H ;判断是否修改时间 J

24、NZ REMMOD1:MOV SI,OFFSET SECOND ;计时 MOV AL,SI ADD AL,01H ;秒位加1 DAA;压缩BCD码调整指令 MOV SI,AL CMP AL,60H JNZ REM MOV AL,00H ;秒位置00,分位加1 MOV SI,AL MOV AL,SI+1 ADD AL,01H DAA MOV SI+1,AL CMP AL,60H JNZ REM MOV AL,00H MOV SI+1,AL MOV AL,SI+2 ADD AL,01H ;时位加1 DAA;压缩BCD码调整指令 MOV SI+2,AL CMP AL,24H JNZ REM MOV AL,00H ;时位置00,日位加1 MOV SI+2,AL MOV AL,SI+3 ADD AL,01H DAA MOV SI+3,AL CMP AL,30H JNZ REM MOV AL,00H MOV SI+3,AL ;重新计时 REM:JMP A1 REM2

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2