




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学计算机科学与工程学院微机原理与汇编语言课程设计报告设计题目: 中断控制点阵显示与音乐模块 姓 名: 学 号: 专业班级: 系所中心: 指导老师: 起讫时间: 设计地点: 2016年8月20日摘 要使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。【关键词】 级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号目 录摘 要2第一章 课程设计21.1 目的和任务21.2 设计环境、设备与器材2第二章 设计内容和方案32.1 设计内容32.2 设计方案3第三章 课程设计相关原理简述3第四章 设计实现44.1 系统设计框架结构44.2 系统硬件设计44.3 系统软件设计64.4 程序流程图64.5 核心数据结构84.6 关键代码片段分析10第五章 设计验证105.1 验证步骤及结果105.2 数据分析105.3 遇到的问题及解决115.4 需要讨论的其它问题115.5 结论11第六章 设计总结12第七章 本课程教学建议13第八章 参考文献13第九章 附录:源代码13第一章 课程设计1.1 目的和任务使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。1.2 设计环境、设备与器材列出本次课程设计所用到的设备与器材,包括数量。n 设备:微机、唐都TD-PITE实验箱等。n 器材:i386芯片(内部已集成2片8259芯片)、16*16点阵显示模块、SPK音乐发声模块、8254芯片等。n 设计环境:计算机可正确运行TD-PITE实验箱配套的软件,计算机与实验箱接口通讯正常。第二章 设计内容和方案2.1 设计内容采用8086芯片控制8259中断,在一号中断响应图像显示,在二号中断中响应音乐发声。2.2 设计方案利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,开始响应预先编排好的音乐。因为采用了级联的中断,所以在一号中断上采用MIR7即主片8259芯片7号口,二号中断上采用SIR1即从片8259芯片1号口响应中断。第三章 课程设计相关原理简述按照本设计需求可将本设计大致划分为三大模块分别设计。第一模块即使用i386内集成的两片8259芯片进行级联的中断设计,使用了实验箱上开放的MIR7与SIR1两个接口。并且利用试验箱上的两个脉冲信号开关进行中断发生操作。第二模块则是在MIR7中断响应时完成图像显示功能。使用了16*16点阵来完成此操作,此点阵由4个8*8点阵构成,显示时采用自下而上滚动显示的方法,逐行刷新。第三模块是在SIR1中断响应时完成音乐发声功能。使用8254芯片方式3方波发生器对应扬声器达到响应音乐的目的。第四章 设计实现4.1 系统设计框架结构以8086CPU为主架构,其中添加两个由8259芯片控制的中断,第一个中断响应时实现图像显示功能,第二个中断响应时实现音乐发声功能。4.2 系统硬件设计中断模块硬件设计:图像显示模块硬件设计:音乐发声模块硬件设计:总体硬件连线:4.3 系统软件设计4.4 程序流程图整体程序流程图参照上方软件总体设计16*16液晶点阵显示程序流程图:音乐发声模块流程图:4.5 核心数据结构ROW1EQU 0600H;端口定义ROW2EQU 0640HCOL1EQU 0680HCOL2EQU 06C0HIOY3EQU 06C0HMY8254_COUNT0EQU IOY3+00H ;8254计数器0端口地址MY8254_COUNT1EQU IOY3+02H ;8254计数器1端口地址MY8254_COUNT2EQU IOY3+04H ;8254计数器2端口地址MY8254_MODEEQU IOY3+06H ;8254控制寄存器端口地址;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4;初始化从片8259 MOV AL, 11H OUT 0A0H, AL;ICW1 MOV AL, 30H OUT 0A1H, AL;ICW2 MOV AL, 02H OUT 0A1H, AL;ICW3 MOV AL, 01H OUT 0A1H, AL;ICW4 MOV AL, 0FDH OUT 0A1H,AL;OCW1 = 1111 11014.6 关键代码片段分析MOV AL,20HOUT 20H,AL中断结束的标志,通过在具体操作中放置位置的不同达到不同的效果第五章 设计验证5.1 验证步骤及结果无论按下哪个中断都会响应具体程序,不会表现出MIR7优先级大于SIR1优先级。在中断程序进行时,如果再次按下中断则该程序会重新进行。5.2 数据分析优先级考量如下:因为软件流程设计将两片8259初始化都放在了循环等待程序中,所以每次执行中断后都会进行一次初始化,这样的话实际上是每次对ICW4中的EOI位置进行一次置位,也就是说8259A只要向CPU发送了中断号就会将ISR中的相应位清零,这样一来实际表现出没有优先级即可以让两个中断相互抢优先级。5.3 遇到的问题及解决在16*16LED液晶点阵显示中,对于字模的取法是A51,横向取模字节倒序的方式,因为对其刷新方式及ROW1、ROW2、COW1、COW2表示的不理解,出现了反向显示,中心对称相反等等问题,现已解决。在中断控制中,因为对于中断的理解有误,在中断程序中使用了死循环,即LED点阵显示循环和音乐循环,导致中断不能正常进行,这是对于中断结构的不理解,在中断程序中不能有死循环,现已解决。5.4 需要讨论的其它问题 重点还是在于对于硬件设备的理解不够,通过实验时遇到具体问题去查资料到完成报告时,通过对问题的分析再一次详尽的阅读资料才对8259芯片的运作方式有了进一步的了解。5.5 结论 因为软件流程设计将两片8259初始化都放在了循环等待程序中,所以每次 执行中断后都会进行一次初始化,这样的话实际上是每次对ICW4中的EOI位置进行一次置位,也就是说8259A只要向CPU发送了中断号就会将ISR中的相应位清零,这样一来实际表现出没有优先级即可以让两个中断相互抢优先级。第六章 设计总结从本次设计中我体会到了计算机科学的精确性,尤其是由于我使用了汇 编语言,这就使得必须对于硬件本身的运作方式有一定的了解。从刚开始实验时对于8259芯片模糊的概念,到遇到问题时查询资料,再到设计完成时可以说对于8259的架构都不能说完全了解。最后到现在完成设计报告时又一次的阅读8259的运作方式才算是对这一个芯片有浅薄的了解。可以肯定的是汇编语言绝对是相对于其他,例如c语言之类语言而言,最适宜了解计算机的语言。因为想要达到最终设计目标你就必须去了解硬件的运作方式,一步一步都必须有所了解。否则即使作出了相应结果也无法从科学的角度进行精准的解释。但是也必须承认硬件架构是最麻烦最精准最不好学,当然也是最不可思议的设计。通过学习几十年前的硬件工程师设计出的芯片可以说窥一斑而知全豹,可以说无比佩服那些工程师精妙而万无一失的设计。尤其是基于现在去看几十年前的技术,会有无数资料还有网上很多有识之士的讲解,都可以说很难学习,可以想见真正前沿的没有多少资料的研究和学习是无比困难的。总而言之,要说体会的话就是计算机是一个精妙的设计,想要真的搞懂就得踏踏实实一点一点学习,但是这个东西经过这么多年的发展可以说太繁琐太复杂,又容不得一点模糊,实在是很难。第七章 本课程教学建议以后的话希望督促大家抓紧时间吧,前几周大家都会因为觉得还有时间而浪费大量宝贵的时间,到最后才觉得时间紧张,当然这是人性了。不能说真的改变,可以从要求前多少周必须拿出例如整体设计中一小部分的成果或者模块设计之类来让前几周的课程不至于过得浑浑噩噩。第八章 参考文献1 唐都仪器,唐都仪器微机原理接口实验指导 2 何小海微机原理与接口技术:科学出版社,2006:302-3153 8259A中断控制器,百度百科,2016.11.6http:/baike.baidu./link?url=bGP-QGFNyp3ak2rDcy5vqdPXQ0QojtBGtH2HVsqlNsWDSBH_78COklwsAgDV4sOWUUECj_sQMgBx7GOmigJ9-zd-ktsKVdpgBLV6QCrhcQHNvKdzWYdbAhgUACuelLw1第九章 附录:源代码;=; 文件名: A82593.ASM; 功能描述: 8259级联中断实验,中断源为主片8259的IR7,; 从片8259的IR1。从片8259通过主片8259的IR2; 进行级联。; 主片每产生一次中断进行16*16LED液晶点阵显示,从片; 每产生一次中断输出进行音乐发声模块响应。;=ROW1EQU 0600H;端口定义ROW2EQU 0640HCOL1EQU 0680HCOL2EQU 06C0HIOY3EQU 06C0HMY8254_COUNT0EQU IOY3+00H ;8254计数器0端口地址MY8254_COUNT1EQU IOY3+02H ;8254计数器1端口地址MY8254_COUNT2EQU IOY3+04H ;8254计数器2端口地址MY8254_MODEEQU IOY3+06H ;8254控制寄存器端口地址SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDS;定义为数据段INCLUDE DATA.ASM;数据字段为汉字点阵库和音乐文件, 在DATA.ASM;文件中CODE SEGMENT ASSUME CS:CODESTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断矢量地址MOV SI, AX;填IRQ7的偏移矢量MOV AX, CS;段地址MOV SI, 003EHMOV SI, AX;填IRQ7的段地址矢量MOV AX, OFFSET SIR1MOV SI, 00C4HMOV SI, AXMOV AX, CSMOV SI, 00C6HMOV SI, AXCLIPOP DS;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4;初始化从片8259 MOV AL, 11H OUT 0A0H, AL;ICW1 MOV AL, 30H OUT 0A1H, AL;ICW2 MOV AL, 02H OUT 0A1H, AL;ICW3 MOV AL, 01H OUT 0A1H, AL;ICW4 MOV AL, 0FDH OUT 0A1H,AL;OCW1 = 1111 1101MOV AL, 6BHOUT 21H, AL;主8259 OCW1STIAA1:NOPJMP AA1JMP AA1;*MIR7:STI PUSH DS CALL DELAY MOV AX, DATAMOV DS, AXMOV DX, ROW1MOV AL, 00HOUT DX, ALMOV DX, ROW2OUT DX, ALMOV AL, 0ffHMOV DX, COL1OUT DX, ALMOV DX, COL2OUT DX, ALBG0:MOV AX, 160MOV SI, OFFSET HZDOThtBG1:CALL DISPADD SI, 2DEC AX MOV AL, 20H OUT 20H, ALJZ BG0JMP BG1MOV AL, 20HOUT 20H, AL;中断结束命令STIPOP DSIRET;*SIR1:STI PUSH DS CALL DELAYMOV AX,DATAMOV DS,AXMOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;定时器0、方式3OUT DX,ALBEGIN:MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址MOV DI,OFFSET TIME_LIST ;装入时间表起始地址PLAY:MOV DX,0FH ;输入时钟为1MHz,1M = 0F4240H MOV AX,4240H DIV WORD PTR SI ;取出频率值计算计数初值,0F4240H / 输出频率 MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,DI ;取出演奏相对时间,调用延时子程序 CALL DALLYADD SI,2INC DI;CMP WORD PTR SI,0 ;判断是否到曲末?MOV AL, 20HOUT 0A0H, AL OUT 20H, ALJZ BEGINJMP PLAYSTIPOP DSIRETDALLYPROC ;延时子程序D0:MOV CX,0010HD1:MOV AX,0FF0HD2:DEC AXJNZ D2LOOP D1DEC DLJNZ D0RETDALLYENDPDELAY:PUSH CXMOV CX, 0F000HAA0:PUSH AXPOP AXLOOP AA0POP CXRET;=显示汉字子程序=;入口参数: SI = 存放汉字起始地址DISP:MOV CX, 000FHPUSH AXML0:PUSH CXMOV BL, 01HMOV CX, 0008HML1:MOV DX, ROW1;控制0-7行MOV AL, 00HOUT DX, ALMOV AL, SInot alMOV DX, COL1;0-7列OUT DX, ALINC SIMOV AL, SInot alMOV DX, COL2;8-15列OUT DX, ALINC SIMOV DX, ROW1;控制0-7行MOV AL, BLOUT DX, ALROL BL, 1CALL DELAY16LOOP ML1MOV DX, ROW1MOV AL, 00HOUT DX, ALMOV CX, 0008HML2:MOV DX, ROW2;控制8-15行MOV AL, 00HOUT DX, ALMOV AL, SInot alMOV DX, COL1;0-7列OUT DX, ALINC SIMOV AL, SInot alMOV DX, COL2;8-15列OUT DX, ALINC SIMOV DX, ROW2;控制8-15行MOV AL, BLOUT DX, ALROL BL, 1CALL DELAY16LOOP ML2MOV DX, ROW2MOV AL, 00HOUT DX, ALSUB SI, 32POP CXLOOP ML0POP AXRETDELAY16:PUSH CX;延时子程序MOV CX, 0100HDL1:PUSH AXPOP AXLOOP DL1POP CXRETCODEENDSEND START以下是DATA.ASM 即数据段;本文件为1616点阵中文字库文件,字的横向8点构成一字节,;左边点在字节的低位,字符点阵四角按左上角右上角左下;角右下角取字DATASEGMENT;西HZDOThtDB 000H,000H,0FFH,07FH,0FFH,07FH,060H,003HDB 060H,003H,0FEH,03FH,0FEH,03FH,066H,033HDB 066H,033H,036H,03FH,01EH,03EH,006H,030HDB 0FEH,03FH,0FEH,03FH,006H,030H,000H,000H;北DB 20H,02H,20H,02H,20H,02H,20H,22HDB 20H,72H,3EH,1AH,20H,06H,20H,02HDB 20H,02H,20H,02H,30H,02H,2CH,42HDB 27H,42H,22H,42H,20H,7CH,00H,00H;师DB 10H,00H,0D0H,7FH,12H,04H,12H,04HDB 0D2H,7FH,52H,44H,52H,44H,52H,44HDB 52H,44H,4AH,44H,4AH,54H,48H,24HDB 04H,04H,02H,04H,01H,04H,00H,04H;大DB 80H,00H,80H,00H,80H,00H,80H,00HDB 80H,00H,0FFH,7FH,80H,00H,40H,01HDB 40H,01H,40H,02H,20H,02H,20H,04HDB 10H,08H,08H,18H,04H,70H,02H,20H;汇DB 04H,00H,0C8H,3FH,48H,00H,40H,00HDB 42H,00H,54H,00H,54H,00H,50H,00HDB 48H,00H,48H,00H,4EH,00H,48H,00HDB 48H,00H,48H,00H,0C8H,7FH,08H,00H;编DB 08H,01H,18H,02H,0C4H,3FH,44H,20HDB 52H,20H,0DFH,3FH,48H,00H,0C4H,3FHDB 0DEH,2AH,0C0H,2AH,0A0H,3FH,0ACH,2AHDB 0A3H,2AH,90H,2AH,88H,30H,00H,00H;设DB 02H,00H,84H,0FH,8CH,08H,84H,08HDB 80H,08H,80H,08H,47H,70H,0A4H,1FHDB 84H,10H,84H,10H,04H,09H,04H,09HDB 14H,06H,0CH,09H,0C4H,70H,30H,20H;计DB 02H,04H,04H,04H,0CH,04H,04H,04HDB 00H,04H,0CFH,7FH,08H,04H,08H,04HDB 08H,04H,08H,04H,08H,04H,48H,04HDB 28H,04H,18H,04H,08H,04H,00H,04H;李DB 80H,00H,80H,00H,0FEH,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年互联网运营总监专业水平检测试题及答案解析
- 2025年村级档案员招聘笔试模拟测试题
- 课件中使用图表的目的
- 小学英语长元音教学课件
- 2025年农业合作社财务专员面试模拟题
- 2025年宠物针灸治疗总结面试题及答案
- 数学可爱的小猫教学课件
- 2025年市级文化馆招聘面试模拟题及答案
- 2025年电梯安全使用题集
- 2025年资产管理面试题及参考答案
- 2025至2030中国公路养护行业项目调研及市场前景预测评估报告
- 人教版九年级上册历史期末复习知识点考点背诵提纲详细版
- 护理人员行为规范
- 2025版安全生产法全文
- 2025年中国护腰垫数据监测报告
- 2025年中远海运集团招聘笔试备考题库(带答案详解)
- 新教师职业素养提升培训
- 2025至2030中国工业混合式步进电机行业发展趋势分析与未来投资战略咨询研究报告
- 小学生课件藏文版下载
- 委托协议承办会议协议书
- 养生馆转让协议书
评论
0/150
提交评论