1、微机原理串行数据传送控制课程设计目录1、设计目的2、设计要求3、设计过程 1、开关控制LED显示模块 2、中断读取开关状态模块 3、8250串行发送数据模块 4、定时器控制中断模块 5、动态扫描显示模块4、器件连接图5、源程序6、设计总结7、参考文献一、设计目的微机课程设计是微机原理与应用课程的一个重要实践教学环节,主要目的是提高学生综合运用微机软硬件技术的能力,加深对微机结构和接口原理的理解,熟练地掌握汇编程序的编写、调试和接口技术应用的水平;为后续课程的应用打好基础。二、设计要求(1)设计一个串行数据传送控制的程序(2)用8255的B口接实验箱1的8个钮子开关,采用方式1输入中断方式,读取
2、开关状态,并控制8个LED上显示。(3)将读取开关状态值,通过实验箱的8250和RS232口,串行发送到实验箱2的8250中。(4)在实验箱2上,将串行收到的开关状态值,采用8255的B口和C口低4位驱动2个七段LED数码管,用动态扫描方式显示开关状态的16进制数(参考题目一)。3、设计思路 本设计是进行串行通讯,在一台实验箱上实现开关状态的控制、显示和读取,利用可编程并行I/O接口芯片8255,B口输入开关状态,A口输出LED实现开关状态的控制和显示。用可编程中断控制器8259,中断读取开关状态量送入CPU,CPU把开关量送入串行通讯控制器8250,串行发送到另一台实验箱的8250中,在其上
3、用可编程计数器/定时器8253及8259定时中断读取开关状态量,通过8255的B口和C口接七段LED数码管,通过动态扫描的方式使开关量在数码管上显示出来。主要用到的芯片有可编程并行I/O接口芯片8255,可编程中断控制器8259,串行通讯控制器8250,可编程计数器/定时器8253。4、设计过程 1、开关控制LED显示模块8255初始化程序: MOV AL, CW1 ;8255 MOV DX, CONTR OUT DX, AL MOV AL,00000101B; INTEA OUT DX,AL8255逻辑结构图 2、中断读取开关状态模块8259内部结构 8259初始化程序: MOV AL,13
4、H;8259 ICW1 OUT 20H,AL MOV AL,00001000B ;ICW2 OUT 21H, AL MOV AL,00000001B;ICW4 OUT 21H,AL MOV AL,0F7H;OCW1 OUT 21H,AL MOV AX,CS MOV DS,AX3、8250串行发送数据模块 8250初始化程序: MOV AL,80H ;初始化8250 MOV DX,COM3 OUT DX,AL MOV DX,COM2 MOV AL,0 OUT DX,AL MOV DX,COM1 MOV AL,64H ;2MHz时钟信号输入,1250波特率 OUT DX,AL MOV AL,000
5、01111B MOV DX,COM3 OUT DX,AL MOV AL,0FH MOV DX,COM2 OUT DX,AL 4、定时器控制中断模块 8253初始化程序: MOV DX,4BH ;8253初始化 MOV AL,10110110B ;定时器2模式3 OUT DX,AL MOV DX,4AH MOV AX,5000 ;5ms定时发中断 OUT DX,AL MOV AL,AH OUT DX,AL8259初始化程序: MOV AL,13H;8259 ICW1 OUT 20H,AL MOV AL,00001000B ;ICW2 OUT 21H, AL MOV AL,00000001B;IC
6、W4 OUT 21H,AL MOV AL,0F3H;OCW1 OUT 21H,AL MOV AX,CS MOV DS,AX 5、动态扫描显示模块8255初始化: MOV AL,10000000B ;8255 MOV DX, CONTR OUT DX, AL七、源程序发送程序APORT EQU 70HBPORT EQU 71HCPORT EQU 72HCONTR EQU 73HCW1 EQU 10000110BCOM1=60HCOM2=61HCOM3=63HCODE SEGMENT ORG 1000H ASSUME CS:CODESTART: MOV AX,CS MOV DS,AX MOV AL
7、, CW1 ;8255 MOV DX, CONTR OUT DX, AL MOV AL,00000101B; INTEA OUT DX,AL MOV AL,80H ;初始化8250 MOV DX,COM3 OUT DX,AL MOV DX,COM2 MOV AL,0 OUT DX,AL MOV DX,COM1 MOV AL,64H ;2MHz时钟信号输入,1250波特率 OUT DX,AL MOV AL,00001111B MOV DX,COM3 OUT DX,AL MOV AL,0FH MOV DX,COM2 OUT DX,AL MOV AX,0H ;8259中断 MOV DS,AX MOV
8、 ES,AX MOV DI,002CH LEA AX,INT1 MOV DI,AX INC DI INC DI MOV AX,CS MOV DI,AX INC DI INC DI MOV AL,13H;8259 ICW1 OUT 20H,AL MOV AL,00001000B ;ICW2 OUT 21H, AL MOV AL,00000001B;ICW4 OUT 21H,AL MOV AL,0F7H;OCW1 OUT 21H,AL MOV AX,CS MOV DS,AX STI DENG: JMP DENG INT1 PROC MOV DX , BPORT ;取开关值 IN AL, DX OU
9、T COM1,AL;送给8250 ;发光LED管 MOV DX,APORT NOT AL OUT DX,AL MOV AL,20H ;开放中断对应屏蔽位 OUT 20H,AL STI IRET INT1 ENDP DAT DB ?CODE ENDS END START接收程序APORT EQU 70HBPORT EQU 71HCPORT EQU 72HCONTR EQU 73HCOM1 EQU 60HCOM2 EQU 61HCOM3 EQU 63HCODE SEGMENT ORG 1000H ASSUME CS:CODESTART:MOV DX,CS MOV DS,DXMOV AL,10000
10、000B ;8255 MOV DX, CONTR OUT DX, AL MOV DX,4BH ;8253初始化 MOV AL,10110110B ;定时器2模式3 OUT DX,AL MOV DX,4AH MOV AX,5000 ;5ms定时发中断 OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,80H ;初始化8250 MOV DX,COM3 OUT DX,AL MOV DX,COM2 MOV AL,0 OUT DX,AL MOV DX,COM1 MOV AL,64H ;2MHz时钟信号输入,1250波特率 OUT DX,AL MOV AL,00001111B MO
11、V DX,COM3 OUT DX,AL MOV AX,0H MOV DS,AX MOV ES,AX MOV DI,0028H LEA AX,INTB MOV DI,AX INC DI INC DI MOV AX,CS MOV DI,AX MOV AL,13H;8259 ICW1 OUT 20H,AL MOV AL,00001000B ;ICW2 OUT 21H, AL MOV AL,00000001B;ICW4 OUT 21H,AL MOV AL,0F3H;OCW1 OUT 21H,AL MOV AX,CS MOV DS,AX MOV BP,0 MOV BX,OFFSET TAB1 MOV A
12、L,CS:BP+BIT OUT CPORT,AL MOV SI,OFFSET BUF MOV AL,SI XLAT OUT BPORT,AL INC SI MOV AL,CS:BP+BIT ROL AL,1 MOV CS:BP+BIT,AL STI DENG: MOV AL,65H ;接收缓冲寄存器不满,等待 AND AL,01H JZ DENG MOV DX,COM1 IN AL, DX MOV AH,AL AND AL,0FH MOV CS:BP+BUF, AL AND AH,0F0H MOV CL,4 SHR AH,CL MOV CS:BP+BUF+1,AH JMP DENG INTB
13、PROC MOV BX,OFFSET TAB1 ;中断程序 MOV AL,CS:BP+BIT OUT CPORT,AL MOV AL,SI XLAT OUT BPORT,AL INC SI MOV AL,CS:BP+BIT ROL AL,1 CMP AL,0FBH JNZ AB MOV AL,0FEH MOV SI,OFFSET BUF AB: MOV CS:BP+BIT,AL MOV AL,20H OUT 20H,AL STI IRETINTB ENDPTAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,
14、71HBUF DB 1,2BIT DB 0FEHDA DB ?CODE ENDS END START八、设计总结经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。经过课程设计,在查阅资料的过程中,学习了汇编语言程序设计,了解了串行通信的基本知识,熟悉了8255、8259、8253,8250等芯片的初始化和基本应用,对于以后的学习和工作都有很大的益处。在学习的过程中,也遇到了一些困难。如开关状态量的读取,中断的初始化等,经过查阅资料,请教老师,被一一克服了。设计还存在一些不足和缺憾,希望还有机会能进一步学习。通过这次课程设计,锻炼了自己独立思考的能力和动手能力。9、参考文献汇编语言与接口技术 王让定 编著 清华大学出版社微机原理与接口技术 郭兰英 编著 清华大学出版社微机原理及接口技术 王惠中 编著 机械工业出版社PC机汇编语言与接口技术 李恒文 编著 中国科学技术出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1