微机原理与接口综合设计(19页).doc

上传人:1595****071 文档编号:36317602 上传时间:2022-08-26 格式:DOC 页数:19 大小:164KB
返回 下载 相关 举报
微机原理与接口综合设计(19页).doc_第1页
第1页 / 共19页
微机原理与接口综合设计(19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《微机原理与接口综合设计(19页).doc》由会员分享,可在线阅读,更多相关《微机原理与接口综合设计(19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、- 学 生 实 训 设 计 报 告 设计题目: 时钟控制系统设计 院 别: 专 业: 班 级: 姓 名: 学 号: 指导教师: 教务处制 二零一零年七月二日课程名称:微机原理与接口综合设计 课程代码: 09402707 实训周数: 1 学 分: 1 实训单位: 机电学院 实训地点: 机电学院 实训时间: 2010-6-28至2010-7-2 设计说明书目录一.课程设计任务与要求3二.课程设计过程31.中断程序设计32. 8259A中断屏蔽与恢复43. 8253初始化程序设计54.中断服务程序的编写55. DOS功能调用56.时间调整模块设计67.硬件电路图6三.软件思想71.主流程图82.时间

2、显示流程图93.日期显示流程图10附录A:源程序及程序注释11参考文献17四.心得体会总结18时钟控制系统设计一、课程设计任务与要求1.设计一个时钟,可以显示时、分、秒、日、月、年,并可以调整。2.利用PC系列微机现有的硬件和软件资源,编写程序,使在CRT屏幕上显示XXXX年XX月:XX日:(时):(分):(秒),并且每秒钟更新一次显示。3.编写程序,利用主机内的8253/8254-2的计数器0产生10ms对称方波输出,该输出送至IRQ0使8259A每10ms产生一次中断,100次中断后秒量+1,然后调整年、月、日、时、分、秒并显示在屏幕上。程序从按下任意键开始显示数据区中存放的时间值,运行中

3、按下空格键则停止运行返回DOS。4.调整程序,直至运行正常。二、课程设计过程1. 中断程序设计(1)IBM PC/XT系统板上使用了一片8253-5,其地址4043H,其中0通道工作于方式3,每55ms向中断控制器8259A的IRQ端发一次中断请求。此定时中断的用途之一是系统报时。现在借用原有电路,重新设置定时器、编写服务程序来做硬件时钟实验,为此程序开始应首先保护原系统的08H中断的中断向量(中断服务程序入口地址),以便程序退出时恢复原系统的设置。保护原系统08H中断矢量可用DOS 35H功能调用读出加以适当保存,也可以用以下指令,将中断矢量压入堆栈保存。CLI ;关中断CLD ;DF=0M

4、OV AX,0000HMOV DS,AX ;DS:SI指向08中断矢量在中断矢量表中的位置MOV SI,0020HLODSWMOV BX,AX ;BX=原中断服务入口偏移地址LODSW :AX=原中断服务程序入口地址PUSH AX ;压栈保护PUSH BX(2)将现中断服务程序入口地址填入中断矢量表中除了可用DOS 25H功能调用外也可使用以下指令。MOV AX,0000HMOV ES,AXMOV DI,0020H;ES:DI指向08H中断矢量在中断矢量表中的存放位置MOV AX,OFFSET TIMERSTOSW;写入中断服务程序的偏移地址MOV AX,SEG TIMERSTOSW ;写入中

5、断服务程序的段地址2. 8259A中断屏蔽与恢复借用系统用的08H中断还应注意保护原8259A的中断屏蔽寄存器内容。读或写8259A的奇地址可以得到和改写IMR寄存器的内容。执行IN AL,21HPUSH AX两条指令可以得到IMR的值并压入堆栈保护。执行MOV AL,0FCHOUT 21H,AL两条指令又可以重写IMR,使之只开放时钟和键盘的中断。在程序退出前又应恢复IMR值。用POP AXOUT 21H,AL指令可以将原压堆栈保护的IMR值重新写入中断屏蔽寄存器。3. 8253初始化程序设计 MOV AL,00110110B ;8253初始化,0通道,工作方式3,采用二进制 OUT 43H

6、,AL MOV AX,11932 ;初值=11932 OUT 40H,AL MOV AL,AH OUT 40H,AL4.中断服务程序的编写中断服务程序主要完成秒,分,时的调整并重写入数据区中。中断服务程序中所用寄存器如与主程序有冲突,应该在中断服务程序一开始用压栈指令保护主程序中寄存器内容,中断返回前用出栈指令恢复此内容。注意,先压入的寄存器应该后弹出。最后在中断返回前还应向8259A发中断结束命令,使8259A内的在服务寄存器中的相应位复位;MOV AL,20HOUT 20H,AL5.有关字符输入的DOS功能调用直接控制台输入输出(DOS6号功能调用)调用格式;MOV DL,X MOV AH

7、,06H INT 21H功能;从控制台(或键盘)输入或向屏幕输出字符。本设计在程序运行过程中检测是否按下空格键或C键,按下空格键则停止运行返回DOS,按下C键则转到调整时间程序。不按键则显示时间。 FOREVER: MOV DL,0FFH ;有键按下么? MOV AH,06H INT 21HJZ DISP ;无按键下则转显示DISP CMP AL,20H ;是有空格键么? JZ EXIT ;是则退出 CMP AL,C ;是有C键么? JZ TET ;是则调整时间DISP: LEA DX,YEAR ;不是则显示时间 MOV AH,09H INT 21H 6. 时间调整模块设计 当程序运行过程中,

8、若有C键按下,则关掉中断,设置好日期时间后打开中断TET:CLI ;调整日期时间 PUSH AX MOV AH,01H INT 21H MOV YEAR,AL POP AXSTIJMP FOREVER 7. 硬件电路图三、软件思想主流程图和中断服务程序流程图1. 程序主流程图2. 时间显示流程图3. 日期显示流程图N等待键按下取原8H中断矢量并压栈保护建立数据段的可寻址性装载现中断服务程序8253初始化长生10MS的方波,10MS中断一次保护原8259A 的IMR(中断屏蔽寄存器)内容重写IMR,只开放时钟和键盘中断检测键盘(DOS6号调用)开中断有键按下?秒值变否?是空格键?显示时间值(DO

9、S9号调用)取秒值关中断恢复IMR重新设置8253.,55MS中断一次回复原中断矢量关中断返回DOSYNY3.1主流程图YNNNNNNYYYYYY发EOI中断结束命令中断返回COUNT-1送COUNT秒量加一COUNT=0?秒十位加一,秒个位清0秒个位小于=9?秒十位小于6?分个位加一,秒十位清0分个位小于9?分个位清0,分十位加1分十位小于6?取时个位,时十位均清0,日个位加1时+1取时个位,时十位,组合成BCD码时小于24?时个位,时十位转换位ASCII码,放回数据区,结束中断3.2 时间显示流程图分十位清0NNNN发EOI中断结束命令中断返回日个位小于9?日十位加一,日个位清0日十位小于

10、3?日十位清0取月个位,月十位,组合成BCD码日个位+1月小于12?月+1取月个位1,月十位清0年个位加1年个位小于9?年个位清0,年十位加1月个位,月十位转换位ASCII码,放回数据区YYYY3.3 日期显示流程图附录A:源程序及程序注释PAGE 60,78STACK SEGMENT DB 256 DUP(0) STACK ENDSDATA SEGMENT COUNT DB 100 YEAR DB 2 YEAR1 DB 0 YEAR2 DB 0 YEAR3 DB 9 DB - MH DB 1 MONTH DB 2DB - TEND DB 2 DATE DB 9 DB - TENH DB 2

11、HOUR DB 3: TENM DB 5 MINUTE DB 9: TENS DB 5 SECOND DB 5,0DH,$DATA ENDSCODE SEGMENTSTART PROC FAR ASSUME CS:CODE,DS:DATA MOV AX,0 PUSH AX MOV AH,01H ;等待按键按下 INT 21H CLI CLD MOV AX,0 MOV DS,AX MOV SI,0020H ;DS:SI指向08H中断向量 LODSW ;取08中断入口的偏移地址 MOV BX,AX LODSW ;取08中断入口段地址 PUSH AX ;压栈保护 PUSH BX MOV AX,DAT

12、A ;建立数据段的可寻址性 MOV DS,AX MOV AX,0000H MOV ES,AX MOV DI,0020H ;ES:DS指向08中断向量存放地址 MOV AX,OFFSET TIMER STOSW ;写入偏移地址 MOV AX,CS STOSW ;写入段地址 MOV AL,00110110B ;8253初始化,0通道,3方式,HEX OUT 43H,AL MOV AX,11932 ; 将11932赋给AX初值 OUT 40H,AL MOV AL,AH OUT 40H,AL IN AL,21H ;读8259的中段屏蔽寄存器IMR PUSH AX MOV AL,0FCH OUT 21H

13、,AL ;写IMR,只准许定时器和键盘中断 STIFOREVER: MOV DL,0FFH ;有按下键没有? MOV AH,06H INT 21HJZ DISP ;无按键情况下则转显示DISP CMP AL,20H ;是有空格键吗? JZ EXIT ;是则退出 CMP AL,C ;是有C键吗? JZ TET ;是则调整时间DISP: LEA DX,YEAR ;不是则显示时间 MOV AH,09H INT 21H MOV AL,SECOND ;取秒单位值WAITCHA: CMP AL,SECOND ;改变否? JZ WAITCHA ;没改变则等待 JMP FOREVER ;改变则跳到FOREVE

14、R TET:CLI ;调整日期时间 PUSH AX MOV AH,01H INT 21H MOV YEAR,AL MOV AH,01H INT 21H MOV YEAR1,AL MOV AH,01H INT 21H MOV YEAR2,AL MOV AH,01H INT 21H MOV YEAR3,AL MOV AH,01H INT 21H MOV MH,AL MOV AH,01H INT 21H MOV MONTH,AL MOV AH,01H INT 21H MOV TEND,AL MOV AH,01H INT 21H MOV DATE,AL MOV AH,01H INT 21H MOV T

15、ENH,ALMOV AH,01H INT 21H MOV HOUR,ALMOV AH,01H INT 21H MOV TENM,ALMOV AH,01H INT 21H MOV MINUTE,ALPOP AXSTIJMP FOREVER EXIT: CLI ;有空格键按下则退出 CLD POP AX OUT 21H,AL ;恢复IMR MOV AL,36H ;8253初始化,55MS OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL MOV AX,0 ;恢复08H中断的中断向量 MOV ES,AX MOV DI,4*8 POP AX STOSWPOP AXST

16、OSWSTIRETTIMER PROC FAR ;中断服务程序 PUSH AXDEC COUNTJNZ L2 ;不到1秒L2MOV COUNT,100 ;到1秒,重置COUNT,并修改时间INC SECONDCMP SECOND,9JLE TIMEXTMOV SECOND,0INC TENSCMP TENS,6JL TIMEXTMOV TENS,0INC MINUTECMP MINUTE,9JLE TIMEXTMOV MINUTE,0INC TENMCMP TENM,6JL TIMEXT MOV TENM,0JMP L3 L2: JMP TIMEXTL3: MOV AL,HOUR :取时个位,

17、时十位,组合成BCD码AND AL,0FHMOV Ah,TENHAND AH,0FHMOV CL,4ROL AH,CLOR AL,AHADD AL,1DAACMP AL,24JL L1MOV TENH,0MOV HOUR,0INC DATECMP DATE,9JLE TIMEXTMOV DATE,0INC TENDCMP TEND,3JL TIMEXTMOV TEND,0MOV DATE,1MOV AL,MONTH ; 取月个位,月十位,组合成BCD码AND AL,0FHMOV AH,MHAND AH,0FHMOV CL,4ROL AH,CLOR AL,AHADD AL,1DAACMP AL,

18、13JL L4MOV MH,0MOV MONTH,1INC YEAR3 CMP YEAR3,9JLE TIMEXTMOV YEAR3,0INC YEAR2CMP YEAR2,9JLE TIMEXTMOV YEAR2,0JMP TIMEXTL4: MOV AH,AL ;月个位,月十位转换位ASCII码,放回数据区AND AL,0FHOR AL,30HMOV MONTH,ALMOV CL,4ROR AH,CLAND AH,0FHOR AH,30HMOV MH,AHJMP TIMEXTL1: MOV AH,AL ; 时个位,时十位转换位ASCII码,放回数据区AND AL,0FHOR AL,30HM

19、OV HOUR,ALMOV CL,4ROR AH,CLAND AH,0FHOR AH,30HMOV TENH,AHTIMEXT:MOV AL,20HOUT 20H,ALPOP AXIRETTIMER ENDPSTART ENDPCODE ENDS END START参考文献1. 微型计算机系统原理及应用 清华大学出版社 杨素行等编著1995年2. 微机原理与接口技术学习指导与实验 电子工业出版社 蔡征宇 缪均达 编 1998.83. 新编微机原理与接口技术天津大学出版社 耿仁义主编 2006年9月4. 微机原理、汇编语言与接口技术中国水利水电出版社 唐瑞庭等编著 2006年5. 微型计算机原理

20、与接口技术北京大学出版社 刘彦文等编著2006年6. 微型计算机原理与接口技术清华大学出版社 冯博琴 吴宇 主编 2007.87. 微机原理与接口技术(第2版)清华大学出版社 冯博琴 吴宁编著2008年3月四心得体会总结课程设计是培养学生综合运用所学知识去发现、分析和解决实际问题的能力,同时也是锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 这一次的微机原理课程设计历时一个星期,在这整整一个星期里,基本上也都是在忙碌中渡过,在设计过程中一开始还是挺茫然的,尤其是找资料一点也不容易,当然,经过了苦苦的查找之后得出的结果肯定是苦中带着甜的,另外在正式开始过程中,我们需要考虑许多

21、的问题,时不时都要上网查找资料,对此,我们虽然觉得麻烦,但也学到了不少的东西,同时巩固了以前所学过的知识,更包括到自己之前忽略的知识点。先前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,但经过了这次的课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,或者是一个片段,但是在课程设计中要设计一个完整的程序,碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们能够很直视的明白我将要做什么,以及我们证处在哪个位置上,从而使我们有明确的目

22、标,也让我们的工作效率有所提高,不至于设计到后面就忘记了前面的,而且在程序测试的过程中也有利于查错。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计在老师的指导下,同学的帮助下终于完成了。实训指导教师评语成绩评定: 指导教师(签名): 2010年 7月 4 日-第 19 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁