概述
课程名称:
实验项目:
实验地点:
专业班级:
学 号:
学生姓名:指导教师:
本科实验报告
微机原理及接口技术 十字路口红绿灯闪烁实验 微机原理实验室 电子信息1001 2010001211 张 恒 斌 任 光 龙
2013年 06月 05日
一、实验目的
通过对红,绿,黄灯的控制,熟练掌握掌握8255A接口芯片的变成方法。
二、实验内容
对8255A接口芯片进行编辑,是红,绿,黄灯发光二极管按照十字路口交通灯的形式点亮或熄灭。
三、线路连接
发光二极管共8个,其中两组红、黄、绿灯用6个,L1,L2,L3为一组,L4,L5,L6为一组,实验台连接如图。低电平“1”时,点亮。
四、程序流程图
五、参考程序
DATA SEGMENT
IOPORT EQU 0D880H-280H IO8255C EQU IOPORT+282H IO8255T EQU IOPORT+283H PB DB ?
MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS
STACK SEGMENT STACK STA DW 50 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX
MOV AH,09H MOV DX,OFFSET MESS INT 21H
MOV DX,IO8255C IN AL,DX MOV PB,AL
MOV DX,IO8255T MOV AL,80H OUT DX,AL
MOV DX,IO8255C MOV AL,PB OR AL,0CH OUT DX,AL MOV AL,30H OUT DX,AL CALL DELAY10 LLL: MOV DX,IO8255C MOV AL,12H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,10H OUT DX,AL MOV CX,0040
TTT: MOV AL,0CH OUT DX,AL PUSH CX MOV CX,80H LOP1: CALL DELAY1 LOOP LOP1 MOV AL,00H OUT DX,AL MOV CX,80H LOP2: CALL DELAY1 LOOP LOP2 POP CX LOOP TTT MOV AL,30H OUT DX,AL CALL DELAY10 MOV AL,21H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,20H OUT DX,AL MOV CX,0040H GGG: MOV AL,0CH OUT DX,AL PUSH CX MOV CX,80H LOP3: CALL DELAY1 LOOP LOP3 MOV AL,00H OUT DX,AL MOV CX,80H LOP4: CALL DELAY1 LOOP LOP4 POP CX LOOP GGG MOV AX,30H OUT DX,AL CALL DELAY10 MOV AH,06H MOV DL,0FFH INT 21H
JNZ PPP JMP LLL
PPP: MOV AX,4C00H INT 21H DELAY1 PROC NEAR PUSH CX
MOV CX,0FFFFH CCC: LOOP CCC POP CX RET DELAY1 ENDP
DELAY10 PROC NEAR PUSH AX PUSH CX
MOV CX,0F00H UUU: CALL DELAY1 LOOP UUU POP CX POP AX RET DELAY10 ENDP CODE ENDS
END START
六、实验结果
七、思考题
程序中红,绿,黄灯点亮和熄灭的延时时间是如何设定的? 答:通过用延时子程序CALL DELAY 10的次数来设定。
最后
以上就是聪明牛排为你收集整理的8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验的全部内容,希望文章能够帮你解决8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复