




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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=0MO
4、V 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号调用)开中断有键按下?秒值变否?是空格键
9、?显示时间值(DOS9号调用)取秒值关中断恢复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?日十位加一,日
10、个位清0日十位小于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 '-'
11、 MH DB '1' MONTH DB '2'DB '-' TEND DB '2' DATE DB '9' DB '-' TENH DB '2' HOUR DB '3:' TENM DB '5' MINUTE DB '9:' TENS DB '5' SECOND DB '5',0DH,'$'DATA ENDSCODE SEGMENTSTART PROC FAR ASSUME CS:CODE
12、,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,DATA ;建立数据段的可寻址性 MOV DS,AX MOV AX,0000H MOV ES,AX MOV DI,0020H ;ES:DS指向08中断向量存放地址 MOV AX,OFFSET TIMER STOSW ;写入偏移地
13、址 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,AL ;写IMR,只准许定时器和键盘中断 STIFOREVER: MOV DL,0FFH ;有按下键没有? MOV AH,06H INT 21HJZ DISP ;无按键情况下则转显示DISP CMP AL,20H ;是有
14、空格键吗? 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 ;改变则跳到FOREVER TET:CLI ;调整日期时间 PUSH AX MOV AH,01H INT 21H MOV YEAR,AL MOV AH,01H INT 21H MOV YEAR1,AL MOV AH,01H I
15、NT 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 TENH,ALMOV AH,01H INT 21H MOV HOUR,ALMOV AH,01H INT 21H MOV TENM,ALMOV AH,01H INT 21H MOV MINUTE,ALPOP
16、 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 AXSTOSWSTIRETTIMER PROC FAR ;中断服务程序 PUSH AXDEC COUNTJNZ L2 ;不到1秒L2MOV COUNT,100 ;到1秒,重置COUNT,并修改时间INC SEC
17、ONDCMP SECOND,'9'JLE TIMEXTMOV SECOND,'0'INC TENSCMP TENS,'6'JL TIMEXTMOV TENS,'0'INC MINUTECMP MINUTE,'9'JLE TIMEXTMOV MINUTE,'0'INC TENMCMP TENM,'6'JL TIMEXT MOV TENM,'0'JMP L3 L2: JMP TIMEXTL3: MOV AL,HOUR :取时个位,时十位,组合成BCD码AND AL,0FH
18、MOV Ah,TENHAND AH,0FHMOV CL,4ROL AH,CLOR AL,AHADD AL,1DAACMP AL,24JL L1MOV TENH,'0'MOV HOUR,'0'INC DATECMP DATE,'9'JLE TIMEXTMOV DATE,'0'INC TENDCMP TEND,'3'JL TIMEXTMOV TEND,'0'MOV DATE,'1'MOV AL,MONTH ; 取月个位,月十位,组合成BCD码AND AL,0FHMOV AH,MHAND
19、AH,0FHMOV CL,4ROL AH,CLOR AL,AHADD AL,1DAACMP AL,13JL L4MOV MH,'0'MOV MONTH,'1'INC YEAR3 CMP YEAR3,'9'JLE TIMEXTMOV YEAR3,'0'INC YEAR2CMP YEAR2,'9'JLE TIMEXTMOV YEAR2,'0'JMP TIMEXTL4: MOV AH,AL ;月个位,月十位转换位ASCII码,放回数据区AND AL,0FHOR AL,30HMOV MONTH,ALMOV
20、CL,4ROR AH,CLAND AH,0FHOR AH,30HMOV MH,AHJMP TIMEXTL1: MOV AH,AL ; 时个位,时十位转换位ASCII码,放回数据区AND AL,0FHOR AL,30HMOV 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. 微机原理与接口技术学习指导与实验
21、 电子工业出版社 蔡征宇 缪均达 编 1998.83. 新编微机原理与接口技术天津大学出版社 耿仁义主编 2006年9月4. 微机原理、汇编语言与接口技术中国水利水电出版社 唐瑞庭等编著 2006年5. 微型计算机原理与接口技术北京大学出版社 刘彦文等编著2006年6. 微型计算机原理与接口技术清华大学出版社 冯博琴 吴宇 主编 2007.87. 微机原理与接口技术(第2版)清华大学出版社 冯博琴 吴宁编著2008年3月四心得体会总结课程设计是培养学生综合运用所学知识去发现、分析和解决实际问题的能力,同时也是锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 这一次的微机原理课程设计历时一个星期,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国老鹰茶行业消费状况及竞争趋势研究报告
- 2025至2030中国矿用隔爆变压器行业经营效益与投资策略研究报告
- 2025至2030中国直链烷基苯(LAB)行业发展动态及投资盈利研究报告
- 2025至2030中国电木粉行业产销状况及投资效益研究报告
- 2025至2030中国珍珠岩保温板市场应用领域及销售渠道趋势报告
- 2025至2030中国牙科用3D面部扫描仪行业未来趋势与投资效益研究报告
- 2025至2030中国煤基活性炭市场供应渠道及前景动态研究报告
- 2025至2030中国灭蚊器行业销售趋势及需求规模研究报告
- 2025至2030中国溴化锶行业供需态势及未来趋势研究报告
- 2025至2030中国活性碳黑行业经营动态及应用趋势研究报告
- 钢结构工程施工组织设计完整版
- 《田间药效试验》课件
- 血常规报告单
- JJG 443-2023燃油加油机(试行)
- 国家开放大学-传感器与测试技术实验报告(实验成绩)
- 机械工业出版社2020《人工智能导论》课程第1章 绪论
- 教育教学实习教案幼儿园
- 大众电子助力转向EPS 双齿轮电动助力转向系统
- 【医院管理案例学习】-床单位终末消毒标准的执行
- 退化草地修复亲水性聚氨酯复合材料应用技术规范
- 暗挖格栅加工技术交底
评论
0/150
提交评论