微机原理串行数据传送控制课程设计.docx

上传人:b****6 文档编号:5397232 上传时间:2022-12-15 格式:DOCX 页数:14 大小:294.98KB
下载 相关 举报
微机原理串行数据传送控制课程设计.docx_第1页
第1页 / 共14页
微机原理串行数据传送控制课程设计.docx_第2页
第2页 / 共14页
微机原理串行数据传送控制课程设计.docx_第3页
第3页 / 共14页
微机原理串行数据传送控制课程设计.docx_第4页
第4页 / 共14页
微机原理串行数据传送控制课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理串行数据传送控制课程设计.docx

《微机原理串行数据传送控制课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理串行数据传送控制课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理串行数据传送控制课程设计.docx

微机原理串行数据传送控制课程设计

目录

1、设计目的········································

2、设计要求·······································

3、设计过程·······································

1、开关控制LED显示模块··························

2、中断读取开关状态模块·························

3、8250串行发送数据模块·························

4、定时器控制中断模块···························

5、动态扫描显示模块·····························

4、器件连接图····································

5、源程序········································

6、设计总结······································

7、参考文献·········································

一、设计目的

微机课程设计是《微机原理与应用》课程的一个重要实践教学环节,主要目的是提高学生综合运用微机软硬件技术的能力,加深对微机结构和接口原理的理解,熟练地掌握汇编程序的编写、调试和接口技术应用的水平;为后续课程的应用打好基础。

二、设计要求

(1)设计一个串行数据传送控制的程序

(2)用8255的B口接实验箱1的8个钮子开关,采用方式1输入中断方式,读取开关状态,并

控制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中,在其上用可编程计数器/定时器8253及8259定时中断读取开关状态量,通过8255的B口和C口接七段LED数码管,通过动态扫描的方式使开关量在数码管上显示出来。

主要用到的芯片有可编程并行I/O接口芯片8255,可编程中断控制器8259,串行通讯控制器8250,可编程计数器/定时器8253。

 

4、设计过程

1、开关控制LED显示模块

8255初始化程序:

MOVAL,CW1;8255

MOVDX,CONTR

OUTDX,AL

MOVAL,00000101B;INTEA

OUTDX,AL

8255逻辑结构图

2、中断读取开关状态模块

8259内部结构

8259初始化程序:

MOVAL,13H;8259ICW1

OUT20H,AL

MOVAL,00001000B;ICW2

OUT21H,AL

MOVAL,00000001B;ICW4

OUT21H,AL

MOVAL,0F7H;OCW1

OUT21H,AL

MOVAX,CS

MOVDS,AX

3、8250串行发送数据模块

8250初始化程序:

MOVAL,80H;初始化8250

MOVDX,COM3

OUTDX,AL

MOVDX,COM2

MOVAL,0

OUTDX,AL

MOVDX,COM1

MOVAL,64H;2MHz时钟信号输入,1250波特率

OUTDX,AL

MOVAL,00001111B

MOVDX,COM3

OUTDX,AL

MOVAL,0FH

MOVDX,COM2

OUTDX,AL

4、定时器控制中断模块

8253初始化程序:

MOVDX,4BH;8253初始化

MOVAL,10110110B;定时器2模式3

OUTDX,AL

MOVDX,4AH

MOVAX,5000;5ms定时发中断

OUTDX,AL

MOVAL,AH

OUTDX,AL

8259初始化程序:

MOVAL,13H;8259ICW1

OUT20H,AL

MOVAL,00001000B;ICW2

OUT21H,AL

MOVAL,00000001B;ICW4

OUT21H,AL

MOVAL,0F3H;OCW1

OUT21H,AL

MOVAX,CS

MOVDS,AX

5、动态扫描显示模块

8255初始化:

MOVAL,10000000B;8255

MOVDX,CONTR

OUTDX,AL

七、源程序

发送程序

APORTEQU70H

BPORTEQU71H

CPORTEQU72H

CONTREQU73H

CW1EQU10000110B

COM1=60H

COM2=61H

COM3=63H

CODESEGMENT

ORG1000H

ASSUMECS:

CODE

START:

MOVAX,CS

MOVDS,AX

MOVAL,CW1;8255

MOVDX,CONTR

OUTDX,AL

MOVAL,00000101B;INTEA

OUTDX,AL

MOVAL,80H;初始化8250

MOVDX,COM3

OUTDX,AL

MOVDX,COM2

MOVAL,0

OUTDX,AL

MOVDX,COM1

MOVAL,64H;2MHz时钟信号输入,1250波特率

OUTDX,AL

MOVAL,00001111B

MOVDX,COM3

OUTDX,AL

MOVAL,0FH

MOVDX,COM2

OUTDX,AL

MOVAX,0H;8259中断

MOVDS,AX

MOVES,AX

MOVDI,002CH

LEAAX,INT1

MOV[DI],AX

INCDI

INCDI

MOVAX,CS

MOV[DI],AX

INCDI

INCDI

MOVAL,13H;8259ICW1

OUT20H,AL

MOVAL,00001000B;ICW2

OUT21H,AL

MOVAL,00000001B;ICW4

OUT21H,AL

MOVAL,0F7H;OCW1

OUT21H,AL

MOVAX,CS

MOVDS,AX

STI

DENG:

JMPDENG

INT1PROC

MOVDX,BPORT;取开关值

INAL,DX

OUTCOM1,AL;送给8250;发光LED管

MOVDX,APORT

NOTAL

OUTDX,AL

MOVAL,20H;开放中断对应屏蔽位

OUT20H,AL

STI

IRET

INT1ENDP

DATDB?

CODEENDS

ENDSTART

接收程序

APORTEQU70H

BPORTEQU71H

CPORTEQU72H

CONTREQU73H

COM1EQU60H

COM2EQU61H

COM3EQU63H

CODESEGMENT

ORG1000H

ASSUMECS:

CODE

START:

MOVDX,CS

MOVDS,DX

MOVAL,10000000B;8255

MOVDX,CONTR

OUTDX,AL

MOVDX,4BH;8253初始化

MOVAL,10110110B;定时器2模式3

OUTDX,AL

MOVDX,4AH

MOVAX,5000;5ms定时发中断

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVAL,80H;初始化8250

MOVDX,COM3

OUTDX,AL

MOVDX,COM2

MOVAL,0

OUTDX,AL

MOVDX,COM1

MOVAL,64H;2MHz时钟信号输入,1250波特率

OUTDX,AL

MOVAL,00001111B

MOVDX,COM3

OUTDX,AL

MOVAX,0H

MOVDS,AX

MOVES,AX

MOVDI,0028H

LEAAX,INTB

MOV[DI],AX

INCDI

INCDI

MOVAX,CS

MOV[DI],AX

MOVAL,13H;8259ICW1

OUT20H,AL

MOVAL,00001000B;ICW2

OUT21H,AL

MOVAL,00000001B;ICW4

OUT21H,AL

MOVAL,0F3H;OCW1

OUT21H,AL

MOVAX,CS

MOVDS,AX

MOVBP,0

MOVBX,OFFSETTAB1

MOVAL,CS:

[BP+BIT]

OUTCPORT,AL

MOVSI,OFFSETBUF

MOVAL,[SI]

XLAT

OUTBPORT,AL

INCSI

MOVAL,CS:

[BP+BIT]

ROLAL,1

MOVCS:

[BP+BIT],AL

STI

DENG:

MOVAL,65H;接收缓冲寄存器不满,等待

ANDAL,01H

JZDENG

MOVDX,COM1

INAL,DX

MOVAH,AL

ANDAL,0FH

MOVCS:

[BP+BUF],AL

ANDAH,0F0H

MOVCL,4

SHRAH,CL

MOVCS:

[BP+BUF+1],AH

JMPDENG

INTBPROC

MOVBX,OFFSETTAB1;中断程序

MOVAL,CS:

[BP+BIT]

OUTCPORT,AL

MOVAL,[SI]

XLAT

OUTBPORT,AL

INCSI

MOVAL,CS:

[BP+BIT]

ROLAL,1

CMPAL,0FBH

JNZAB

MOVAL,0FEH

MOVSI,OFFSETBUF

AB:

MOVCS:

[BP+BIT],AL

MOVAL,20H

OUT20H,AL

STI

IRET

INTBENDP

TAB1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

BUFDB1,2

BITDB0FEH

DADB?

CODEENDS

ENDSTART

八、设计总结

经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。

虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。

经过课程设计,在查阅资料的过程中,学习了汇编语言程序设计,了解了串行通信的基本知识,熟悉了8255、8259、8253,8250等芯片的初始化和基本应用,对于以后的学习和工作都有很大的益处。

在学习的过程中,也遇到了一些困难。

如开关状态量的读取,中断的初始化等,经过查阅资料,请教老师,被一一克服了。

设计还存在一些不足和缺憾,希望还有机会能进一步学习。

通过这次课程设计,锻炼了自己独立思考的能力和动手能力。

9、参考文献

《汇编语言与接口技术》王让定编著清华大学出版社

《微机原理与接口技术》郭兰英编著清华大学出版社

《微机原理及接口技术》王惠中编著机械工业出版社

《PC机汇编语言与接口技术》李恒文编著中国科学技术出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1