最新上海大学微机实践报告13.docx
- 文档编号:28308549
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:17
- 大小:676.97KB
最新上海大学微机实践报告13.docx
《最新上海大学微机实践报告13.docx》由会员分享,可在线阅读,更多相关《最新上海大学微机实践报告13.docx(17页珍藏版)》请在冰豆网上搜索。
最新上海大学微机实践报告13
上海大学微机实践报告
实验一:
开关状态显示
【实验目的】
熟悉实验箱和软件开发平台的使用。
了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。
【实验内容】
利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。
【实验区域电路连接图】
参考上图连线:
Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。
【程序框图】
【编程】
CODESEGMENT
ASSUMECS:
CODE
ORG1200H
START:
MOVDX,8000H
INAL,DX
TESTAL,01H
JNZY1/测试AL是否等于01H,若不等于,则跳入循环Y1/
TESTAL,02H
JNZY2/测试AL是否等于02H,若不等于,则跳入循环Y2/
MOVDX,9000H
MOVAL,0FFH/点亮所有的灯/
OUTDX,AL
JMPSTART
Y1:
TESTAL,02H
JNZY3/测试AL是否等于02H,若不等于,则跳入循环Y3/
MOVDX,9000H
MOVAL,0AAH/点亮奇数号灯/
OUTDX,AL
JMPSTART
Y2:
MOVDX,9000H
MOVAL,55H/点亮偶数号灯/
OUTDX,AL
JMPSTART
Y3:
MOVDX,9000H
MOVAL,00H/所有灯全灭/
OUTDX,AL
JMPSTART
CODEENDS
ENDSTART
【问答题】
1、I/O端口的寻址方式有哪2种?
在x86系统中,采用哪一种?
解:
I/O端口的寻址方式有:
一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。
在x86系统中,采用I/O地址与存储器地址分别独立编址。
2、在输入/输出电路中,为什么常常要使用锁存器和缓冲器?
解:
输入/输出按方式分为程序控制和DMA两类,程序控制方式又分为同步方式、异步方式和中断方式。
在程序控制方式中,同步方式的软件编程和硬件实现都十分简单,当需要时,就可以直接在需要输入/输出的地方写输入/输出指令。
异步方式由于需要根据状态信息进行输入/输出操作,就需要增加必要的“握手”信号电路,程序设计也要包括对状态信息的判断,根据状态信息再决定是继续等待还是将信息读入或输出。
中断方式在程序控制输入/输出方式中比较复杂,需要有中断控制器等硬件电路和接口芯片,程序也包括了中断处理程序来完成计算机输入、输出。
DMA是另一类输入/输出方式,在进行输入/输出时,不需要CPU直接参加操作,而仅是将总线空出给DMA控制器使用。
当然,DMA方式要求的硬件电路更加复杂。
其优点是响应速度快,缺点是需要增加硬件电路。
【心得体会】
通过本次试验的操作,我熟悉了试验箱和软件开发平台的使用,也了解到了智能芯片接口8255的端口配置方法,掌握了编程和调试基本技能,加深了对课堂上理论知识的学习,将理论与实践动手相结合,更好的掌握了知识的全面性。
实验二模拟交通灯实验
【实验目的】
1.学习在PC机系统中扩展简单I/O接口的方法。
2.进一步学习编制数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
【实验内容】
用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。
【实验区域电路连接图】
PC0→L3;PC1→L7;PC2→L11;PC3→L15;红灯
PC4→L2;PC5→L6;PC6→L10;PC7→L14;绿灯
PB4→L1;PB5→L5;PB6→L9;PB7→L13。
黄灯
8255数据、控制线内部已线连好。
【程序框图】
【编程】
CODESEGMENT
ASSUMECS:
CODE
ORG1200H
PORTAEQU0FF28H
PORTBEQU0FF29H
PORTCEQU0FF2AH
PORTCNEQU0FF2BH
START:
MOVDX,PORTCN
MOVAL,80H
OUTDX,AL
MOVDX,PORTB
MOVAL,0F0H
OUTDX,AL/黄灯熄灭/
MOVDX,PORTC
MOVAL,0F0H
OUTDX,AL/绿灯熄灭,红灯点亮/
CALLDELAY1/延时1/
MOVDX,PORTC
MOVAL,0A5H
OUTDX,AL/1、3路口绿灯亮,2、4路口红灯亮/
CALLDELAY3/延时3/
MOVDX,PORTC
MOVAL,0F5H
OUTDX,AL/1、3绿灯熄灭(2、4红灯亮)/
MOVCX,8
LOOP1:
MOVDX,PORTB
MOVAL,0A0H
OUTDX,AL/1、3黄灯亮/
MOVDX,PORTC
MOVAL,0F5H
OUTDX,AL/绿灯全灭,2、4红灯亮/
CALLDELAY2/延时2/
MOVDX,PORTB
MOVAL,0FFH
OUTDX,AL/黄灯全部灭/
CALLDELAY2
DECCX
JNZLOOP1
MOVDX,PORTB
MOVAL,0F0H
OUTDX,AL/黄灯全灭/
MOVDX,PORTC
MOVAL,0F0H
OUTDX,AL/绿灯熄灭,红灯点亮/
CALLDELAY1/延时1/
MOVDX,PORTC
MOVAL,5AH
OUTDX,AL/1、3红灯亮,2、4绿灯亮/
MOVDX,PORTB
MOVAL,0F0H
OUTDX,AL/黄灯全灭/
CALLDELAY3/延时3/
MOVDX,PORTC
MOVAL,0FAH
OUTDX,AL/2、4绿灯灭(1、3红灯亮)/
MOVCX,8
LOOP2:
MOVDX,PORTB
MOVAL,50H
OUTDX,AL/2、4黄灯亮/
MOVDX,PORTC
MOVAL,0FAH
OUTDX,AL/1、3红灯亮,绿灯全灭/
CALLDELAY2/延时2/
MOVDX,PORTB
MOVAL,0FFH
OUTDX,AL/黄灯全灭/
CALLDELAY2
DECCX
JNZLOOP2
JMPSTART
DELAY1:
MOVAX,5H
MOVBX,0H
X:
DECBX
JNZX
DECAX
JNZX
RET
DELAY2:
MOVAX,1H
MOVBX,0H
Y:
DECBX
JNZY
DECAX
JNZY
RET
DELAY3:
MOVAX,20H
MOVBX,0H
Z:
DECBX
JNZZ
DECAX
JNZZ
RET
CODEENDS
ENDSTART
【问答题】
1、8255A的哪个端口能实现位操作控制(按位置位/复位)?
执行控制字写入操作的端口是哪个?
解:
8255A的C端口能实现位操作控制(按位置位/复位),执行控制字写入操作的端口是命令字端口。
2、写出下图中Intel8255A占用的4个端口地址。
解:
FFF0H、FFF2H、FFF4H、FFF6H。
【心得体会】
本实验是模拟交通灯工作的实验,通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。
在实验中不但要满足题目所提出的要求,更要结合实际,考虑到现实问题,比如说绿灯时间要比红灯时间长。
通过本次实验,不仅再次熟悉了8255A,更是对自己编程技术一个很好的锻炼。
实验三:
8253定时器/计数器实验
【实验目的】
1.学会8253芯片与微机接口的原理和方法;
2.掌握8253定时器/计数器的工作原理和编程方法。
【实验内容】
编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。
1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对;
2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对;
3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。
【实验区域电路连接图】
CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;
GATE0→+5V;GATE1→+5V+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟元)
【程序框图】
【编程】
(最终实验效果程序)
CODESEGMENT
ASSUMECS:
CODE
ORG1000H
START:
MOVDX,43H;写8253控制字
MOVAL,00110101B;计数器0,选16位(先低后高),方式2,
OUTDX,AL;BCD码计数
MOVDX,40H;计数器0
MOVAL,00H;送初值,低8位
OUTDX,AL
MOVAL,05H;送初值,高8位
OUTDX,AL
MOVDX,43H;写8253控制字
MOVAL,01110111B;计数器1,选16位(先低后高),方式3,
OUTDX,AL;BCD码计数
MOVDX,41H;计数器1
MOVAL,00H;送初值,低8位
OUTDX,AL
MOVAL,10H;送初值,高8位
OUTDX,AL
JMP$
CODEENDS
ENDSTART
如要用二进制计数,则修改控制字最后一位为0,并修改相应初值。
问题二:
注释和一基本相同
CODESEGMENT
ASSUMECS:
CODE
ORG1000H
START:
MOVDX,43H
MOVAL,00110100B;控制寄存器的初始化
OUTDX,AL
MOVDX,40H;计数器0
MOVAL,0F4H;写入初值
OUTDX,AL
MOVAL,01H
OUTDX,AL
MOVDX,43H;控制寄存器的初始化
MOVAL,01110110B
OUTDX,AL
MOVDX,41H;计数器1
MOVAL,0E8H;写入初值
OUTDX,AL
MOVAL,03H
OUTDX,AL
JMP$;结束
CODEENDS
ENDSTART
第三个问题:
改成BCD码,注释和二一样。
CODESEGMENT
ASSUMECS:
CODE
ORG1000H
START:
MOVDX,43H
MOVAL,00110101B
OUTDX,AL
MOVDX,40H
MOVAL,00H;写入初值
OUTDX,AL
MOVAL,05H
OUTDX,AL
MOVDX,43H
MOVAL,01110111B
OUTDX,AL
MOVDX,41H
(二)DIY手工艺品的“热卖化”MOVAL,00H;写入初值
(一)DIY手工艺品的“多样化”OUTDX,AL
MOVAL,10H
尽管售价不菲,但仍没挡住喜欢它的人来来往往。
这里有营业员们向顾客们示范着制作各种风格迥异的饰品,许多顾客也是学得不亦乐乎。
在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。
可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。
而这也许正是自己制造所能带来最大的快乐吧。
OUTDX,AL
我们从小学、中学到大学,学的知识总是限制在一定范围内,缺乏在商业统计、会计,理财税收等方面的知识;也无法把自己的创意准确而清晰地表达出来,缺少个性化的信息传递。
对目标市场和竞争对手情况缺乏了解,分析时采用的数据经不起推敲,没有说服力等。
这些都反映出我们大学生创业知识的缺乏;JMP$
CODEENDS
年轻有活力是我们最大的本钱。
我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。
ENDSTART
【问答题】
动漫书籍□化妆品□其他□1、8253初始化编程时需要遵循的原则是什么?
图1-1大学生月生活费分布解:
答:
在编程时必须遵守两条原则:
5、你认为一件DIY手工艺制品在什么价位可以接受?
(1).在对某个计数器设置初值之前,必须先写入控制字;
他们的成功秘诀在于“连锁”二字。
凭借“连锁”,他们在女孩们所喜欢的小玩意上玩出了大名堂。
小店连锁,优势明显,主要有:
(2).在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是低。
高位字节都写(分两次写,先低后高)。
2、简述8253初始化编程的步骤。
但这些困难并非能够否定我们创业项目的可行性。
盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:
如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。
解:
1.首先向控制寄存器写入控制字,以选定计数通道(三个中之一),规定该计数的工作方式和计数方式以及计数初值的长度和装入顺序(初值写入方式);
2.向已选定的计数器按控制字的要求写入计数初值。
【心得体会】
这次实验主要用到8253的知识,要知道8253的控制字,每一位代表的意义,以及8253的控制字以及命令字的端口地址。
要了解BCD码与数制之间的转换。
通过这次的实验,巩固了这些知识,并加深了了解。
通过这次实验,我觉得,能够将学到的知识应用于实践中去,是非常有意义的,同时在实践中,又能巩固理论知识,是一件两全其美的事情。
所以一定要认真的去完成每一次实验,这样在能在实践中得到锻炼,让所学过的知识更加深刻。
通过本次实验,我更进一步熟悉了8253,并更好的锻炼了自己对于编程知识的运用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 上海 大学 微机 实践 报告 13