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

上传人:b****8 文档编号:23977928 上传时间:2023-05-23 格式:DOCX 页数:7 大小:16.88KB
下载 相关 举报
微机原理及应用课程设计.docx_第1页
第1页 / 共7页
微机原理及应用课程设计.docx_第2页
第2页 / 共7页
微机原理及应用课程设计.docx_第3页
第3页 / 共7页
微机原理及应用课程设计.docx_第4页
第4页 / 共7页
微机原理及应用课程设计.docx_第5页
第5页 / 共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连到BUS 2区的XD0~XD7。

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

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

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

  8255连线:

(1) L1—PC0     L4—PC1     L7—PC2     L10—PC3

               L2—PB4     L5—PB5     L8—PB6    L11 — PB7

               L3—PC4     L6—PC5    L9—PC6     L12 — PC7

  各集成块:

  8253集成块引脚图:

   

  8255A集成块引脚图:

   

  8253集成块:

   

  

  8255集成块:

   

  8259集成块:

   

  实验框图

   

  

  程序

  IOCONPT EQU 0FF2BH             ; 定义8255各寄存器地址

  IOAPTEQU 0FF28H

  IOBPTEQU 0FF29H

  IOCPTEQU 0FF2AH

  INTPORT1 EQU 0060H

  INTPORT2 EQU 0061H

  INTQ3 EQU INTREEUP3         ;定义中断向量

  TCONTRO EQU 0043H              ;定义8253控制口和0通道地址

  TCON0EQU 0040H

  INTQ7 EQU INTREEUP7

  CODE SEGMENT

  ASSUME CS:

CODE

  ORG 1000H

  START:

CLD                   ;关中断

   MOV DX,IOCONPT

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

          OUT DX,AL

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

  MOV DX,IOCPT

  OUT DX,AL

  MOV BYTE PTR DS:

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

  MOV BYTE PTR DS:

[0771H],1   ;状态

  MOV BYTE PTR DS:

[0772H],0   ;黄灯

  CALL VONBCD

  CALL WRINTVER     ;WRITE INTRRUPT ;调用写中断向量子程序

  MOV AL,13H

  MOV DX,INTPORT1      ;循环等待中断

     OUT DX,AL

  MOV AL,08H

  MOV DX,INTPORT2

  OUT DX,AL

  MOV AL,09H

  OUT DX,AL

  MOV AL,0F7H

  OUT DX,AL

  MOV BYTE PTR DS:

[0771H],01H;TIME=1

   MOV DX,TCONTRO

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

          OUT DX,AL

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

          MOV AL,00H

  OUT DX,AL

  MOV AL,00H

  OUT DX,AL

         STI

  WAINT:

CALL DISP           ;调用初始显示子程序

  CALL TRY

  JMP WAINT

  WRINTVER:

MOV AX,0H

   MOV ES,AX

   MOV DI,002CH

   LEA AX,INTQ3

   STOSW

   MOV AX,0000h

   STOSW

    RET

  INTREEUP3:

CLI

  DEC  BYTE PTR DS:

[0770H]

  CMP  BYTE PTR DS:

[0771H],1   ;判断状态

  JZ CH1

  CMP  BYTE PTR DS:

[0771H],2

  JZ CH2

  CMP  BYTE PTR DS:

[0771H],3

  JZ CH3

  CMP  BYTE PTR DS:

[0770H],0

  JZ CH5

  MOV AL,BYTE PTR DS:

[0772H]

  XOR AL,01010000B

  MOV BYTE PTR DS:

[0772H],AL

  MOV DX,IOBPT

  OUT DX,AL

  JMP CHEND

  CH5:

MOV BYTE PTR DS:

[0771H],1

  MOV BYTE PTR DS:

[0770H],20

  MOV AL,10100101B       ;13L 24H

  MOV DX,IOCPT

  OUT DX,AL

   MOV AL,00000000B       ;13L 24H

  MOV DX,IOBPT

  OUT DX,AL

  JMP CHEND

  CH1:

CMP  BYTE PTR DS:

[0770H],0

  JNZ CHEND

  MOV BYTE PTR DS:

[0770H],4

  MOV BYTE PTR DS:

[0771H],2

  MOV AL,00000101B       ;13L 24H

  MOV DX,IOCPT

  OUT DX,AL

  MOV AL,10100000B

  MOV BYTE PTR DS:

[0772H],AL

  MOV DX,IOBPT

  OUT DX,AL

  JMP CHEND

  CH2:

CMP  BYTE PTR DS:

[0770H],0

  JZ CH6

  MOV AL,BYTE PTR DS:

[0772H]

  XOR AL,10100000B

  MOV BYTE PTR DS:

[0772H],AL

  MOV DX,IOBPT

  OUT DX,AL

  JMP CHEND

  CH3:

CMP  BYTE PTR DS:

[0770H],0

  JNZ CHEND

  MOV BYTE PTR DS:

[0770H],4

  MOV BYTE PTR DS:

[0771H],4

  MOV AL,00001010B       ;13L 24H

  MOV DX,IOCPT

  OUT DX,AL

  MOV AL,01010000B

  MOV BYTE PTR DS:

[0772H],AL

  MOV DX,IOBPT

  OUT DX,AL

   JMP CHEND

  CH6:

MOV BYTE PTR DS:

[0770H],20

  MOV BYTE PTR DS:

[0771H],3

  MOV AL,01011010B       ;13L 24H

  MOV DX,IOCPT

  OUT DX,AL

  MOV AL,00000000B

  MOV BYTE PTR DS:

[0772H],AL

  MOV DX,IOBPT

  OUT DX,AL

  JMP CHEND

  CHEND:

CALL VONBCD

  INTRE2:

   MOV AL,20H

    MOV DX,INTPORT1

    OUT DX,AL

    STI

    IRET

  VONBCD:

PUSH AX                ;BCD转换

  PUSH BX

  MOV AL, BYTE PTR DS:

[0770H]

  CBW

  MOV BL,10

  DIV BL

  MOV BYTE PTR DS:

[077BH],AL

  MOV BYTE PTR DS:

[077AH],AH

  POP BX

  POP AX

  RET

  disp:

  mov dx,077Bh        ;显示子程序

    mov ah,02h

  disp0:

  mov cx,00ffh

    mov bx,dx

    mov bl,ds:

[bx]

    mov bh,0h

    push dx

    mov dx,0ff22h

    mov al,cs:

[bx+1500h]

    OUT DX,AL

    mov dx,0ff21h

    mov al,ah

    OUT DX,AL

  disp1:

  loop disp1

    pop dx

    dec dx

    shr ah,01h

    jnz disp0

    mov dx,0ff22h

    mov al,0FFH

    OUT DX,AL

    ret

  ORG 1500H

  data1:

  db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

    db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh

    db 0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh

    db 90h,0a3h,0a1h,86h,8fh

     CODE ENDS

  END  START

   感想:

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

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

  

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

当前位置:首页 > 自然科学 > 物理

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

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