微机接口课程设计实验报告.docx
- 文档编号:10318819
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:23
- 大小:158.47KB
微机接口课程设计实验报告.docx
《微机接口课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《微机接口课程设计实验报告.docx(23页珍藏版)》请在冰点文库上搜索。
微机接口课程设计实验报告
西安科技大学
微机接口课程设计报告
题目:
交通灯显示系统
班级:
计科0901班
小组成员:
曹学兵0908030121
陈俊峰0908030127
2012年6月
目录
一设计任务…………………………………………………………………2
二设计方案…………………………………………………………………2
三电路原理图、接线图……………………………………………………3
四程序流程图………………………………………………………………4
五源程序……………………………………………………………………7
六总结和体会………………………………………………………………17
一、设计任务
“微机与接口技术”是一门实践性和实用性都很强的课程,学习的目的在于应用。
本课程设计是计算机专业学生的一次较全面的的设计训练,是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。
本次设计任务是利用实验室的试验箱设计出生活中较为常见的交通灯控制与显示系统。
具体要求如下:
1东西与南北的交通灯定时30秒交换红绿灯一次。
2每次红绿灯交换之间要求黄色灯闪烁3秒。
3在紧急车辆(如消防车、救护车)通过时,四边街道均显示红灯,以便紧急车辆顺利通过,而其它车辆暂停行驶。
紧急车辆通过后,交通灯自动恢复原来的颜色标志。
4当一个方向绿灯亮后6秒无车通过则切换到另一路绿灯亮。
5在数码管上显示已计时多少时间。
二、设计方案
1交通信号灯及数码显示的控制可以通过8255实现。
可编程设置8255的PA、PB、PC口均为输出,且工作方式为方式0。
其中PA3、PA2、PA1、PA0控制东西南北的绿灯,PA7、PA6、PA5、PA4控制东西南北的红灯,PC7、PC6、PC5、PC4控制东西南北的黄灯;PB7~PB0控制数码管的段码,PC3、PC2、PC1、PC0控制数码管的位码。
2交通信号灯亮灭时间及数码管显示的时间可以通过8253来控制。
可采用试验箱上的OPCLK输出的时钟作为8253的CLK2的计数源,通过设置相应的时间常数,使8253每隔50ms向8259发出一次中断请求,中断号为IRQ7,这样在中断服务程序中对中断次数计数,满20次为1s。
3紧急车辆通过和6秒自动切换通过连接8259的中断号来实现的。
紧急车辆程序通过中断号IRQ1实现、6秒自动切换程序通过中断号IRQ6实现,并用中断IRQ0恢复正常状态的执行。
三、电路原理图、接线图
1电路原理图
东西南北共使用十二个发光二极管,分别有8255的A口和C口的高4位控制,B口控制数码管的段码,C口低4位控制数码管的位码;
计数通过8253的OUT2连接8259的IRQ7实现;
中断IRQ6、IRQ1、IRQ0连接KK1和开关量K0和K1控制中断。
2连接线路:
四、程序流程图
1主程序流程图
2时间显示子程序流程图
3延时子程序流程图
4紧急车辆中断服务流程图
56秒无车通过的中断服务流程图
五、源程序
STACKSEGMENTSTACK
DB64DUP(?
)
STACKENDS
DATASEGMENT
INITIALDB'WAITING......',0AH,0DH,00H;初始化
ORDERDB'ITISAORDER!
',0AH,0DH,00H
EMERDB'ITISANEMERGENCY!
',0AH,0DH,00H
NCARDB'ITISANOCARTIME!
',0AH,0DH,00H
DB1DB?
DB2DB?
COUNTDW0
TIMEDB00H,03H,00H,03H
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
;初始化8259AIRQ0,IRQ1,IRQ6,IRQ7
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ0
ADDAX,2000H
MOVSI,0020H
MOV[SI],AX
MOVAX,0000H
MOVSI,0022H
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0FEH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ1
ADDAX,2000H
MOVSI,0024H
MOV[SI],AX
MOVAX,0000H
MOVSI,0026H
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0FDH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ6
ADDAX,2000H
MOVSI,0038H
MOV[SI],AX
MOVAX,0000H
MOVSI,003AH
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,0BFH
OUT21H,AL
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETIRQ7
ADDAX,2000H
MOVSI,003CH
MOV[SI],AX
MOVAX,0000H
MOVSI,003EH
MOV[SI],AX
CLI
POPDS
INAL,21H
ANDAL,7FH
OUT21H,AL
;红黄绿灯初始化设置
MOVAH,06H
MOVBX,OFFSETINITIAL
INT10H
MOVAL,0FH;控制4个黄灯亮
OUT62H,AL
MOVAL,00H
OUT60H,AL;控制4个红灯亮,4个绿灯亮
CALLDELAY1;延时
MOVDB1,33H;控制交通灯红绿灯正常运行
MOVDB2,30H;控制交通灯黄灯正常运行
;初始化8253
MOVAL,80H;8255工作在方式0,A、B、C口都为输出口
OUT63H,AL
MOVAL,0B6H;8253初始化计数器2,方式3,16位送数,二进制计数
OUT43H,AL
MAIN:
MOVAH,06H
MOVBX,OFFSETORDER
INT10H
MOVAX,59500
OUT42H,AL
MOVAL,AH
OUT42H,AL
MOVCOUNT,0
STI
STATE10:
MOVAL,DB1
OUT60H,AL
CALLDISP
CMPCOUNT,20
JLSTATE10
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI+1]
CMPAL,00H
JZA3
MOVAL,[DI]
CMPAL,00H
JZA4
DECAL
MOV[DI],AL
A1:
MOVAL,[DI+2]
CMPAL,00H
JZA2
DECAL
MOV[DI+2],AL
JMPSTATE10
A2:
MOVAL,9
MOV[DI+2],AL
MOVAL,[DI+3]
DECAL
MOV[DI+3],AL
JMPSTATE10
A3:
MOVAL,[DI]
CMPAL,01H
JZA5
DECAL
MOV[DI],AL
JMPA1
A4:
MOVAL,9
MOV[DI],AL
MOVAL,[DI+1]
DECAL
MOV[DI+1],AL
JMPA1
A5:
MOVAL,03H
MOV[DI],AL
MOV[DI+2],AL
JMPSTATE11
STATE11:
MOVAL,DB1
ORAL,0FH
OUT60H,AL
MOVAL,00H
OUT62H,AL
CALLDISP
CMPCOUNT,20
JLSTATE11
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA6
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPSTATE12
A6:
MOVAL,3
MOV[DI+1],AL
MOVAL,0
MOV[DI],AL
MOVAL,2
MOV[DI+3],AL
MOVAL,7
MOV[DI+2],AL
JMPSTATE20
STATE12:
MOVAL,DB2
OUT62H,AL
CALLDISP
CMPCOUNT,20
JLSTATE12
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA6
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPSTATE11
STATE20:
MOVAL,DB1
NOTAL
OUT60H,AL
CALLDISP
CMPCOUNT,20
JLSTATE20
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI+1]
CMPAL,00H
JZA13
MOVAL,[DI]
CMPAL,00H
JZA14
DECAL
MOV[DI],AL
A11:
MOVAL,[DI+2]
CMPAL,00H
JZA12
DECAL
MOV[DI+2],AL
JMPSTATE20
A12:
MOVAL,9
MOV[DI+2],AL
MOVAL,[DI+3]
DECAL
MOV[DI+3],AL
JMPSTATE20
A13:
MOVAL,[DI]
CMPAL,01H
JZA15
DECAL
MOV[DI],AL
JMPA11
A14:
MOVAL,9
MOV[DI],AL
MOVAL,[DI+1]
DECAL
MOV[DI+1],AL
JMPA11
A15:
MOVAL,03H
MOV[DI],AL
MOV[DI+2],AL
JMPSTATE21
STATE21:
MOVAL,DB1
NOTAL
ORAL,0FH
OUT60H,AL
MOVAL,00H
OUT62H,AL
CALLDISP
CMPCOUNT,20
JLSTATE21
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA16
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPSTATE22
A16:
MOVAL,3
MOV[DI+1],AL
MOVAL,0
MOV[DI],AL
MOVAL,2
MOV[DI+3],AL
MOVAL,7
MOV[DI+2],AL
JMPSTATE10
STATE22:
MOVAL,DB2
XORAL,0F0H
OUT62H,AL
CALLDISP
CMPCOUNT,20
JLSTATE22
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA16
DECAL
MOV[DI],AL
MOVAL,[DI+2]
DECAL
MOV[DI+2],AL
JMPSTATE21
IRQ0:
MOVAL,20H
OUT20H,AL
MOVDI,OFFSETTIME
MOVAL,3
MOV[DI+1],AL
MOVAL,0
MOV[DI],AL
MOVAL,3
MOV[DI+3],AL
MOVAL,0
MOV[DI+2],AL
JMPMAIN
IRET
IRQ1:
;紧急事件处理
MOVAL,20H
OUT20H,AL
MOVAH,06H
MOVBX,OFFSETEMER
INT10H
A21:
STI
MOVDI,OFFSETTIME
MOVAL,5
MOV[DI+1],AL
MOV[DI],AL
MOVAL,0F0H
OUT62H,AL;使黄灯全灭
MOVAL,0FH
OUT60H,AL;红灯全亮,绿灯全灭
CALLDISP
JMPA21
IRET
IRQ6:
;绿灯亮后6秒无车通过则切换到另一路绿灯亮
MOVAL,20H
OUT20H,AL
MOVAH,06H
MOVBX,OFFSETNCAR
INT10H
STI
A22:
MOVDI,OFFSETTIME
MOVAL,0
MOV[DI+1],AL
MOVAL,6
MOV[DI],AL
A23:
MOVAL,DB1
OUT60H,AL
CALLDISP
CMPCOUNT,20
JLA23
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA24
DECAL
MOV[DI],AL
MOV[DI+2],AL
JMPA23
A24:
MOVDI,OFFSETTIME
MOVAL,0
MOV[DI+1],AL
MOVAL,6
MOV[DI],AL
MOVAL,0
MOV[DI+3],AL
MOVAL,6
MOV[DI+2],AL
JMPA25
A25:
MOVAL,DB1
NOTAL
OUT60H,AL
CALLDISP
CMPCOUNT,20
JLA25
MOVCOUNT,0
MOVDI,OFFSETTIME
MOVAL,[DI]
CMPAL,00H
JZA22
DECAL
MOV[DI],AL
MOV[DI+2],AL
JMPA25
IRET
IRQ7:
INCCOUNT
MOVAL,20H
OUT20H,AL
IRET
DISPPROCNEAR
MOVDI,OFFSETTIME
MOVCL,0F7H
A31:
MOVAL,CL
TESTAL,02H
JZA32
OUT62H,AL
RORAL,1
MOVCL,AL
MOVAL,[DI]
MOVBX,OFFSETLED
XLAT
OUT61H,AL
CALLDELAY2
INCDI
JMPA31
A32:
RET
DISPENDP
DELAY1PROCNEAR
PUSHCX
MOVCX,0FF00H
A33:
NOP
LOOPA33
POPCX
RET
DELAY1ENDP
DELAY2PROCNEAR
PUSHCX
MOVCX,1000
A34:
LOOPA34
POPCX
RET
DELAY2ENDP
CODEENDS
ENDSTART
;源程序结束
六、总结和体会
经过两周的艰辛的学习和探索,终于实现了交通显示系统的基本功能,并且增加了一些特色。
这次实验的确锻炼了我的学习能力和排错能力,并且极大地增加了学习微机接口的兴趣,也增加了学习的自信心,对于动手动脑的能力培养是很有帮助,并且希望今后与之类似的实用课程设计的内容能够得到推广,使得更多的学生能参与到其中以得到锻炼。
在交通显示系统的设计中,最困难也是最有趣的地方是数码管的显示部分。
8段数码显示在当今生活运用中非常广泛,所以对学习计算机的学生熟练的掌握其计数显示功能非常重要也非常之实用。
对基本器件的连接和编程也是本次设计的重中之重,如计数器8253,中断控制器8259和并行接口芯片8255等。
通过查找相关资料和老师同学的指导,现在我熟练的掌握了这些基本器件的使用和维护。
本次设计也锻炼了我的团队意识和人际交往能力,收获颇丰,希望在以后的学习生活当中我和同学们更能共同努力,团结奋进。
同时感谢薛萍老师在这次设计中对我小组的大力指导和点评。
参考资料:
[1]龚尚福,朱宇.微机原理与接口技术.西安:
西安电子科技大学出版社,2009.
[2]龚尚福,温乃宁.微机原理与接口技术习题解析和实验指导.西安:
西安电子科技大学出版社,2009.
[3]庞春江,牛为华.汇编语言设计及接口与通信实践指导书.北京:
中国电力出版社,2011.
[2]古辉,陈琦.微型计算机接口及控制技术.北京:
机械工业出版社,2010.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 课程设计 实验 报告