微机原理及应用课程设计.docx

上传人:b****6 文档编号:13688236 上传时间:2023-06-16 格式:DOCX 页数:7 大小:16.66KB
下载 相关 举报
微机原理及应用课程设计.docx_第1页
第1页 / 共7页
微机原理及应用课程设计.docx_第2页
第2页 / 共7页
微机原理及应用课程设计.docx_第3页
第3页 / 共7页
微机原理及应用课程设计.docx_第4页
第4页 / 共7页
微机原理及应用课程设计.docx_第5页
第5页 / 共7页
微机原理及应用课程设计.docx_第6页
第6页 / 共7页
微机原理及应用课程设计.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理及应用课程设计.docx

《微机原理及应用课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理及应用课程设计.docx(7页珍藏版)》请在冰点文库上搜索。

微机原理及应用课程设计.docx

微机原理及应用课程设计

微机原理及应用课程设计

  计时红绿灯的设计和制作

  一、课程设计目的

  课程设计要求学生自行设计和搭建有关微机应用的电路,编制和调试有关软件。

通过课程设计的教学,使学生巩固和深化已学的理论知识,加强综合应用能力,训练学生掌握分析问题、解决问题的方法,培养较强的动手能力和一定的微机应用系统的设计和调试能力。

  二、课程设计内容

  用实验系统的发光二极管模拟交通红绿灯,并能用数码管显示灯亮的时间剩余值。

计数原则:

红灯绿灯灯亮的时间为20秒种,在替换间隔绿灯的路口的黄灯闪烁4秒。

  具体:

  1、通过8255A并行口传输数据的方法,来控制LED发光二极管的亮灭。

用8255A的B端口和C端口控制12个LED发光二级管的亮和灭(输出为0则亮,输出为1则灭)。

  2、过8253A应用为计数提供硬件计时,为整个红绿灯系统提供时间计数。

  3、通过中断控制器8259A为红绿灯系统提供中断服务,以实现中断。

  编程思路:

  要完成本实验,首先必须了解交通路灯的亮灭规律。

设有一个十字路口,1、3为南,北方向,2、4为东,西方向。

初始化之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延迟一段时间(20秒)后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁。

闪烁若干次(延时4秒)后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。

延迟一段时间(20秒)后,2、4路口的绿灯熄灭,而黄灯开始闪烁。

闪烁若干次(延时4秒)后,再切换到1、3路口方向。

之后,重复上述过程。

  各集成块接线:

  8253连线:

(1)8253的GATE0接+5V。

  

(2)8253的CLK0插孔接分频器74LS393(左上方)的T5插孔。

  (3)8253OUT0插孔和8259的3号中断IR3插孔相连。

  8259连线:

(1)8259模块上的INT连8088的INTR(在主板键盘矩阵下面)。

  

(2)8253模块上的INTA连8088的INTA(在主板键盘矩阵下面)。

  (3)8253OUT0插孔和8259的3号中断IR3插孔相连。

  (4)8259模块上的D0~D7连到BUS2区的XD0~XD7。

  (5)8259模块上的CS端接Y6。

  (6)8259模块上的A0连到BUS区的XA0上。

  (7)8259模块上的RD、WR信号线分别连到BUS3区的XRD、XWR上。

  8255连线:

(1)L1—PC0L4—PC1L7—PC2L10—PC3

  L2—PB4L5—PB5L8—PB6L11—PB7

  L3—PC4L6—PC5L9—PC6L12—PC7

  各集成块:

  8253集成块引脚图:

  8255A集成块引脚图:

  8253集成块:

  8255集成块:

  8259集成块:

  实验框图

  程序

  IOCONPTEQU0FF2BH;定义8255各寄存器地址

  IOAPTEQU0FF28H

  IOBPTEQU0FF29H

  IOCPTEQU0FF2AH

  INTPORT1EQU0060H

  INTPORT2EQU0061H

  INTQ3EQUINTREEUP3;定义中断向量

  TCONTROEQU0043H;定义8253控制口和0通道地址

  TCON0EQU0040H

  INTQ7EQUINTREEUP7

  CODESEGMENT

  ASSUMECS:

CODE

  ORG1000H

  START:

CLD;关中断

  MOVDX,IOCONPT

  MOVAL,80H;写8255控制字,三个口均为0输出

  OUTDX,AL

  MOVAL,10100101B;13L(绿)24H(红)

  MOVDX,IOCPT

  OUTDX,AL

  MOVBYTEPTRDS:

[0770H],20;红绿灯(数码管)

  MOVBYTEPTRDS:

[0771H],1;状态

  MOVBYTEPTRDS:

[0772H],0;黄灯

  CALLVONBCD

  CALLWRINTVER;WRITEINTRRUPT;调用写中断向量子程序

  MOVAL,13H

  MOVDX,INTPORT1;循环等待中断

  OUTDX,AL

  MOVAL,08H

  MOVDX,INTPORT2

  OUTDX,AL

  MOVAL,09H

  OUTDX,AL

  MOVAL,0F7H

  OUTDX,AL

  MOVBYTEPTRDS:

[0771H],01H;TIME=1

  MOVDX,TCONTRO

  MOVAL,36H;写控制字,0通道输出方波

  OUTDX,AL

  MOVDX,TCON0;计数初值送0通道寄存器

  MOVAL,00H

  OUTDX,AL

  MOVAL,00H

  OUTDX,AL

  STI

  WAINT:

CALLDISP;调用初始显示子程序

  CALLTRY

  JMPWAINT

  WRINTVER:

MOVAX,0H

  MOVES,AX

  MOVDI,002CH

  LEAAX,INTQ3

  STOSW

  MOVAX,0000h

  STOSW

  RET

  INTREEUP3:

CLI

  DECBYTEPTRDS:

[0770H]

  CMPBYTEPTRDS:

[0771H],1;判断状态

  JZCH1

  CMPBYTEPTRDS:

[0771H],2

  JZCH2

  CMPBYTEPTRDS:

[0771H],3

  JZCH3

  CMPBYTEPTRDS:

[0770H],0

  JZCH5

  MOVAL,BYTEPTRDS:

[0772H]

  XORAL,01010000B

  MOVBYTEPTRDS:

[0772H],AL

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CH5:

MOVBYTEPTRDS:

[0771H],1

  MOVBYTEPTRDS:

[0770H],20

  MOVAL,10100101B;13L24H

  MOVDX,IOCPT

  OUTDX,AL

  MOVAL,00000000B;13L24H

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CH1:

CMPBYTEPTRDS:

[0770H],0

  JNZCHEND

  MOVBYTEPTRDS:

[0770H],4

  MOVBYTEPTRDS:

[0771H],2

  MOVAL,00000101B;13L24H

  MOVDX,IOCPT

  OUTDX,AL

  MOVAL,10100000B

  MOVBYTEPTRDS:

[0772H],AL

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CH2:

CMPBYTEPTRDS:

[0770H],0

  JZCH6

  MOVAL,BYTEPTRDS:

[0772H]

  XORAL,10100000B

  MOVBYTEPTRDS:

[0772H],AL

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CH3:

CMPBYTEPTRDS:

[0770H],0

  JNZCHEND

  MOVBYTEPTRDS:

[0770H],4

  MOVBYTEPTRDS:

[0771H],4

  MOVAL,00001010B;13L24H

  MOVDX,IOCPT

  OUTDX,AL

  MOVAL,01010000B

  MOVBYTEPTRDS:

[0772H],AL

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CH6:

MOVBYTEPTRDS:

[0770H],20

  MOVBYTEPTRDS:

[0771H],3

  MOVAL,01011010B;13L24H

  MOVDX,IOCPT

  OUTDX,AL

  MOVAL,00000000B

  MOVBYTEPTRDS:

[0772H],AL

  MOVDX,IOBPT

  OUTDX,AL

  JMPCHEND

  CHEND:

CALLVONBCD

  INTRE2:

MOVAL,20H

  MOVDX,INTPORT1

  OUTDX,AL

  STI

  IRET

  VONBCD:

PUSHAX;BCD转换

  PUSHBX

  MOVAL,BYTEPTRDS:

[0770H]

  CBW

  MOVBL,10

  DIVBL

  MOVBYTEPTRDS:

[077BH],AL

  MOVBYTEPTRDS:

[077AH],AH

  POPBX

  POPAX

  RET

  disp:

movdx,077Bh;显示子程序

  movah,02h

  disp0:

movcx,00ffh

  movbx,dx

  movbl,ds:

[bx]

  movbh,0h

  pushdx

  movdx,0ff22h

  moval,cs:

[bx+1500h]

  OUTDX,AL

  movdx,0ff21h

  moval,ah

  OUTDX,AL

  disp1:

loopdisp1

  popdx

  decdx

  shrah,01h

  jnzdisp0

  movdx,0ff22h

  moval,0FFH

  OUTDX,AL

  ret

  ORG1500H

  data1:

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

  db80h,90h,88h,83h,0c6h,0a1h,86h,8eh

  db0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh

  db90h,0a3h,0a1h,86h,8fh

  CODEENDS

  ENDSTART

  感想:

  一个星期的课程设计终于过去,使我受益非浅,以前对这一门课程并没有多少的兴趣,但是这个星期的课程设计让我看到了这门课程的神奇。

起初我对这门课程没有太多的了解,但是经过了这个星期的课程设计,使我知道了平时日常生活中所看到的红绿灯运转的真正原理,也使我懂得学好这门功课的重要性。

  

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2