首页 微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc

微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc

举报
开通vip

微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc 1 目 录 一、课程设计目的 ??????????????????????????????????????????????????????????????????????????????????????????????????? 2 二、课程设计任务 ????????????????????????????????????????????????????????????????? 错误~未定义书签。2 1、内容 ??...

微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc
微机原理与接口技术课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实验报告1_电子时钟,汇编,8253+8255+8259.doc 1 目 录 一、课程设计目的 ??????????????????????????????????????????????????????????????????????????????????????????????????? 2 二、课程设计任务 ????????????????????????????????????????????????????????????????? 错误~未定义书签。2 1、内容 ????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2 2、要求 ????????????????????????????????????????????????????????????????????????????????????????????????????????????? 3 3、设计环境 ?????????????????????????????????????????????????????????????????????????????????????????????????????? 3 4、设计所用设备 ?????????????????????????????????????????????????????????????????????????????????????????????? 3 三、设计所用芯片结构 ??????????????????????????????????????????????????????????????????????????????????????????? 4 1、8259A芯片的内部结构及引脚 ??????????????????????????????????????????????????????????????????? 4 2、8254芯片的内部结构及引脚 ?????????????????????????????????????????????????????????????????????? 5 3、8255芯片的内部结构及引脚 ?????????????????????????????????????????????????????????????????????? 5 四、具体模块设计 ??????????????????????????????????????????????????????????????????????????????????????????????????? 7 1、概述 ????????????????????????????????????????????????????????????????????????????????????????????????????????????? 7 2、主程序模块 ?????????????????????????????????????????????????????????????????????????????????????????????????? 7 3、小键盘模块 ?????????????????????????????????????????????????????????????????????????????????????????????????? 8 4、显示模块 ?????????????????????????????????????????????????????????????????????????????????????????????????????? 9 5、定时模块 ?????????????????????????????????????????????????????????????????????????????????????????????????????? 9 五、程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图 ????????????????????????????????????????????????????????????????????????????????????????????????????? 10 主程序流程图: ????????????????????????????????????????????????????????????????????????????????????????????? 10 键盘扫描程序流程图:(KEY) ??????????????????????????????????????????????????????????????????? 12 中断处理程序流程图: ?????????????????????????????????????????????????????????????????????????????????? 12 六、心得体会????????????????????????????????????????????????????????????????????????????????????????????????????????? 13 附录一:参考书目 ????????????????????????????????????????????????????????????????????????????????????????????????? 14 附录二:部分源代码 ????????????????????????????????????????????????????????????????????????????????????????????? 14 2 一、课程设计目的和意义 通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、开发环境及设备 ?设计环境 PC机一台、windows XP系统、实验箱、导线若干。 ?设计所用设备 8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。 8255并口:用做接口芯片,和小键盘相连。 8259中断控制器:用于产生中断。 LED:六个LED用于显示时:分:秒值。 小键盘:用于控制设置。 三、设计思想与原理 1、设计思想 本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。即每隔20ms,8254的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。 其中8259只需初始化ICW1,其功能是向8259 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。 2、设计原理 3 利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。 1、内容 利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。 电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 2、要求 本实验要求设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。 基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。 C键:置初值,显示00:00:00 G键:显示动态变化(启动表); D键:显示静态不变(表停止); E键:终止程序,返回DOS; P键:设置时:分:秒的值 3、设计环境 PC机一台、windows XP系统、实验箱,导线若干。 4、设计所用设备 8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。 8255并口:用做接口芯片,和小键盘相连。 8259中断控制器:用于产生中断。 4 LED:六个LED用于显示时:分:秒值。 小键盘:用于控制设置。 三、设计所用芯片结构 1、8259A芯片的内部结构及引脚 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。 8259引脚图如图3.3,各引脚功能如下。 D7~D0——八条双向数据线; WR(低电平有效)——写输入信号; RD(低电平有效)——读输入信号; CS(低电平有效)——片选输入信号; A0——地址信号; INT——中断请求信号; INTA(低电平有效)——中断响应信号; CAS0~CAS2——级联信号,形成一条专用8259A总线, 以便多片8259A的级联; SP/EN——从编程/允许级联。在缓冲方式中,可用做图3.1 8259A引脚图 输出信号以控制总线缓冲器的接收和发送。在非缓冲 方式中,作为输入信号用于表示主片还是从片; IR0~IR7——外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。 8259中断矢量地址与中断信号之间的关系如表3.1所示: 表3.1 8259A中断矢量表 中断序号 0 1 2 3 4 5 6 7 功能调用 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 5 矢量地址 20H 24H 28H 2CH 30H 34H 38H 3CH ~ ~ ~ ~ ~ ~ ~ ~ 23H 27H 2BH 2FH 33H 37H 3BH 3FH 说明 时钟 键盘 可用 可用 串行口 可用 可用 可用 2、8255芯片的内部结构及引脚 8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作: 方式0—基本输入/输出方式 方式1—选通输入/输出方式 方式2—双向选通输入/输出方式 8255引脚图如图3.2示,各引脚功能如下。 D7~D0——与CPU侧连接的八条双向数据线; WR(低电平有效)——写输入信号; RD(低电平有效)——读输入信号; CS(低电平有效)——片选输入信号; A0、A1——片内寄存器选择输入信号; PA7~PA0——A口外设双向数据线; PB7~PB0——B口外设双向数据线; 图3.2 8255引脚图 PC7~PC0——C口外设双向数据线; RESET——复位输入信号 2、8255端口地址 表3.2 8255端口地址表 信号线 寄存器 编址 60H A口 61H B口 IOY3 62H C口 63H 控制寄存器 3、8254芯片的内部结构及引脚 6 8254可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。 8254的功能用途是: (1) 延时中断 (2) 可编程频率发生器 (3) 事件计数器 (4) 二进倍频器 (5) 实时时钟 (6) 数字单稳 (7) 复杂的电机控制器 8254有六种工作方式: (1) 方式0:计数结束中断 (2) 方式1:可编程频率发生器 (3) 方式2:频率发生器 (4) 方式3:方波频率发生器 (5) 方式4:软件触发的选通信号 (6)方式5:硬件触发的选通信号 8254引脚图如图3.3示,各引脚功能如下。 D7~D0——八条双向数据线; WR(低电平有效)——写输入信号; RD(低电平有效)——读输入信号; CS(低电平有效)——片选输入信号; A0、A1——片内寄存器地址输入信号; CLK——计数输入,用于输入定时基准脉冲或计数脉冲; OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形; GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。 2、8254端口地址 表3.3 8254端口地址表 7 信号线 寄存器 编址 0#计数器 40H 1#计数器 41H IOY2 2#计数器 42H 控制寄存器 43H 四、具体模块设计 1、概述 本系统设计的电子钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉 ,8254的OUT0端就会输出一个负脉冲的信号,此信号接冲信号。即每隔20ms 8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。 系统框图如下: 显示模块 小键盘模块 小键盘 六个LED 8255A 显键 示盘 缓读 冲入 的的 值数 主控模块 中断模块 秒脉冲 定时模块 8259 8254 图一 系统框图 2、主程序模块 8 主控模块是系的核心模块,对8254、8255A进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返回DOS。 3、小键盘模块 小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。本课题只考虑去抖动。执行一个约10ms的延时程序后再扫描键盘,若F0=1表示真正有键按下,从而消除了抖动影响。 实现代码如下: KEY ROC NEAR ROL AH,1 PUSH CX DEC CL KST: MOV AL,82H JNZ SCAN1 MOV DX,P55CTL JMP KST OUT DX,AL KEYN: PUSH AX MOV AL,00H MOV DX,PB55 MOV DX,PA55 RELEA: IN AL,DX OUT DX,AL OR AL,0F8H MOV DX,PB55 CMP AL,0FFH IN AL,DX JNZ RELEA OR AL,0F8H POP AX CMP AL,0FFH NOT AX JZ DELAY MOV SI,OFFSET TABLE MOV CX,0300H MOV DI,OFFSET CHAR DLY: LOOP DLY MOV CX,24 MOV CL,08H TT: CMP AX,[SI] MOV AH,0FEH JZ NN SCAN1: MOV DX,PA55 DEC CX MOV AL,AH JZ KST OUT DX,AL ADD SI,02 MOV DX,PB55 INC DI IN AL,DX JMP TT OR AL,0F8H NN: MOV DL,[DI] CMP AL,0FFH MOV [CHAR1],DL JNZ KEYN MOV AH,02H 9 INT 21H JMP KST POP CX YANG: RET JMP YANG KEY ENDP DELAY: CALL DISPLY 4、显示模块 显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。 实现代码如下: DISPLAY PROC NEAR MOV AL,CL MOV CX,77FFH MOV DX,PORTBIT LED52: CALL DISUP OUT DX,AL LOOP LED52 MOV BX,35H DISUP: PUSH CX DELAY1: DEC BX MOV DI,OFFSET MIN1 JNZ DELAY1 MOV CL,01 CMP CL,20H DISUP1: MOV AL,0 JZ DISUP2 MOV DX,PORTBIT INC DI OUT DX,AL SHL CL,1 MOV AL,[DI] JMP DISUP1 MOV BX,OFFSET LED DISUP2: POP CX XLAT RET MOV DX,PORTSEG DISPLAY ENDP OUT DX,AL 5、定时模块 定时模块是为8259提供中断请求信号的。由一片8254实现,选用定 时器0#,工作在方式3,由4时钟应该1秒走动一次,所以输出值应为1S, 其输出信号可作为8259的中断请求信号。 6、中断处理模块 中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒 一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显 示时间增加一秒,从而达到动态显示的效果。 7、按如下接线图连接好试验箱上的芯片引脚, 主要用到器件有 8255,8254,LED,8259,小键盘。8254的片选接地址208-20F,OUT1,OUT0接 灯(测试用),GATE0,GATE1接+5V,CLK1接8259的IRQ2,CLK0接,12(12 分频)。 10 8255的片选接地址218-21F,实验箱已将其和小键盘相连。 LED的片选接地址210-217。 8259 CLK1 8254 IR2 CLK0 CS OUT1 OUT0 GATE1 GATE0 +5V 8MHz 208-20F 210-217 218-21F A B LS393 CS ,个,,, Q4 CS , PB2 , , 小键盘 。 , 。。。。。 。PA0 图二 试验接线图 五、程序流程图 主程序流程图: 11 开始 8254A作为中断源产生20MS脉冲 设置堆栈 显示提示信息 用INT21H35H号功能保存系统中8259A原中断向量 用INT21H35H号功能设置0A中断新的中断向量,指向年,月,日加1 的中断处理程序 置8259A的IMR第2位为0,允许IRQ2中断 调用键扫描子程序(KEY),键号的ASCII码在[CHAR1]单元中 Y 是C键码, 调用C键处理子程序 N Y 是G键码, 调用G键处理子程序 N Y 调用D键处理子程序 是D键码? N Y 调用P键处理子程序 是P键码? N N 是E键码? Y 用INT21H35H号功能恢复原中断向量 开中断 返回DOS 图一 主程序流程图 12 键盘扫描程序流程图:(KEY) 开始 置8255A控制字,A口为输出,B口为输入 A口全输出低电平,从B口读入数据 KKKKK , 列线全为高电平吗 , 保存列值,延时取抖动 置8255控制字,A口为输入,B口为输出 往B口输出保存的列值 从,口读入行值 和键表比较 , 是否找到匹配键 , 显示输入的字符 置8255A控制字,A口为输出,B口为输入 A口全输出低电平,从B口读入 , 键释放了吗, , 返回 中断处理程序流程图: 13 开始 开中断 , 秒个位加一 秒个位小于, , 秒个位清零,秒十位加一 , 秒十位小于, , 秒十位清零,分个位加一 , 分个位小于, , 分个位清零,分十位加一 , 分十位小于, , 分十位清零,时个位加一 时十位小于, , , , 时个位小于, 时个位小于, , , 时个位清零,时十位加一 时个位清零,时十位清零 发中断结束命令,中断返回 六、心得体会 14 附录一:参考书目 1、戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社,2003 2、周明德编著.微型计算机系统原理及应用(第四版).北京:清华大学出 ,2002 版社 3、李顺增,吴国东,赵河明等.微机原理及接口技术.北京:机械工业出版社,2006 4、杨立新.微型计算机原理和应用[M].北京:科学技术文献出版社,1986.11 5、李大友.微型计算机原理[M].北京:清华大学出版社,1998.7 6、眭碧霞.微型计算机原理与组成[M].人民邮电出版社,2003.8 附录二:部分源代码
本文档为【微机原理与接口技术课程设计实验报告1_电子时钟,汇编,8253+8255+8259.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_026874
暂无简介~
格式:doc
大小:74KB
软件:Word
页数:19
分类:生活休闲
上传时间:2018-01-08
浏览量:141