微机课设

时间:2024.4.29

武汉理工大学华夏学院

课    程   设   计

课程名称微机接口技术及应用

题    目     彩灯显示系统    

     

专    业  计算机科学与技术

班    级     计算机1121   

学    号                   

姓    名                    

成    绩                   

指导教师    李朝纯、夏婷  

  2015  年 6 28


武汉理工大学华夏学院信息工程系

课程名称:微机接口技术与应用 指导教师:李朝纯夏婷 

班级名称:计算机1121   开课系、教研室:信息系、计算机

一、课程设计目的与任务

目的:

1. 巩固、实践本课程所学理论知识,综合运用可编程接口芯片8255、8253、8259进行应用系统设计;

2. 通过彩灯显示系统设计与制作,学习、掌握计算机应用系统的软、硬件设计方法;

3. 通过课程设计培养学生查阅、合理运用参考资料的能力。

任务:彩灯显示系统设计

二、课程设计的内容与基本要求

内容:

1.设计8种彩灯显示方式,显示时必须有左、右移动循环亮,左右对向移动循环亮;

2.用三个开关输入0~7  8个十进制数字,选择8种不同的彩灯组合状态进行显示;

3.用1位7段LED数码管以十进制显示当前彩灯显示方式的序号;

4.使用软件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔;

5.若有异常事件发生(用开关模拟中断信号的产生),则使红灯闪烁10秒钟后,返

回原处继续。

*6.使用硬件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔。(选做)

要求:

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.掌握计算机应用系统的软硬件的调试方法和步骤;

3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

① 设计任务与要求           ② 总体方案与说明

③ 硬件原理图与说明          ④ 实验电路图与说明

⑤ 系统流程图               ⑥ 软件主要功能模块及流程图

⑦ 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);

⑧ 小结与体会

⑨ 参考文献

提供附录:① 源程序(必须有简单注释)  

② 使用说明     

③ 参考资料


目  录

1 需求分析................................................................... 1

1.1 课程设计题目......................................................... 1

1.2 课程设计任务及要求................................................... 1

1.2.1任务............................................................ 1

1.2.2 要求........................................................... 1

1.3 软硬件运行环境及开发工具............................................. 1

2 概要设计................................................................... 2

2.1 循环彩灯流程图....................................................... 2

2.2 设计原理及方法....................................................... 4

3 详细设计................................................................... 5

3.1硬件设计与实现........................................................ 5

3.1.1 LED数码管结构.................................................. 5

3.1.2 LED数码管与8255的连线设计..................................... 5

3.1.3 8255与中断电路的实现........................................... 6

3.2 主控模块设计......................................................... 6

4 系统调试与操作说明......................................................... 8

4.1  系统调试............................................................ 8

4.1.1 硬件调试....................................................... 8

4.1.2 软件调试....................................................... 8

4.2 操作说明............................................................. 8

5 课程设计总结与体会......................................................... 9

参考文献:.................................................................... 9

附录........................................................................ 10


1 需求分析

1.1 课程设计题目

设计题目:彩灯显示系统

1.2课程设计任务及要求

1.2.1任务

1.设计8种彩灯显示方式,显示时必须有左、右移动循环亮,左右对向移动循环亮;

2.用三个开关输入0~7  8个十进制数字,选择8种不同的彩灯组合状态进行显示;

3.用1位7段LED数码管以十进制显示当前彩灯显示方式的序号;

4.使用软件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔;

5.若有异常事件发生(用开关模拟中断信号的产生),则使红灯闪烁10秒钟后,返

回原处继续。

6.使用硬件延时实现彩灯左、右移动循环过程中点亮1s的时间间隔。(选做)

1.2.2要求

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.掌握计算机应用系统的软硬件的调试方法和步骤;

3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

① 设计任务与要求           ② 总体方案与说明

③ 硬件原理图与说明          ④ 实验电路图与说明

⑤ 系统流程图               ⑥ 软件主要功能模块及流程图

⑦ 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);

⑧ 小结与体会

⑨ 参考文献

提供附录:① 源程序(必须有简单注释)  

② 使用说明     

③ 参考资料

1.3 软硬件运行环境及开发工具

1. 7段LED数码管引脚功能

2. TDN86/88型多功能微机实验平台

2 概要设计

2.1 循环彩灯流程图

    循环彩灯的设计思想就是通过读开关状态信息,执行程序。首先检测开关K1,启动程序,然后彩灯闪烁亮,检测k2,彩灯左循环亮,检测k3,彩灯右循环亮,检测k3和k2,彩灯右递增亮,检测k4和k1,彩灯由中间向两边扩散亮最后全亮,检测k2和k1,彩灯次循环由中间向两边扩散亮,。检测开关K0,退出循环控制程序。如图2-1。

                      

图2.1   程序流程图

2.2 设计原理及方法

    在本次实验中主要用到了8255A可编程并行接口芯片。Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。

(1) 数据总线缓冲器

    它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的

(2) 三个8位端口PA、PB、PC

   端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;

   端口B(PB口):有一个8位数据输入锁存器和一个8位数据输入/输出,锁存/缓冲器;

   端口C(PC口):有一个8位数据输入锁存器和一个8位数据锁存/缓冲器。

   通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。

(3) A组和B组控制电路

   A组:PA口和PC口的高四位(PC7~PC4);

   B组:PB口和PC口的低四位(PC3~PC0)。

   用来管理数据信息.控制字和状态字的传送,它接收来自CPU的地址总线的A1,A0和控制总线的信号RD.WR.RESET等,并向8255A的A,B两组发送命令.由它控制把CPU发出的控制命令字或输出的数据送到相应的端口,或把外设的状态信息或输入的数据从相应的端口送到CPU.

3 详细设计

3.1硬件设计与实现

3.1.1 LED数码管结构

    LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。图5所示是两种LED数码管的外形与内部结构,+、-分别表示公共阳极和公共阴极,a~g 是7个笔段电极,DP为小数点。LED数码管型号较多,规格尺寸也各异。

                          图3-1  LED内部结构

3.1.2 LED数码管与8255的连线设计

    A口和B口0方式, A口为输入端口,接有4个开关, B口为输出端口,接有一个七段发光二极管,编程实现发光二极管显示开关所拨通的数字。

A口地址:60H   B口地址:61H   C口地址:62H    控制口地址:63H

图3.2 LED数码管与8255的连接图

3.1.3 8255与中断电路的实现

    按图接线,编写程序,使8255A端口A工作在方式0并作为输出口,端口B工作于方式1并作为输入口,则端口C的PC2 成为选通信号输入端STBB,PCO 成为中断请求信号输出端INTRB。当B口数据就绪后,通过发STBB 信号来请求CPU读取端口B数据并送端口A输出显示。IRQ7中断子程序是实现所有灯闪烁10s就返回的功能。具体流程就如下:

 

图3.2 中断服务程序流程图

3.2 主控模块设计

   该模块实现控制程序流程的功能。具体实现方法为:根据8255的PA口状态(0或1),判断程序的走向。如果PA=0,彩灯全灭处于等待PA状态的变化;如果PA=1(第一次为1)则输出显示第1种彩灯,假设PA第N次为1,由于只有8种彩灯模式,所以输出显示为第[N mod 8]种彩灯。编写程序如下:

CBC: MOV BL,00H          

 AA:  MOV DX,IOAPT

        IN AL,DX

        CMP AL,00H

        JZ K_0            ;全灭,等待PA口状态的变化

        INC BL

        CMP BL,08H

        JG CBC

        MOV AL,BL

        JMP CC

  BB:  MOV DX,IOAPT

        IN AL,DX       

        CMP AL,00H

        JZ K_0             

        MOV AL,BL

   CC: CMP AL,01H

         JZ K_1             ;第1种彩灯显示

         CMP AL,02H

         JZ K_2             ;第2种彩灯显示

         CMP AL,03H

         JZ K_3             ;第3种彩灯显示

         CMP AL,04H

         JZ K_4             ;第4种彩灯显示

         CMP AL,05H

         JZ K_5             ;第5种彩灯显示

         CMP AL,06H

         JZ K_6             ;第6种彩灯显示

         CMP AL,07H

         JZ K_7             ;第7种彩灯显示

         JMP K_8            ;第8种彩灯显示

K_0:  MOV AL,0FFH

         CALL IOLED

         JMP AA

4 系统调试与操作说明

4.1  系统调试

4.1.1硬件调试

    最初设计的电路是由KK1和KK2来控制系统的启动和停止,KK1接PC7,KK2接PC0。后 来考虑到KK1和KK2都要接2根线,接线时比较复杂。后来改用K2来控制系统的启动K3来控制系统的停止。K2接C组的PC6,K3接C组的PC7。花型的变换还是由K0和K1来控制。K0接A组的PA0,K10接A组的PA1。B组的PB0—PB7接发光二级管的D0—D7。

4.1.2软件调试

    软件调试是一个困难的过程。从初始化开始调试。开关改接后,PB输作为输出口,PA和PC作为输入口。所以初始化改为MOV  AL,98H。

    因为我对接口地址不是很清楚,所以造成程序在读断口地址时发生错误。A口地址为 60H,B口地址为61H,C口地址为62H。经改正后,各子程序可正常运行。开关对应的是和开关相连接的端口地址,所以检测开关时,检测的是对应A组C组的地址。即检测K0要用TEST AL,80H,就的对PC7的检测。经过以上的调试,编译加载后系统能够正常运行。

4.2 操作说明

(1) 按实验接线图接线。

(2) 输入程序并检查无误,经汇编,连接后装入系统。

(3) 运行程序。观察灯的变化,拨动开关K0~K3控制彩灯显示。当K0,K1,K2,K3 为0000 时,

彩灯全灭;当K0,K1,K2,K3为0001时,彩灯依次点亮;当K1,K2,K3,K4为0010时,彩灯左右4个交替点亮;K0,K1,K2,K3的状态按0011,0100……1111规律递增,会出现不 同的彩灯显示模式和序号显示(0~8)。本次课程设计总共实现了8种不同的彩灯显示模式和0~8的序号显示。

                             

5 课程设计总结与体会

本次课程设计成果让我们得以体会课程的意义,学习系统设计的方法,养成良好的汇编习惯,培养了我们在生活中发现问题、应用所学知识解决问题的能力。

    课程设计中碰到了很多困难,经过老师和同学的帮助,都能够得以解决。使我深深的体会到,团队合作精神的重要和可贵。其次,在此次课程课程设计中,我知道了个人思路和团队计划的重要性。只有思路清晰才能制定好一个完整严密的计划。这样即可以节约时间,也避免了一些不必要的麻烦。先设计好硬件的电路原理图,再进行软件的编译。第一次是不可能成功的,所以在做软件的编译和调试时一定要有很好的细心和耐心。

    经过此次课程设计,我进一步了解了8255A各引脚的功能,8255A和系统总线之间的连接, 8255A和CPU之间的数据交换,以及8255A的内部逻辑结构。我深入掌握了8255A显示电路的基本功能及编程方法,同时我深入了解了8255等芯片的工作方式、作用。

                                  

参考文献:

[1] 周佩玲,彭虎,傅忠谦.《微机原理与技术》,电子工出版社  2005.

[2] 周明德.微型计算机系统原理及应用(第四版)习题集与实验指导书》,清华大学出版社,2002.

[3] 吴秀清,周荷琴. 微机计算机原理与接口技术(第二版).中国科学技术大学出版社,2002.

附录

源程序:

DATA SEGMENT

TAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH

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

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START:MOV AX,DATA

      MOV DS,AX

      MOV AL,90H

      OUT 63H,AL 

;8259中断初始化程序  

      PUSH  DS

      MOV   AX,0000H

          MOV    DS,AX             ;数据段清零

          MOV    AX, OFFSET IRQ7   ;取中断程序入口地址(相对地址)

      MOV    SI, 003CH           ;8259中断7中断矢量

          MOV    [SI],AX           ;填偏移量矢量

          MOV    AX,CS             ;段地址CS

          MOV    SI,003EH

          MOV    [SI],AX           ;填段地址矢量

       POP   DS

       IN    AL,21H              ;读8259中断屏蔽字

       AND   AL,7FH          ;开8259中断

      OUT   21H,AL

CBC: 

         IN AL,60H     ;取开关信息

         CMP AL,00H    

         JZ K_0        ;全灭,等待PA口状态的变化

         CMP AL,01H

         JZ K_1        ;第1种彩灯显示

         CMP AL,02H

         JZ K_2        ;第2种彩灯显示

         CMP AL,03H

         JZ K_3         ;第3种彩灯显示

         CMP AL,04H

         JZ K_4         ;第4种彩灯显示

         CMP AL,05H

         JZ K_5         ;第5种彩灯显示

         CMP AL,06H

         JZ K_6         ;第6种彩灯显示

         JMP default    ;第7种彩灯显示

K_0:    CALL ADD1       ;调用查询接口,灯全灭

       MOV AL,0FFH

        CALL IOLED

       JMP WAITING

;依次点亮

K_1:     CALL ADD1      ;调用查询接口,从右向左依次亮

          MOV CX,09H

           MOV AL,0FEH

LOOP_1:  CALL IOLED     ;彩灯显示

               ROL AL,1

               LOOP LOOP_1

               JMP WAITING

;左右4个交替点亮

K_2:     CALL ADD1

           MOV CX,09H

           MOV AL,0F0H

LOOP_2:  CALL IOLED     ;彩灯显示

               NOT AL

               LOOP LOOP_2

               JMP WAITING

;先全灭,然后全亮

K_3:        CALL ADD1

            MOV CX,09H

            MOV AL,00H

LOOP_3: CALL IOLED

               NOT AL

               LOOP LOOP_3

               JMP WAITING

;8个全灭后依次点亮至全亮

K_4:         CALL ADD1   ;彩灯显示

            MOV CX,09H

            MOV AL,0FFH

            MOV AH,01H

LOOP_4:  CALL IOLED

               SUB AL,AH

               ROL AH,1

               LOOP LOOP_4

               JMP WAITING

;先全亮后依次不亮至全灭

K_5:       CALL ADD1

          MOV CX,09H

           MOV AL,00H

           MOV AH,01H

LOOP_5:  CALL IOLED

               ADD AL,AH

               ROL AH,1

               LOOP LOOP_5

               JMP WAITING

;先两边亮后中间亮再循环

K_6:       CALL ADD1

           MOV CX,09H

           MOV AL,0C3H

LOOP_6:  CALL IOLED

               NOT AL

               LOOP LOOP_6

               JMP WAITING

default: CALL ADD1

            MOV CX,09H

            MOV AL,0AAH

LOOP_d:  CALL IOLED             

               NOT AL

               LOOP LOOP_d

               JMP WAITING

;彩灯显示子程序

IOLED:   PUSH CX

        MOV CX,0FFFFH

        MOV DX,61H

           OUT DX,AL

;延时子程序              

DELAY:   LOOP DELAY

        POP CX

       RET

;查询接口子程序

ADD1: MOV BX,OFFSET TAB1   ;取段码表首地址

      XLAT

      OUT 62H,AL

      RET

WAITING: PUSH CX

         MOV CX,0FFFFH

LOOP_K: LOOP LOOP_K

             POP CX

             JMP CBC

;中断服务子程序          

IRQ7:            

      MOV CX,10

  L1: MOV AL,0FH

      OUT 61H,AL ;红灯亮

      CALL DIS

      MOV AL,0FFH

      OUT 61H,AL

      CALL DIS

      LOOP L1                             

      MOV   AL,20H                 

      OUT    20H,AL                   

      STI

      IRET

;延时1s

DIS: push cx

     PUSH AX

     MOV CX,0100H

     DEC CX

 A3: MOV AX,0560H

 A4: DEC AX

     JNZ A4

 LOOP  A3

 POP AX

  pop  cx

 RET

                                                                          

CODE ENDS

      END START

                                             设计者:                

                                               期:20##0628

更多相关推荐:
微机原理课程设计总结,手抄版

微机原理课程设计总结以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好,但是但是当真的要做的时候也只好进自己最大的努力去做,做到自…

微机原理与接口技术及其课程设计心得体会

微机原理与接口技术及其课程设计心得体会本学期的微机原理和接口技术及其课程设计都已经结束。在这个过程中,我们有所付出,也有所回报,让我感受颇多。对于《微机原理与接口技术》这门课程而言,初学时,感觉摸不着头绪。面对…

微机原理课程设计总结

南京航空航天大学微机原理课程设计数据采集系统中断法微机原理课程设计数据采集系统中断法南京航空航天大学微机原理课程设计数据采集系统中断法一课设目的进一步掌握微机原理知识了解微机在实时采集数据的应用学习掌握编程和程...

微机原理课程设计总结

微机原理课程设计总结以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最…

计算机网络课设总结

课设总结通过此次短暂的课程设计,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但是也学到了不少的知识。在实训的刚开始构想只有大体的思路,忽略了一些细节,因此在我真正做设计网络方案时发现有很多错误,…

计算机组成原理课程设计个人总结

这次课程设计是在已学计算机组成原理基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的…

计算机硬件课程设计总结

信息A0911班01号颜娇指导老师张伟艳硬件类课程设计总结与心得在这次为期一礼拜的实训课程中最基本的是让我又学会了一种软件的基本用法并且也对一些基本的物理知识得到扩展知道了一些基本工具之间的差别在这一星期内我们...

微机课设

课程设计报告20xx20xx年度第1学期名称微机原理及应用题目院系控制与计算机工程学院班级自动化1201学号学生姓名设计周数一周同组人成绩日期20xx年1月15日一设计思想阐述将可编程外围接口芯片8255A与键...

小学微机课工作总结

小学微机课工作总结,内容附图。

微机课设

太原理工大学现代科技学院微机原理与接口技术课程设计姓名班级自动学号目录题目1设计目的1设计要求1主要技术指标1课程设计课题的分析1实验代码3实验现象9课程设计的心得与体会11题目计算机仿真电子琴一设计目的本课程...

微机课程设计

河南理工大学单片机应用与仿真训练设计报告四路定时控制器姓名学号专业班级指导老师所在学院万方科技学院20xx年6月5日目录目录1摘要21概述311单片机内部资源312四路定时器的基本功能313系统的原理314实际...

新微机课设1

微机原理与接口技术课程设计大纲课程编号课程名称微机原理与接口技术课程设计周数学分一周1个学分先修课程数字电路模拟电路微机原理与接口技术适应专业电子信息工程电气工程及其自动化等开课单位电子信息工程系电子信息教研室...

微机课设总结(21篇)