




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理课程设计报告-电子秒表 沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:微机系统综合课程设计课程设计题目:电子秒表 院(系):计算机学院 专 业:计算机科学与技术 班 级:04010101 学 号:20 姓 名: 指导教师:訾学博 完成日期:2013年7月5日目 录第1章 总体设计方案11.1 课程设计的内容和要求11.2 设计原理11.3 设计思路21.4 实验环境2第2章 详细设计方案32.1 主程序设计32.2功能模块的设计与实现42.3程序连线图6第3章 结果测试及分析73.1 结果测试73.2 结果分析7参考文献8附录9第1章 总体设计方案1.1 课程设计的内容和要求一、课程设计内容: 设计一个带时间显示的电子秒表,具体内容如下:电子秒表的初始状态为零,分别显示分、秒、毫秒;设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。二、课程设计要求:独立完成课程设计任务;通过老师当场验收;交出完整的课程设计报告。1.2 设计原理 根据课程设计任务书的内容与要求,要设计一个带时间显示的电子秒表,设计一个按钮带有计时开始、计时暂停、计时清零功能,还要可以进行时钟显示。在本次设计中主要使用了8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成电子秒表的计时过程和时钟显示过程的模拟。程序开始时扫描键盘判断是否按键,如有则读出相应的控制键,来决定做什么操作,例如开始计时、暂停计时、停止计时、时钟显示等等。 利用8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将秒表的计时过程、时钟的当前时间显示在数码管上。1.3 设计思路 采用汇编语言程序结合硬件电路设计方法,利用AEDK实验箱上已有芯片来实现一个带时间显示的电子秒表(包括开始计时、暂停计时、停止计时、时钟显示等等)。(1) 提出方案 首先,实现电子秒表的计时功能;其次,通过一个按钮实现电子秒表的开始计时、暂停计时、停止计时的功能;再次,通过一个按钮实现秒表显示和时钟显示切换的功能;最后,要实现秒表的运行和停止与时钟运行的互不影响。(2) 方案论证 为了完成电子秒表的计时功能,可以应用8253定时/计数器芯片,设定计数器0工作在模式3,由于本实验要求计时周期为10毫秒,故可以利用8253实现分频功能,使其产生100HZ的方波。并且利用8259产生中断响应每10毫秒产生一次中断,使计数器加1,实现秒表计数。并当秒表达到最大值时,即59分59秒990毫秒,将秒表重新初始化;当时钟达到最大值时,即23时59分59秒,将时钟重新初始化 为通过一个按钮实现电子秒表的开始计时、暂停计时、停止计时的功能,可以利用8279键盘/显示芯片来读入键值,再设置num来计数,以便来区分开始计时、暂停计时、停止计时。 为通过一个按钮实现秒表显示和时钟显示切换的功能,可以利用8279键盘/显示芯片来读入键值,再设置n来区分是秒表显示、还是时钟显示。 为实现秒表的运行和停止与时钟运行的互不影响,设置flag来区分是秒表运行、还是秒表停止,在中断中判断秒表是否运行。1.4 实验环境 ?硬件环境:AEDK实验箱,PC机。 ?软件环境:LCA88ET应用软件。第2章 详细设计方案2.1 主程序设计 主程序流程图如图2.1所示。 图2.1 主程序流程图功能模块的设计与实现 对8253、8259、8279各个芯片进行初始化,并将中断服务程序装入中断向量表。利用8253定时/计数器芯片产生100HZ的方波,使8259每10毫秒产生一次中断,使秒表加1,实现计时功能利用8279的键盘输入功能输入控制键,利用显示功能,秒表或时钟显示在七段数码管上。(1)芯片初始化模块的设计与实现 对8253、8259、8279等芯片进行初始化,并将中断服务程序装入中断向量表。流程图如下所示: 图2.2 芯片初始化流程图(2)功能实现模块的设计与实现 利用8253定时/计数器芯片产生100HZ的方波,使8259每10毫秒产生一次中断,使秒表加1,实现计时功能利用8279的键盘输入功能输入控制键,利用显示功能,秒表或时钟显示在七段数码管上。 程序中所需定义的内存单元含义如下: disbufm:秒表的时间值; disbufh:时钟的时间值; tab: 存放能在数码管上显示0-9的十六进制码; flag: 标志是计时运行0还是计时停止1; flag1: 标志是秒表未达最大值0还是秒表达最大值1; flag2: 标志是时钟未达最大值0还是时钟达最大值1; n:标志是秒表显示0还是时钟显示(1; num:标志是第几次按下A键。 程序中所需的秒表的各个功能键定义如下: A:,按第一次时秒表开始计时,按第二次时秒表计时暂停按第三次时秒表计时停止,回到初始态; B:切换键,进行秒表显示和时钟显示的切换。 1清屏子程序的实现 在清屏时所显示的状态与秒表在初始状态一样,即00-00-00,数码管显示如图2.3所示。 图2.3 清屏图 在清屏子程序中,修改disbufm或disbufh中的值,使分、秒、十毫秒或时、分、秒每位都为零。 秒表清屏子程序: begin1: ;秒表初始化 mov byte ptrdi,0 mov byte ptrdi+1,0 mov byte ptrdi+3,0 mov byte ptrdi+4,0 mov byte ptrdi+6,0 mov byte ptrdi+7,0 ret 2中断服务子程序 在中断服务子程序中实现了秒表的计时和显示与时钟的计时和显示功能,每当8259进入中断后,都要修改disbufh或disbufm和disbufh中所存的时间信息,再对disbufh或disbufm中每一位的值与最大值进行比较,若达到最大值(秒表达到最大值59-59-99,时钟达到最大值23-59-59)将disbufh或disbufm进行初始化,最后要通过8279将disbufm或disbufh中所存的时间信息显示一遍。程序连线图 程序连线图如图2.4所示。 307200HZ 200-207 VCC210-217 注: 8279键盘/显示芯片自带 220-227有小键盘及8位数码管图2.4程序连线图 第3章 结果测试及分析3.1 结果测试 测试结果如下:(1)时钟以时、分、秒形式显示时间,显示时间如XX-XX-XX;(2)电子秒表的初始状态为零,分别显示分、秒、10毫秒,显示00-00-00;(3)按A键开始秒表计时,显示时间如XX-XX-XX;(4)再按一次A键秒表暂停计时,显示秒表暂停时的时间;(5)第三次按A键时秒表计时器清零,显示00-00-00;(6)按B键时实现秒表显示和时钟显示的切换。3.2 结果分析 对于上述的运行结果和操作过程,已经达到了课程设计任务书中的要求。秒表的初始状态为零,分别显示分、秒、10毫秒;按钮A,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;按钮B,实现秒表显示和时钟显示的切换,当不用电子秒表的功能时,可以显示当先的时间,分别为时、分、秒形式。参考文献1龚尚福.微机原理与接口技术 M 西安: 西安电子科技大学出版社, 20032沈美明,温冬婵.IBM-PC汇编语言程序设计M 北京: 清华大学出版社, 20013张雪兰.汇编语言程序设计 M 北京: 清华大学出版社, 20064王爱英.计算机组成与设计 M 北京:教育出版社, 20035王忠民.微型计算机原理 M 西安: 西安电子科技大学出版社, 2003附录code segmentassumecs:codemain:jmpstartdisbufmdb0,0,0ah,0,0,0ah,0,0;秒表初值disbufhdb2,3,0ah,5,9,0ah,5,8 ,0,0 ;时钟初值flag db1flag1 db 0flag2 db 0num db0ndb1start: movax,8100hmovds,axcli;关中断call i8279call i8259call i8253call s1sti;开中断key: a:mov dx,222h;是否有键读入inal,dxand al,0fhjz amov al,40hout dx,almov dx,220hinal,dxcmpal,0ahjzstajmpchangesta: ;startcmpnum,0jnzpaumov flag,0movnum,1jmpkeypau: ;pausecmpnum,1jnzclemovflag,1movnum,2jmpkeycle: ;clearmov di,offset disbufmcall begin1movnum,0jmpkeychange: ;changecmpal,0bh jnzkeycmp n,0jzchange1mov n,0jmp keychange1: mov n,1jmpkey i8279: moval,0d2h;8279A初始化220-227 movdx,222houtdx,al mov al,0out dx,alreti8253: moval,36h ;8253A初始化200-207movdx,203h outdx,almovax,0c00hmovdx,200houtdx,almov al,ahoutdx,alreti8259: moval,13h ;8259A初始化210-217movdx,210houtdx,almoval,30hmovdx,211houtdx,almoval,03houtdx,almoval,0feh;中断IR0outdx,alretbegin1: ;秒表初始化mov byte ptrdi,0mov byte ptrdi+1,0mov byte ptrdi+3,0mov byte ptrdi+4,0mov byte ptrdi+6,0mov byte ptrdi+7,0retbegin2: ;时钟初始化mov byte ptrdi,0mov byte ptrdi+1,0mov byte ptrdi+3,0mov byte ptrdi+4,0mov byte ptrdi+6,0mov byte ptrdi+7,0mov byte ptrdi+8,0mov byte ptrdi+9,0ret s1: ;中断向量的装入push dspush bxxorax,axmovds,axmovbx,30h*4movax,offset intrmovbx,axmovax,8100hmovbx+2,axpopbxpopdsret intr: ;中断push axpushdipushdxmov si,offset disbufmmov di,offset disbufhcmp flag,0jnzr ;秒表计时cmp byte ptrsi+7,9jzc1inc byte ptrsi+7jmp r c1:mov byte ptrsi+7,0cmp byte ptrsi+6,9jzc2inc byte ptrsi+6jmp r c2:mov byte ptrsi+6,0cmp byte ptrsi+4,9jzc3inc byte ptrsi+4jmp r c3:mov byte ptrsi+4,0cmp byte ptrsi+3,5jzc4inc byte ptrsi+3jmp r c4:mov byte ptrsi+3,0cmp byte ptrsi+1,9jzc5inc byte ptrsi+1jmp r c5:mov byte ptrsi+1,0inc byte ptrsi ;时钟计时 r:cmp byte ptrdi+9,9jzr1inc byte ptrdi+9jmp isend r1: mov byte ptrdi+9,0cmp byte ptrdi+8,9jzr2inc byte ptrdi+8jmp isendr2:mov byte ptrdi+8,0cmp byte ptrdi+7,9jzr3inc byte ptrdi+7jmp isend r3:mov byte ptrdi+7,0cmp byte ptrdi+6,5jzr4inc byte ptrdi+6jmp isend r4:mov byte ptrdi+6,0cmp byte ptrdi+4,9jzr5inc byte ptrdi+4jmp isend r5:mov byte ptrdi+4,0cmp byte ptrdi+3,5jzr6inc byte ptrdi+3jmp isend r6:mov byte ptrdi+3,0cmp byte ptrdi+1,9jzr7inc byte ptrdi+1jmp isend r7:mov byte ptrdi+1,0inc byte ptrdiisend: cmp flag,0jnz isend1;秒表是否到最大值cmp byte ptrsi,5jnz displaycmp byte ptrsi+1,9jnz displaycmp byte ptrsi+3,5jnz displaycmp byte ptrsi+4,9jnz displaycmp byte ptrsi+6,9jnz displaycmp byte ptrsi+7,9jnz displaymov flag1,1;时钟是否到最大值isend1: cmp byte ptrdi,2jnz displaycmp byte ptrdi+1,3jnz displaycmp byte ptrdi+3,5jnz displaycmp byte ptrdi+4,9jnz displaycmp byte ptrdi+6,5jnz displaycmp byte ptrdi+7,9jnz displaycmp byte ptrdi+8,9jnz displaycmp byte ptrdi+9,9jnz displaymov flag2,1display:;显示mov bx,offset tabcmp n,0jnz hmov si,offset disbufmjmp h1 h:mov si,offset disbufh h1: add si,7mov al,90hmov dx,222hout dx,almov cx,8dis:mov al,sixlatmov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业服务效率提升方案范本
- 饲料生产过程中的风险评估与控制-洞察及研究
- 2025年康复医学治疗方案设计考核答案及解析
- 市政土石方施工工艺及质量控制方案
- 2025年学历类自考市场信息学-生产与作业管理参考题库含答案解析(5卷)
- 2025年学历类自考大学语文-现代管理学参考题库含答案解析(5卷)
- 工业自动化项目合作开发合同协议
- 2025年学历类自考合同法-生产与作业管理参考题库含答案解析(5卷)
- 2025年精神科学抑郁症辅助治疗方案考核答案及解析
- 分布式光伏项目投资协议书
- 2025年格力中央空调销售安装合同范本
- 学好普通话课件
- 养殖场防鸟培训课件内容
- 钢板桩支护工程监理细则
- 新雨香沁项目外墙清洗高处坠落应急预案
- 婚内财产分割协议书模板
- 食品行业采购管理流程及实施细则
- 中华民族共同体概论知到课后答案智慧树章节测试答案2025年春丽水学院
- 2025年新版小学语文新课标标准课件
- 胖东来超市收银培训
- 汇率风险管理政策研究-深度研究
评论
0/150
提交评论