微机原理与汇编语言课程设计报告_第1页
微机原理与汇编语言课程设计报告_第2页
微机原理与汇编语言课程设计报告_第3页
微机原理与汇编语言课程设计报告_第4页
微机原理与汇编语言课程设计报告_第5页
已阅读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设计环境、设备与器材列出本次课程设计所用到的设备与器材,包括数量。设备:微机、唐都 TD-PITE实验箱等。器材:i386芯片(内部已集成2片8259芯片)、16*16点阵显示模块、SPK音乐发声模块、8254芯片等。设计环境:计算机可正确运行 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核心数据结构ROW1EQU0600H ;端口定义ROW2EQU0640HCOL1EQU0680HCOL2EQU06C0HIOY3 EQU06C0HMY8254_COUNT0 EQUIOY3+00H ;8254计数器0端口地址.精选MY8254_COUNT1 EQUIOY3+02H ;8254计数器1端口地址MY8254_COUNT2 EQUIOY3+04H ;8254计数器2端口地址MY8254_MODE EQUIOY3+06H ;8254控制寄存器端口地址;初始化主片8259MOVAL,11HOUT20H,AL ;ICW1MOVAL,08HOUT21H,AL ;ICW2MOVAL,04HOUT21H,AL ;ICW3MOVAL,01HOUT21H,AL ;ICW4;初始化从片8259MOVAL,11HOUT0A0H,AL ;ICW1MOVAL,30HOUT0A1H,AL ;ICW2.精选MOVAL,02HOUT0A1H,AL ;ICW3MOVAL,01HOUT0A1H,AL ;ICW4MOVAL,0FDHOUT0A1H,AL ;OCW1=111111014.6关键代码片段分析MOVAL,20HOUT20H,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中断控制器,百度百科, http://baike.baidu../link?url=bGP-QGFNyp3ak2rDcy5vqdPXQ0QojtBGtH2HVsqlNsWDSBH_78COklwsAgDV4sOWUUECj_sQMgBx7GOmigJ9-zd-ktsKVdpgBLV6QCrhcQHNvKdzWYdbAhgUACuelLw1第九章 附录:源代码;=========================================================.精选;文件名:A82593.ASM;功能描述:8259级联中断实验,中断源为主片 8259的IR7,; 从片8259的IR1。从片8259通过主片8259的IR2; 进行级联。; 主片每产生一次中断进行 16*16LED液晶点阵显示,从片;每产生一次中断输出进行音乐发声模块响应。;=========================================================ROW1 EQU0600H ;端口定义ROW2 EQU0640HCOL1EQU0680HCOL2EQU06C0HIOY3 EQU06C0HMY8254_COUNT0EQUIOY3+00H;8254计数器0端口地址MY8254_COUNT1EQUIOY3+02H;8254计数器1端口地址MY8254_COUNT2EQUIOY3+04H;8254计数器2端口地址MY8254_MODEEQUIOY3+06H;8254控制寄存器端口地址SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDS.精选;定义为数据段INCLUDEDATA.ASM ;数据字段为汉字点阵库和音乐文件,在DATA.ASM;文件中CODE SEGMENTASSUMECS:CODESTART:PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETMIR7 ;取中断入口地址MOVSI,003CH ;中断矢量地址MOV[SI],AX ;填IRQ7的偏移矢量MOVAX,CS ;段地址MOVSI,003EHMOV[SI],AX ;填IRQ7的段地址矢量MOVAX,OFFSETSIR1MOVSI,00C4HMOV[SI],AX.精选MOVAX,CSMOVSI,00C6HMOV[SI],AXCLIPOPDS;初始化主片8259MOVAL,11HOUT20H,AL ;ICW1MOVAL,08HOUT21H,AL ;ICW2MOVAL,04HOUT21H,AL ;ICW3MOVAL,01HOUT21H,AL ;ICW4;初始化从片8259MOVAL,11HOUT0A0H,AL ;ICW1MOVAL,30HOUT0A1H,AL ;ICW2MOVAL,02HOUT0A1H,AL ;ICW3.精选MOVAL,01HOUT0A1H,AL ;ICW4MOVAL,0FDHOUT0A1H,AL ;OCW1=11111101MOVAL,6BHOUT21H,AL ;主8259OCW1STIAA1:NOPJMPAA1JMPAA1;******************************MIR7:STIPUSHDSCALLDELAYMOVAX,DATAMOVDS,AXMOVDX,ROW1MOVAL,00H.精选OUTDX,ALMOVDX,ROW2OUTDX,ALMOVAL,0ffHMOVDX,COL1OUTDX,ALMOVDX,COL2OUTDX,ALBG0:MOVAX,160MOVSI,OFFSETHZDOThtBG1:CALLDISPADDSI,2DECAXMOVAL,20HOUT20H,ALJZBG0JMPBG1MOVAL,20HOUT20H,AL ;中断结束命令.精选STIPOPDSIRET;*******************************SIR1:STIPUSHDSCALLDELAYMOVAX,DATAMOVDS,AXMOVDX,MY8254_MODE ;初始化8254工作方式MOVAL,36H ;定时器0、方式3OUTDX,ALBEGIN: MOVSI,OFFSETFREQ_LIST ;装入频率表起始地址MOVDI,OFFSETTIME_LIST ;装入时间表起始地址PLAY:MOVDX,0FH ;输入时钟为1MHz,1M=0F4240H.精选MOVAX,4240HDIVWORDPTR[SI] ;取出频率值计算计数初值,0F4240H/ 输出频率MOVDX,MY8254_COUNT0OUTDX,AL ;装入计数初值MOVAL,AHOUTDX,ALMOVDL,[DI] ;取出演奏相对时间,调用延时子程序CALLDALLYADDSI,2INCDI;CMPWORDPTR[SI],0 ;判断是否到曲末?MOVAL,20HOUT0A0H,ALOUT20H,ALJZBEGINJMP PLAY.精选STIPOPDSIRETDALLY PROC ;延时子程序D0: MOVCX,0010HD1: MOVAX,0FF0HD2: DECAXJNZD2LOOPD1DECDLJNZD0RETDALLY ENDPDELAY:PUSHCXMOVCX,0F000HAA0:PUSHAXPOP AX.精选LOOPAA0POPCXRET;======显示汉字子程序======;入口参数:SI=存放汉字起始地址DISP:MOVCX,000FHPUSHAXML0:PUSHCXMOVBL,01HMOVCX,0008HML1:MOVDX,ROW1;控制0--7行MOVAL,00HOUTDX,ALMOVAL,[SI]notalMOVDX,COL1;0--7列OUTDX,ALINCSIMOVAL,[SI]notalMOVDX,COL2;8--15列.精选OUTDX,ALINCSIMOVDX,ROW1 ;控制0--7行MOVAL,BLOUTDX,ALROLBL,1CALLDELAY16LOOPML1MOVDX,ROW1MOVAL,00HOUTDX,ALMOVCX,0008HML2:MOVDX,ROW2 ;控制8--15行MOVAL,00HOUTDX,ALMOVAL,[SI]notalMOVDX,COL1 ;0--7列OUTDX,ALINCSIMOVAL,[SI].精选notalMOVDX,COL2 ;8--15列OUTDX,ALINCSIMOVDX,ROW2 ;控制8--15行MOVAL,BLOUTDX,ALROLBL,1CALLDELAY16LOOPML2MOVDX,ROW2MOVAL,00HOUTDX,ALSUBSI,32POPCXLOOPML0POPAXRETDELAY16: PUSHCX ;延时子程序MOVCX,0100HDL1:PUSHAX.精选POPAXLOOPDL1POPCXRETCODE ENDSEND START以下是DATA.ASM即数据段;本文件为16×16点阵中文字库文件,字的横向8点构成一字节,;左边点在字节的低位,字符点阵四角按左上角→右上角→左下;角→右下角取字DATA SEGMENT;西HZDOThtDB000H,000H,0FFH,07FH,0FFH,07FH,060H,003HDB060H,003H,0FEH,03FH,0FEH,03FH,066H,033HDB066H,033H,036H,03FH,01EH,03EH,006H,030HDB0FEH,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,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论