版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..东华大学微机原理实验__电气 ____东华大学信息学院硬件实验部分一、综合设计实验部分一、设计要求参考基础实验的实验1~实验5所使用的硬件和范例程序,设计一个简单的红绿灯控制系统,用LED1~LED4表示两组红绿灯,每组红灯、绿灯各1只。要求实现以下功能:<1>红绿灯的定时切换〔每10秒切换一次<2>设置灯光测试开关K1,当K1打开〔高电平时,LED1~LED4全亮,关闭时恢复正常切换。提示:<1>定时功能可利用8253实现,利用定时器输出作为中断申请,利用中断处理切换LED的显示;LED状态可用内存保存或用I/O口读取。<2>测试功能运行可在主循环中通过I/O口读取开关状态后判定,或利用中断处理方式运行。二、报告要求:1外围芯片信号连接原理图〔与CPU连接部分可省略2程序的流程图、源代码和源代码行中必要的注释3调试中遇到的问题和解决方法三、程序源代码及流程框图:assumecs:codecodesegmentpublicorg100hst: movdx,04c0h;74LS244地址inal,dx;读输入开关量movdx,04d0h;74LS273地址outdx,al;输出至LEdtestal,18hjnestartjmpststart:mov dx,04b6h ;控制寄存器 mov ax,36h ;计数器0,方式3 out dx,ax mov dx,04b0h mov ax,7Ch out dx,ax mov ax,92h out dx,ax ;计数值927Cmov dx,04b6hmov ax,0b6h ;计数器2,方式3out dx,axmov dx,04b4hmov ax,90hout dx,axmovax,01 out dx,axnext:nopstart1: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设置为A口输入,B口输出,c口输出 out dx,ax movdx,04c0h;74LS244地址inal,dx;读输入开关量testal,18hjeststart2: mov dx,04a0h;A口地址 in ax,dx ;输入 mov dx,04a2h ;B口地址 out dx,ax ;输出movdx,04a4h ;c口地址notax out dx,ax ;输出movdx,04c0h;74LS244地址inal,dx;读输入开关量testal,18hjest jmp start2jmpnextcode endsend st四:解决问题及原理图二、基础实验部分实验1存储器读写实验一、实验设备微机实验箱、8086CPU模块。二、实验步骤和要求1、实验接线:本实验无需接线。2、编写调试程序3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。三、思考题源程序代码及流程框图codesegment assumecs:code org0100hstart: movax,0100h movds,ax ;数据段地址 moves,ax movsi,1000h ;偏移地址 movcx,010h ;循环次数 moval,0intram: mov[si],al incsi loopintram;清零 movsi,1000h ;设置断点处 movcx,10h movdi,0fil: movax,dimov[si],al;RAM区循环置数incdi incsi loopfil nop ;设置断点处 jmpstartcodeendsendstart思考题:单步执行到"intram"标号的语句时,ds寄存器的数据是什么?采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据是什么?执行到第二个断点处,2000H~200FH内存单元的数据是什么?并根据观察结果和对源程序的判读简述源程序的运行效果。2、修改程序,实现从2000H到200FH单元依次赋值00H~0FH的功能。解决问题:刚开始,没有注意将循环次数改掉,CX依旧弄成了100H,后来弄成010H,正好和要求一样。之后的目标单元置数是正确的,符合要求。实验2简单I/O口扩展实验实验设备微机实验箱、8086CPU模块。二、实验步骤1、实验接线:<表示相互连接>CS2CS244;CS3CS273;平推开关的输出K1~K8IN0~IN7〔对应连接;O0~O7LED1~LED8。2、编辑程序,单步运行,调试程序3、调试通过后,全速运行程序,观看实验结果。4、编写实验报告。三、思考题源程序代码及流程框图assumecs:codecodesegmentpublicorg100hstart: movdx,04c0h;74LS244地址inal,dx;读输入开关量movdx,04d0h;74LS273地址outdx,al;输出至LEDjmpstartcodeendsendstart四、思考题:将74LS244的片选信号CS244改接CS2,将74LS273的片选信号CS273改接CS3,修改程序实现与范例程序相同的功能。解决问题:这个思考题修改没出什么问题,就是把信号改接的位置换了一下,编程序时,将地址改一下,就成功了。实验38255并行口实验一、实验设备微机实验箱、8086CPU模块。二、实验步骤1、实验接线CS2CS8255;PA0~PA7平推开关的输出K1~K8;PB0~PB7发光二极管的输入LED1~LED8。2、编程并全速或单步运行。3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于H时,对应的发光二极管点亮,置于L时熄灭。三、思考题源程序代码及流程框图assumecs:code codesegmentpublic org100hstart: mov dx,04c6h ;控制寄存器地址 mov ax,90h ;设置为A口输入,B口输出 out dx,ax start1: mov dx,04c0h ;A口地址 in ax,dx ;输入xorax,0ffffh mov dx,04c2h ;B口地址 out dx,ax ;输出 jmp start1code endsend start四、思考题:1、修改接线CS2CS8255,并要求开关置"H"<下>位置时对应LED亮,修改程序实现相应功能。解决问题:和第二个实验一样,将CS8255的接线地址换一下,没出问题。但我和搭档在之后的取反时弄错了,弄成了00000H,后来实验结果不对,想了一下,发现这个有错误,就改成了0ffffH。结果对了。实验48253定时器/计数器接口实验一、实验设备微机实验箱、8086CPU模块、示波器。二、实验步骤1、实验连线:CS1CS8253OUT08253CLK2OUT2LED1OUT1LED2CLK38253CLK0,CLK38253CLK12、编程调试程序3、全速运行,观察实验结果三、思考题源程序代码及流程框图assumecs:codecodesegmentpublicorg100hstart: mov dx,04b6h ;控制寄存器 mov ax,36h ;计数器0,方式3 out dx,ax mov dx,04b0h mov ax,7Ch out dx,ax mov ax,92h out dx,ax ;计数值927Ch mov dx,04b6h mov ax,76h ;计数器1,方式3 out dx,ax mov dx,04b2hmov ax,32hout dx,axmov ax,0 ;计数值32hout dx,axmov dx,04b6hmov ax,0b6h ;计数器2,方式3out dx,axmov dx,04b4hmov ax,50hout dx,axmov ax,0 ;计数值50hout dx,axnext: nop jmp nextcodeendsendstart四、思考题:为什么说范例程序运行时LED1闪烁周期的理论值是0.2秒?在范例程序设置LED2的最大闪烁周期是多少?请分析说明。修改片选信号接线使CS1和CS8253连接,并要求LED1的闪烁周期变为4秒〔亮2秒,灭2秒,修改程序实现功能。解决问题:依旧将CS8253的接线地址改一下,没出问题,然后将T2的数值弄成之前的20倍。结果正确。实验58259中断控制器实验一、实验设备微机实验箱、8086CPU模块。二、实验步骤1、实验接线CS0CS8259CS3CS273O0~O3LED1~LED4K1~K3IR0~IR2INTINT<8086CPU板>INTAINTA〔8086CPU板IR3P+2、编译调试程序3、全速运行程序,拨动某一电平开关,观察LED的亮灭情况。"且按Pules"键时LED1~LED4全亮。三、思考题源程序代码及流程框图assumecs:code codesegmentpublic org100hstart: mov cx,0start1: cli mov dx,04a0h mov ax,13h out dx,ax ;ICW1,ICW4NEEDED mov dx,04a2h mov ax,80h out dx,ax ;ICW2中断类型80h mov ax,01h;01 out dx,ax ;ICW4 mov ax,00h out dx,ax ;OCW1,开放所有中断 nop ;以上为8259初始化 mov ax,0 mov ds,ax mov di,200h ;初始化中断向量表 mov ax,offsetint0 mov ds:[di],ax add di,2 mov ds:[di],100h add di,2 mov ax,offsetint1 mov ds:[di],ax add di,2 mov ds:[di],100h add di,2 mov ax,offsetint2 mov ds:[di],ax add di,2 mov ds:[di],100h add di,2 mov ax,offsetint3 mov ds:[di],ax add di,2;上述程序为芯片8259的初始化程序 mov ds:[di],100h;建议不熟练者不要修改。main: mov ax,0 sti ;开中断。waiting: cmp ax,0h je waiting ;没发生中断,则等待 nop nopmovdx,04d0h out dx,ax ;对应LED灯亮 mov cx,0delay: loop
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 插画养花课程设计
- 接话回话技巧课程设计
- 接收机课程设计
- 接合管课程设计
- 亲子乐园营销策略解析
- 企业复工:疫情防控与安全生产
- 探索太空课程设计方案
- H型高血压的预防措施
- 东营市房地产市场营销策略研究
- 互联网安全资金控制办法
- 小班语言《会响的小路》课件
- 中移动首届算力网络大赛考试题库(含答案)
- 专题09 作文(北京专用)(解析版)-备战2023-2024学年八年级语文上学期期中真题分类汇编
- 第八单元(单元解读)【要点梳理+拓展延伸】四年级语文下册部编版
- 二年级上美术教案-我家的菜蓝子-岭南版
- 创新教育2024年培养创新思维的新方式
- 政府审计4版刘三昌习题参考答案
- 辅警业务培训课件
- 数字化、智能化车间规划与建设
- 美容整形贷款合同
- 事故隐患报告举报奖励制度培训
评论
0/150
提交评论