当前位置:文档之家› 数字钟_接口课设报告_8086微机原理与接口技术课程设计

数字钟_接口课设报告_8086微机原理与接口技术课程设计

数字钟_接口课设报告_8086微机原理与接口技术课程设计
数字钟_接口课设报告_8086微机原理与接口技术课程设计

接口技术基础

学院:计算机科学与技术学院

班级:计091

学号:0913022032

姓名:曹恒楼

指导老师:顾晖

时间:2012/6/16

目录

数字钟的设计 (3)

1 设计需求分析与解决方案 (3)

1.1 设计需求分析 (3)

1.1.1 题目要求 (3)

1.1.2 根据题目要求提出问题 (3)

1.2 解决问题方法及思路 (3)

1.2.1 硬件设计选择部分 (3)

1.2.2 软件设计分析 (4)

2 硬件设计 (5)

2.1 选择芯片8255 (5)

2.1.1 芯片8255 A在本设计中的功能作用 (5)

2.1.2 芯片8255 A的功能分析 (5)

2.1.3 8255 A 方式控制字 (5)

2.1.4 8255 A与外设相连的逻辑图 (6)

2.2 选择器件 LED (6)

2.2.1 LED在本设计中的作用 (6)

2.2.2 LED功能分析 (6)

2.2.3 LED技术参数 (7)

2.3 硬件设计思路及连线图 (7)

2.3.1 硬件设计思路 (7)

2.3.2 硬件接线原理图、连接图 (7)

3 软件设计思路及程序控制流程框图 (8)

3.1 软件设计思路 (8)

3.2 程序流程图的相关说明 (9)

3.3 程序控制流程框图 (9)

3.4 程序清单(见附录) (11)

4 实验环境 (11)

5 上机调试过程 (11)

5.1 硬件调试 (11)

5.2 软件调试 (13)

5.3 软、硬件联立调试 (13)

5.4 调试结果 (13)

6 实验运行结果、分析 (15)

6.1 实验运行结果与分析 (15)

6.2 问题讨论 (15)

7 实验心得 (16)

8 参考文献 (17)

附录(源代码) (17)

数字钟的设计

一、设计需求分析与解决方案

1.1 设计需求分析

1.1.1 题目要求

设计一个接口与七段LED显示器,显示一个计时时钟,显示初值为0,每隔一秒改变一次显示值,60s为一分钟,60min为一小时,LED显示器循环显示时、分、秒的动态值。

1.1.2 根据题目要求提出问题

1、选择用于显示时间的显示器;

2、怎样使显示器实现显示时间;

3、如何实现计时功能,是用软件还是硬件实现;

4、选择何种接口芯片以及考虑该接口芯片及LED显示器的技术参数,考虑最大工作电流,需不需要其他辅助芯片等;

5、对设计题目功能的扩展,在设计中加入其他功能;

6、可否用不同的设计方法完成设计,与其他计算机语言设计相比的异同之处。

1.2 解决问题方法及思路

1.2.1 硬件设计选择部分

1、接口芯片的选择

秒位设置完毕后,如何将时间信息传送到外设中,即选择何种芯片用于CPU 与外设之间传送信息。接口芯片是微型机系统中实现输入输出的常用器件,是CPU与外设之间的界面,一方面要接收CPU进行输入/输出所发出的一系列信息,另一方面又要与外设交换数据以及一些联络信号等。为增加本设计的灵活性,在接口的选择上要求是可编程的输入/输出接口8255A芯片或8251A芯片。

8255A芯片:它是一种可编程通用并行接口芯片,它有24条可编程的I/O 引脚,采用40脚双列直插式封装,单一+5V电源,全部输入/输出均与TTL电平兼容。在8255A中有A、B、C三个并行输入/输出端口,其功能全部由程序设定,每个端口都有自己的特点。A口、B口通常作为独立的I/O端口使用,C口也可以作为一般的I/O端口使用,但当A口、B口作为应答式的I/O端口使用时,C口分别以来为A口、B口提供应答控制信号。如果采用8255A作为计时时钟的输入/输出接口,那么8255A的三个端口设置如下:A口工作与方式0,作为输出口,其PA0~PA6分别与外设的段选码相连,用以确定在何时显示时间的哪一位;B口工作与方式0,作为输出口,其PB0~PB7分别与外设相连,作为位选线;C口用来为A口、B口提供应答控制信号。

8251A芯片:它是一种可编程通用串行接口芯片,是通用的同步异步接收/

发送器,它的作用是把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,它可以通过编程选用同步/异步通信方式,它具有独立的发送器和接收器,能够以单工、半双工或全双工方式进行通信,并提供相应的控制信号。

最佳解决方案:如果采用8251A作为计时时钟的输入/输出接口,那么就需要把计算机的并行数据转换成串行数据发送出去,把接收到的外部串行数据转换成并行数据送入计算机内部,这个过程是需要时间的,所以从时间效率方面来说并没有8255A芯片合适;另外,可编程并行接口芯片(8255A)数据传输速度快,虽然使用的通信线多,但是传输距离并不算远,所以在解决接口问题时,采用可编程并行接口芯片8255A是比较合适的。

2、时间显示

为实现计时时钟的显示,可选择共阴极(或共阳极)七段LED上,芯片LCD 或LED,表1-1为两种芯片的比较:发光二极管,是由发光二极管排列组成的显示器件,它采用低电压扫描技术,具有耗电少,使用寿命长,成本低,亮度高,故障少,视角大,视角大,可视距离远的特点。

通过分析和对比以及实验室实验条件可知LED显示器要较优于LCD显示器,因此本实验选择LED来实现时间的显示。

3、秒钟设计

秒钟的设计有两种解决方案:硬件实现、软件实现:

(1)硬件分析:可选择8253A芯片,8253A是一种定时准确、使用方便、灵活性大的可编程定时器/计数器,其定时的时间长度可以通过软件来设置,对芯片设置处置初值后,计数器开始工作,微处理器就可以去做其他工作,定时时间到,电路会产生一个信号,向微处理器提出中断请求,告诉处理器定时时间已到。

(2)软件分析:为实现1秒长度的设定,可执行一个循环程序,通过循环次数和循环嵌套的层数来调节计时时间的长短,该方法的优点是不需要专用的硬件,从而成本低,方法简单灵活,使用起来也比较容易。

(3)最佳解决方案:通过以上分析,硬件实现1秒的设定虽然较准确,但用软件来实现可以极大的节约成本,而且通过周密的计算循环的次数和循环嵌套的层数也可以将计时的准确度提高,所以在实现计时时间方面选择软件是比较好的方案。

1.2.2 软件设计分析

1、初始值设置

在程序中的数据段定义秒位数据second,分位数据minute,时位数据hour,初始值都设为00H,并在LED显示器上显示初值。

2、8255初始化

设置8255的工作方式:B口和C口都用于输出,且都工作在方式0。

3、计时过程

从初始值开始显示,当显示了1s时,秒位加1,并判断秒位是否为60,若不是,则直接显示时间;若是,则将秒位置0,分位加1,接着判断分位是否为60,若不是,则直接显示;若是,则将分位置0,时位加1,然后判断时位是否

为25,若不是,则直接显示;若是,则将时位置0,日期加1,并判断日期是否加到31,若是,则将日期清零,重新计时。如此循环。

4、1秒时间的设定

执行一个循环程序,通过循环次数和循环嵌套的层数来调节计时时间的长短,该循环次数处定为0100h。

二、硬件设计

2.1 选择芯片8255

2.1.1 芯片8255 A在本设计中的功能作用

8255是并行的I/0接口芯片,内部有三个相互独立的8位数据端口。8255实现了外设与8086之间的数据传输。8255的B口工作于方式0,作为输出口,其PB0~PB7分别与LED数码管显示器的显示器的八段a,b,c,d,e,f,g,dp相连,C 口作为输出口,其PC7~PC0与LED数码管显示器的LED0~LED7相连,作为位选。

2.1.2 芯片8255 A的功能分析

1、8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A 口、B口和C口。三个端口都可以作为输入端口或输出端口。A口有三种工作方式:方式0、方式1和方式2;B口可以工作在方式0或方式1下;C口通常作为联络信号使用。8255的工作只有当片选CS有效时才能进行工作,而控制逻辑端口实现对其他端口的控制。当8255 A工作在方式0时,即基本输入输出方式时,可将三个数据端口划分为四个独立的部分:A口和B口作为两个8位端口,C口的高4位和低4位可以用作两个4位的输入输出口,各个端口都可独立地用作输入或输出。

2、数据总线缓冲器是一个8位双向三态缓冲器,三态是由读/写控制逻辑控制的,它可与系统的DB直接相连,实现CPU和8255A之间的信息传送;读写控制器用于管理数据、控制字或状态字的传送,接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。

2.1.3 8255 A方式控制字

8255A的方式控制字(见图2-1)

图2-1 8255A的方式控制字

2.1.4 8255 A 与外设相连的逻辑图

图2-3 8255与外设相连的逻辑图

PA7~PA0:A口数据信号线;

PB7~PB0:B口数据信号线;

PC7~PC0:C口数据信号线。

2.2 选择器件LED

2.2.1 LED在本设计中的作用

LED发光二极管(Light-Emitting Diode),在本设计中采用7段数字发光二级管,是作为终端用来显示计时时钟的时、分、秒、毫秒值的。

2.2.2 LED功能分析

LED发光二级管分为共阳极和共阴极两种,共阳就是7段的显示字码共用

一个电源的正极,同理共阴就是7段的显示字码共用一个电源的阴极,共阴极数码管原理示意图如下:(见图2-4)

图2-4 LED原理图

LED数码管采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字。

2.2.3 LED技术参数

数字DP g f e d c b a 二进制编码(字形)

0 0 0 1 1 1 1 1 1 3FH

1 0 0 0 0 0 0 1 1 03H

2 0 1 0 1 1 0 1 1 5BH

3 0 1 0 0 1 1 1 1 4FH

4 0 1 1 0 0 1 1 0 66H

5 0 1 1 0 1 1 0 1 6DH

6 0 1 1 1 1 1 0 1 7DH

7 0 0 0 0 0 1 1 1 07H

8 0 1 1 1 1 1 1 1 7FH

9 0 1 1 0 1 1 1 1 6FH

A 0 1 1 1 0 1 1 1 77H

B 0 1 1 1 1 1 0 0 7CH

C 0 0 1 1 1 0 0 1 69H

D 0 1 0 1 1 1 1 0 5EH

E 0 1 1 1 1 0 0 1 79H

F 0 1 1 1 0 0 0 1 71H

表2-5 LED共阴极显示管段选码编码表

2.3 硬件设计思路及连线图

2.3.1 硬件设计思路

8086的8位数据线D7~D0与8255的D7~D0相连,地址线经74LS373锁存后其低位A0、A1分别与8255的A0、A1相连,其他地址线经74LS138译码后,其CS0接8255的片选CS引脚,其入口地址为00F0H~00F3H。

8255的A口PA0~PA7分别与逻辑开关的K1~K8相连,其中开关量K7用于判断是否修改时间,K5~K6用于判断修改哪一位,K1~K4为要修改的值;B口作为段选;C口作为位选段码信号。

2.3.2 硬件接线原理图

图2-6 硬件连线原理图

图2-7 硬件连接图

三、软件设计思路及程序控制流程框图

3.1 软件设计思路

1、初始化8255A,设置其工作方式。

2、设置初值,定义对应十六进制数的七段代码表及其时间区表。

3、显示计时并循环判断,当1秒时间到是则秒位加1计时显示。

4、8255A芯片个端口地址为:控制端口地址:206H

A口地址:200H

B口地址:202H

C口地址:204H

3.2 程序流程图的相关说明

首先对8255A进行初始化,然后开始读取开关量,判断是否要修改时间,若需修改,则判断需修改哪位,随后将该位对应的时间区数据修改为逻辑开关K1~K4对应的值,若不需要修改则继续显示并循环判断,当1秒时间到达时,则秒位加1计时显示。

3.3 程序控制流程框图

开始8255初始化送1秒时间常数数读取开关量

修改时间

修改秒低位

修改秒高位

修改分低位

修改分高位

修改时低位

修改时高位

显示时间

1秒时间

秒位加1

秒=60

秒为00分加1

分=60

分为00时加1

时=23

时为00重计时

N

N

N

修改日低位

修改日高位

图3-1 程序流程图

图3-2中断操作流程图

3.4 程序清单(见附录)

四、实验环境

系统环境:Win-7系统

软件环境:Proteus

五、上机调试过程

5.1 硬件调试

本次课程设计采用的是Proteus集成软件开发环境,把总体分为3大块,第一块就是8086CPU译码电路,如下图5-1,第二块为8255A控制的时间显示电路,如下图5-2,第三块为8255A不可屏蔽中断控制电路,如下图5-3.

在硬件接线连接时,应将8255A的A口与端控制端口相连,用于决定显示值,B口也同段控制端口相连,决定显示值,而C口8位接两个位控制端口,用于决定哪个数码管显示。中断电路与8086CPU译码电路均参照课本先有实验图连接,至此,硬件线路已经接好。

图5-1 8086CPU译码电路

图5-2 数码管显示电路

图5-3 中断控制电路

5.2 软件调试

在软件部分,程序分为三个部分:8255A初始化部分,读入初值、循环操作部分,显示出数字量部分。

5.3 联立调试

软件和硬件分别调试完毕后,进行联机调试,出现了新的问题:显示在LED 数码管上的数字不停跳跃,变幻不定,数值显示不稳定,控制不好。

要解决这个问题,我问了几个同学,分别进行修改,刚开始采用6位,改了好久总是控制显示的不好,要么奇数位显示要么偶数位显示,修改了延时操作,又增加了清屏操作,但是数码管还是显示不好。所以最后决定用两个4位数码管显示,增加毫秒位,这样在软件设计时没有出现显示问题,除此之外,每个数字显示后的延时是利用延时子程序的循环次数来控制的,为了使数字编码显示得清楚,应该通过调试,确定延时子程序的循环次数。在本设计中,循环次数设为16(10h)次。

5.4 调试结果

调试后编码结果正确,显示清楚,稳定,且可通过按键进行清零,及校时操

作。

图5-4-1 程序运行效果

图5-4-2 清零操作

图5-4-3 校时操作

六、实验运行结果、分析

6.1 实验运行结果与分析

结果:当程序开始全速运行时,LED显示器上显示“00 00 00 00”,一秒后变为“00 00 01”这样每隔一秒秒位加1,显示“00 00 59”的后一秒显示为“00 01 00”,显示“23 59 59”的后一秒显示为“00 00 00”。

三个按键分别用于实现复位清零、分钟加一、小时加一的系列校时操作,按下复位后,数码管显示初值,加一即在原来基础上进行。

分析:将8255A的A口(PA0-PA7)作为输出用,A口(PA0-PA7)作为输出用(送段选码),B口(PB0-PB7)作为输出用(送段选码),C口作为输出用(送位选码)。程序首先从8255A的A口读取初始值,并进行显示时间,若按键有中断则响应中断操作。在8255A的B口送段选码,C口送位选码后在LED显示器上显示时间;若中断操作为分钟加一或小时加一,则将对应的值经段码表转换及程序转换后在B口(PB0-PB7)输出作为段选码,在C口输出位选码后在LED显示器上显示时间。然后程序判断之前设置的一秒的时间常量有没有到,若一秒时间到,则将时间加一后接着显示。

6.2 问题讨论

该试验一开始较简单仅显示分秒,没有出现什么问题,后来加上时日和毫秒以及按键后致使程序变得复杂,条件跳转超出范围而调用子程序又有错,后来终于使用JMP指令完成了程序,结果达到了要求但程序太繁杂条理不清,然后自

己又将程序进行一些优化,把多余的操作删掉后,终使程序较为理想。

七、实验心得

微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下的是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

这次实验我选择的题目有是数字钟,因为一开始感觉并不是很难,所以就想一个人独自完成本次的课程设计,刚开始我的想法是硬件主要利用两个芯片,8255和8253,利用8253的通道0实现计时单元,同时利用软件进行计数,而时间显示则采用6个7段数码管分别显示时、分、秒,并采用动态扫描方式来实现。但我依着这个总体设计想法做了两天后,硬件也连接好了,代码也写好了,但是数码管总是显示的不对,然后又花了一天的时间去调代码,可是最后还是没调出来,主要就是对数码管的控制不好,用8255的C口PC0~PC6来分别控制六个数码管,但是总是显示的不对,请同学帮看看后,也没有得到很好的解决。所以我立刻改了方案,利用软件计数,同时用8255的C口控制8个7段数码管,多出的两位用来增加毫秒的显示功能,同时利用不可屏蔽中断NMI实现始终的复位、校时的功能,当然这样的设计也不是一帆风顺的,主要的困难来自对程序的理解,例如始终的两位,逢十就要向十位进一,余数用作个位的显示,同时每100ms 要向秒进1,每逢60s要向分进1,每逢60min要向小时进1,而一天只有24小时,整个过程要用软件进行控制,其实是有难度的,还涉及到内存的存取原理,低位高位的转换等等,都是需要我一个人去解决的,功夫不负有心人,经过我的摸索以及向同学的一些请教,我最终对实验的原理有了清晰的认识。虽然主要芯片就是用了8255,但是在那么短的时间内能够完成设计既定的功能,我对这个结果还是很满意的。

总之,通过这次课程设计,我更加清晰的认识了计算机中常用接口电路及8255A的应用和设计技术,也认识到了理论知识对应用技术的指导性作用。通过实践,我进一步加深了对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题、解决问题的能力得到了一定的提高。我也更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识。

在实验过程中,我也遇到了一些困难,但是我通过及时请教同学,查询相关资料,及时解决了问题,但仍有不足之处,我将会在今后学习中更加努力。

八、参考文献

[1] 顾晖,梁惺彦等.微机原理与接口技术.北京:电子工业出版社,2011.8

[2] 沈美明,温冬婵.IBM-PC汇编语言程序设计(第2版). 北京:清华大学出版社,2001

附录(源代码):

IO1 EQU 200H

IO2 EQU 400H

CODE SEGMENT 'CODE'

ASSUME CS:CODE

START:MOV ES,AX

MOV SI,2H*4 ;不可屏蔽中断NMI向量设置

MOV AX,OFFSET UPDATETIME ;偏移地址

MOV ES:[SI], UPDA TETIME

MOV AX, SEG UPDA TETIME ;段地址

MOV ES:[SI+2],AX

MOV AL,10001001B ;显示8255A初始化,A,B,C三端口均工作在方式0,基本输出

MOV DX,IO1+6

OUT DX,AL

MOV AL,10000000B ;控制器8255A初始化,C端口输出

MOV DX,IO2+6

OUT DX,AL

LOP1: CALL TIMEDISPLAY ;调用时间显示器

CALL TIMESET ;调用设置时间

JMP LOP1

MOV AH,4CH

INT 21H

TIMESET PROC ;设置时间显示器

PUSH DX

PUSH CX

PUSH BX

PUSH AX

PUSH SI

PUSH DI

PUSHF

LEA DI,TIMEOUT

MOV DX,WORD PTR[DI] ;取计时器分钟

MOV CX,WORD PTR[DI+2] ;取计时器秒钟

MOV BX,WORD PTR[DI+4] ;取计时器分钟

MOV AX,WORD PTR[DI+6] ;取计时器秒钟

XCHG AH,AL ;由于内存关系,高低位交换

XCHG BH,BL

XCHG CH,CL ;由于内存关系,高低位交换

XCHG DH,DL

CMP AL,9 ;毫秒100进1,与9相比,如果相等则加一后向高位进一;否则直接加一

JNZ NEXT2

MOV AL,-1 ;因为都要加一,所以要显示0这里给-1值CMP AH,9

JNZ NEXT3

MOV AH,-1

CMP BL,9

JNZ NEXT4

MOV BL,-1

CMP BH,5 ;秒60进1

JNZ NEXT5

MOV BH,-1

CMP CL,9

JNZ NEXT6

MOV CL,-1

CMP CH,5 ;分60进1

JNZ NEXT7

MOV CH,-1

CMP DL,9

JNZ NEXT8

MOV DL,-1

CMP DH,2 ;24小时

JNZ NEXT9

MOV DH,-1

NEXT9:INC DH ;加1操作

NEXT8:INC DL

NEXT7:INC CH

NEXT6:INC CL

NEXT5:INC BH

NEXT4:INC BL

NEXT3:INC AH

NEXT2:INC AL

XCHG AH,AL ;由于内存关系,高低位交换

XCHG BH,BL

XCHG CH,CL ;由于内存关系,高低位交换

XCHG DH,DL

MOV WORD PTR[DI],DX ;取计时器分钟

MOV WORD PTR[DI+2],CX ;取计时器秒钟

MOV WORD PTR[DI+4],BX ;取计时器分钟

MOV WORD PTR[DI+6],AX ;取计时器秒钟

POPF

POP DI

POP SI

POP AX

POP BX

POP CX

POP DX

RET

TIMESET ENDP

TIMEDISPLAY PROC ;调用时间显示器

PUSH CX

PUSH BX

PUSH AX

PUSH SI

PUSH DI

PUSHF

MOV CL,77H ;01110111循环右移

MOV CH,0

LEA SI,TIMEOUT

MOV DI,SI

ADD DI,4

DISP2: MOV AL,CL ;输出位码MOV DX,IO2+4

OUT DX,AL

MOV BX,OFFSET LEDTAB ;输出A段码

MOV AL,[SI]

XLAT

MOV DX,IO2

OUT DX,AL

MOV BX,OFFSET LEDTAB ;输出B段码

MOV AL,[DI]

XLAT

MOV DX,IO2+2

OUT DX,AL

CALL DISPLAY ;延时

MOV AL,0H ;清空A端口的内容MOV DX,IO2

OUT DX,AL

MOV AL,0H ;清空B端口的内容MOV DX,IO2+2

OUT DX,AL

INC DI

INC SI

ROR CL,1

INC CH

CMP CH,4

JZ NEXTTIME

JMP DISP2

NEXTTIME: POPF

POP DI

POP SI

POP AX

POP BX

POP CX

RET

TIMEDISPLAY ENDP

DISPLAY PROC ;延时

PUSH CX

PUSH BX

MOV BX,10H

D1: MOV CX,0FH

D2: LOOP D2

DEC BX

JNZ D1

POP BX

POP CX

RET

DISPLAY ENDP

UPDATETIME PROC

CLI

PUSH DX

PUSH CX

PUSH AX

PUSH SI

PUSHF

MOV DX,IO1+4

IN AL,DX

CMP AL,11111110B ;清零

JZ A5

CMP AL,11111101B ;分钟加1

JZ A4

CMP AL,11111011B ;小时加1

JZ A3

JMP NEXTOUT

A5: LEA DI,TIMEOUT

MOV AX,0

MOV WORD PTR[DI],0 ;取计时器分钟

MOV WORD PTR[DI+2],0 ;取计时器秒钟

MOV WORD PTR[DI+4],0 ;取计时器分钟

MOV WORD PTR[DI+6],0 ;取计时器秒钟

JMP NEXTOUT

A4: LEA DI,TIMEOUT

MOV DX,WORD PTR[DI] ;取计时器分钟

MOV CX,WORD PTR[DI+2] ;取计时器秒钟

XCHG CH,CL ;由于内存关系,高低位交换XCHG DH,DL

CMP CL,9

JNZ N6

MOV CL,-1

CMP CH,5

JNZ N7

MOV CH,-1

CMP DL,9

JNZ N8

MOV DL,-1

CMP DH,2

JNZ N9

MOV DH,-1

N9: INC DH

N8: INC DL

N7: INC CH

N6: INC CL

XCHG CH,CL ;由于内存关系,高低位交换XCHG DH,DL

MOV WORD PTR[DI],DX ;取计时器分钟

MOV WORD PTR[DI+2],CX ;取计时器秒钟

JMP NEXTOUT

A3: LEA DI,TIMEOUT

MOV DX,WORD PTR[DI] ;取计时器分钟

XCHG DH,DL

CMP DL,9

JNZ X8

MOV DL,-1

CMP DH,2

JNZ X9

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计数字时钟程序

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 电子信息科学与工程 课程名称:微型计算机原理及应用 学年学期: 2 01 1 —2012 学年第1 学期 指导教师: 20 0 1 1年 1 2月 课程设计成绩评定表

目录 一、课设题目及目的………………………………….4 二、设计任务………………………………………….4 三、总框图及设计流程 (4) 四、?源程序清单 (6) 五、?调试结果及显示 (19) 六、?个人贡献………………………………………….19 七、课程设计总结及体会 (21) 一、课设题目及目的 实习题目:数字时钟程序 实习目的:通过实习,使我们进一步弄懂所学到的课本知识,巩固和深化对8086系统的指令系统、中断系统、键盘/显示系统、程序设计、应用开发等基本理论知识的理解,提高汇编语言应用于技术的实践操作技能,掌握汇编语言应用系统设计、研制的方法,培养利用科技革新、开发和创新的基本能力,为毕业后从事与其相关的工作打下一定的基础。

二、课设任务 本课题为利用汇编语言设置时钟程序,其显示效果为:截取系统时间,能以时、分、秒(其中时为24小时制)的形式显示,并且通过合理的操作能修改时和分的内容来修改时间。再有,可以给它设定一个ALARM时间,到这个时间它就能产生信号,起到定时作用,。除此之外还能显示日期,日期分为年、月、日,其显示方式为xxxx年xx 月xx日。 ' *

DB '***********PRESS ESCBUTTON TO EXIT**************',0AH,0DH,'$' TN DB'PLEASE INPUT THE NEW TIME(HH:MM:SS):',0DH,0AH,'$' TMDB'PLEASE INPUT THE ALARM TIME (HH:MM:SS):',0DH,0AH,'$' MUSICMESS DB'PLEASE CHOOSE THE TYPE OF MUSIC:1(FAST) 2(MIDDLE) 3(SLOW)',0DH,0AH,'$' MESS2DB'TIME IS:',0AH,0DH,'$' MESS3DB 'TODAY IS:',0AH,0DH,'$' DBUFFER1DB20DUP('') T_BUFFD B 40 ;在数据段开一段时间显示缓冲区 DB ? DB 40DUP(?) HOR DB? MIN DB? SEC DB? TEMPHOR DB ? TEMPMIN DB? TEMPSEC DB? MUSIC DW 800;存放音乐的频率数DATA ENDS STACK SEGMENT DB 100 DUP(?) STACK ENDS CODESEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: CALL CLEAR ;调用清屏子程序 DISPLAY:;时间显示部分 MOV AX,DATA MOVDS,AX MOVBX,OFFSETT_BUFF;送T_BUFF的偏移地址到BX MOV AH,2CH;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中 INT 21H ;判断时间是否相等SUB DH,1;秒数+1修正 CALL CHECK ;.........................................................................

数字钟课程设计实验报告

《电子技术课程设计报告》 教学院:电气与电子信息工程学院 专业班级:xx级电子信息工程(x)班 学号:xxxxxxxxxxxx 学生:坏水 指导教师:xxxxxxxxxxxx 时间:2011.10.10~10.23 地点:电子技术实验室

课程设计成绩评定表

电子技术课程设计任务书 2011~2012学年第一学期 学生:坏水专业班级:xx电信本x班 指导教师:xxxxxxxxx 工作部门:电气与电子信息工程学院 一、课程设计题目:多功能数字钟电路的设计/直流稳压电源的设计 二、课程设计容(含技术指标): ①拟定多功能数字钟和直流稳压电源的组成框图,要现电路的基本功能,使用 的器件少,成本低; ②画出数字钟和直流稳压电源的主体电路逻辑图; ③测试多功能数字钟的逻辑功能,同时满足基本功能与扩展功能的要求; ④设计并安装各单元电路,要求布线整齐、美观,便于级联与调试;

四、基本要求 1.基本功能:要求设计出+5V的直流稳压电源。数字钟要求以数字形式显示时、分、秒的时间。小时计数器的计时要求为“12翻1”,要求具有手动校时功能。 2.扩展功能:定时控制,其时间自定;仿广播电台正点报时,自动报整点时数或触摸报整点时数(主要体现在理论知识上进行电路设计)。 (一)实训题目:直流稳压电源和多功能数字钟。 (二)实训目的: 1、巩固和加深学生对模拟电子技术,数字逻辑电路等课程基本知识的理解,综 合运用课程中所学到的理论知识去独立完成一个实际课题。 2、根据课程需要,通过查阅手册和文献资料,培养学生独立分析和解决实际问 题的能力。 3、通过电路方案的分析、论证和比较,设计计算和选用元气件,通过电路组装, 调试和检测环节,掌握电路的分析方法和设计方法。 4、熟用常用电子元气件的类型和特性,并掌握合理选用原则。 5、掌握电路图、PCB图的设计方法,学会电路的安装与调试。 6、掌握常用仪器、仪表的正确使用方法,学会电路整机指标的测试方法。(三)实训要求

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机接口电子表数字钟课程设计

微机原理与接口技术课程设计报告 设计名称:电子表设计 专业:计算机原理与接口技术 班级: xxxxxxx 姓名: XXX 学号: XXXXXXXXX 指导教师: XXXXXXXX 2014年 11 月 27 日

目录 摘要 (2) 一、设计目的及要求 (3) 1.1设计任务 (3) 1.2设计功能 (3) 1.3课程设计方式及基本要求 (3) 1.3.1 实验方式 (3) 1.3.2基本要求 (3) 1.4设计所用元件 (4) 二、设计题目及思想 (4) 2.1设计原理 (4) 2.2主要模块 (5) 2.3芯片初始化 (7) 2.4程序流程图 (9) 2.5硬件接线图 (11) 三、调试结果 (13) 四、课程设计总结 (16) 4.1遇到问题及解决方案 (16) 4.2 课程设计心得体会 (16) 参考文献 附录

摘要 汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。 关键词:汇编语言微机原理接口技术时钟显示

微机原理与接口技术-键盘LED显示【课程设计报告】

微机原理与接口技术-键盘LED 显示【课程设计报告】

重庆大学 课程设计报告 课程名称:微机原理与接口技术 设计题目:键盘LED显示 院系:电气信息学院 班级:2007级 设计时间:2009年12月

第一章概述 (2) 1.1学习目的 (2) 1.2 计算机的应用 (3) 1.3学习计算机的意义 (3) 1.4课程设计目的 (4) 第二章总体方案设计 (4) 2.1 设计注意问题 (4) 2.2 总体思路 (5) 第三章硬件设计 (5) 3.1 8255工作原理 (5) 3.2 键盘工作原理 (7) 3.3 键特征值的形成 (8) 3.4段值的形成 (9) 3.5 8255接线图 (11) 第四章软件设计 (12) 4.1 8255初始化 (12) 4.2 键盘扫描的处理方法 (12) 4.2.1. 判断是否有键被按下的方法 (12) 4.2.2. 判断是否有键被按下的源程序 (13) 4.2.3 防抖动 (13) 4.2.4.防抖动的延时子程序 (14)

4.3 程序核心部分 (14) 4.3.1 逐行扫描 (14) 4.3.2逐行扫描的源程序 (15) 第五章源程序代码 (15) 5.1 根据整体思路以及软件设计得到的代码. 15 5.2 以上代码存在问题分析 (19) 第六章难点分析 (20) 第七章体会感慨建议 (25) 第八章参考文献 (26) 第一章概述 1.1学习目的 “微机原理与接口技术”是电气工程及其自动化专业的一门重要

的专业基础课程。我们通过该门课的学习,知道了微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计,为后续的课程的学习和今后的工作打下坚实的基础。通过实验可以培养学生利用计算机技术和编程手段分析,解决专业领域的各种问题的能力和意识,并进一步感受微机发展的微机发展的新技术和新方法。 1.2 计算机的应用 目前计算机的应用已经遍布各个行业,如科学计算、数据处理、过程控制、人工智能、网络应用等。 科学和工程计算:科学和工程计算的特点是计算量大,而逻辑关系相对简单,它是计算机重要应用领域之一。 数据和信息处理:数据处理是指对数据的收集、存储、加工、分析和传送的全过程。这些数据处理应用的特点是数据量很大,但计算相对简单。多媒体技术的发展,为数据处理增加了新鲜内容,都涉及更广泛的数据类型,这些数据处理过程不仅数据量大,而且还会带来大量的运算和复杂的运算过程。 过程控制:过程控制是生产自动化的重要技术内容和手段,它是由计算机对所采集到的数据按一定方法经过计算,然后输出到指定执行机构去控制生产的过程。 人工智能:人们把计算机模拟人脑力劳动的过程成为人工智能。人工智能是利用计算机来模拟人的思维过程,并利用计算机程序来实现这些过程。 1.3学习计算机的意义 电子计算机是一种能自动高速地进行大量运算的电子机器。电子计算机的出现和发展,是科学技术和生产力的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

微机原理课设(电子时钟)

学院:计算机科学技术 专业:计算机科学与技术(工)班级:计08-1班 姓名:秦振兴 学号:27 指导教师:孙海 2011年7月1日

微机原理与汇编语言课程设计任务书 一、题目:电子表 二、设计的目的 1. 掌握利用PC机的的中断及中断服务程序的编写方法; 2. 掌握定时器/计数器8253的工作原理及编程方法。 三、设计要求 编写程序,利用主机内的8253-2的计数器0产生10m的方波输出,此输出送至IRQ0使8259A每10ms产生1次中断,100次后秒加1,然后调整时、分、秒并在屏幕上显示。程序从按下任意键开始显示数据区存放的时间值,运行中按下空格键即停止运行,并返回DOS。要求每人独立完成课程设计。 四、设计内容 采用PC系列微机现有的硬件和软件资源编写汇编语言程序,在显示器上显示XX(时):XX(分):XX(秒),每秒钟更新1次。 五、课程设计工作量 一般每人的程序量应在100行有效程序行以上。不得抄袭,否则给不及格成绩。 六、课程设计工作计划 2011年6月27日1-2节指导教师讲课,学生准备文献资料; 2011年6月28日~2011年7月01日每人完成自己程序并能独立演示; 2011年7月01日下午验收,学生撰写课程设计报告。

指导教师签字: 专业主任签章: 微机原理与汇编语言课程设计指导教师评语与成绩

目录

第1章概述 ..................................................................................................... 错误!未定义书签。 选题来源 .............................................................................................. 错误!未定义书签。 选题目的 .............................................................................................. 错误!未定义书签。 选题意义 .............................................................................................. 错误!未定义书签。 解决问题 .............................................................................................. 错误!未定义书签。 技术要求 .............................................................................................. 错误!未定义书签。第2章总体方案设计 ..................................................................................... 错误!未定义书签。 硬件总体设计 ...................................................................................... 错误!未定义书签。 软件总体设计 ...................................................................................... 错误!未定义书签。第3章详细设计 ............................................................................................. 错误!未定义书签。 硬件设计 .............................................................................................. 错误!未定义书签。 显示模块........................................................................................... 错误!未定义书签。 时钟运算模块................................................................................... 错误!未定义书签。 对时模块........................................................................................... 错误!未定义书签。 设计电路图....................................................................................... 错误!未定义书签。 软件设计 .............................................................................................. 错误!未定义书签。 程序流程图....................................................................................... 错误!未定义书签。第4章调试与运行结果说明 ......................................................................... 错误!未定义书签。 试验结果 .............................................................................................. 错误!未定义书签。 分析 ...................................................................................................... 错误!未定义书签。课程设计总结 ................................................................................................... 错误!未定义书签。谢启 ................................................................................................................... 错误!未定义书签。参考文献 ........................................................................................................... 错误!未定义书签。附录 ................................................................................................................... 错误!未定义书签。

数电课程设计报告数字钟的设计

数电课程设计报告数字钟的设计

数电课程设计报告 第一章设计背景与要求 设计要求 第二章系统概述 2.1设计思想与方案选择 2.2各功能块的组成 2.3工作原理 第三章单元电路设计与分析 3.1各单元电路的选择 3.2设计及工作原理分析 第四章电路的组构与调试 4.1遇到的主要问题 4.2现象记录及原因分析 4.3解决措施及效果 4.4功能的测试方法,步骤,记录的数据 第五章结束语 5.1对设计题目的结论性意见及进一步改进的意向说明5.2总结设计的收获与体会 附图(电路总图及各个模块详图) 参考文献

第一章设计背景与要求 一.设计背景与要求 在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。 设计一个简易数字钟,具有整点报时和校时功能。 (1)以四位LED数码管显示时、分,时为二十四进制。 (2)时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时。 (3)整点报时采用蜂鸣器实现。每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束。 (4)才用两个按键分别控制“校时”或“校分”。按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化。 二.设计要求 电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用。在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

微机原理步进电机控制课程设计报告

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 2 0 —2 0 学年第学期指导教师: 2 0 年月 课程设计成绩评定表

目录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案………………………………………………………. 四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议……………………………………………………….

七、设计体会………………………………………………………………. 、 一、设计题目 编程实现步进电机的控制 二、设计目的 1.了解步进电机控制的基本原理 2.掌握控制步进电机转动的编程方法 3.了解8086控制外部设备的常用电路 4.掌握8255的使用方法 三、设计原理及方案 设计原理 步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。 驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

微机原理+课程设计+数字钟

目录 一、设计要求 (1) 二、设计所用芯片。。。。。。。。。。。。。。。。。。。 2 三、设计思想。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 四、设计所用芯片结构 (3) 1、8259A芯片的内部结构及引脚 (3) 2、8279芯片的内部结构及引脚 (4) 3、8253芯片的内部结构及引脚 (5) 五、系统各个模块设计 (6) 1、系统总体设计 (6) 2、主控模块 (7) 3、CPU模块 (7) 4、定时模块 . . . . . . . . . . . . . . . . . . . . . . . . 9 5、中断处理模块。。。。。。。。。。。。。。。。。。9 6、显示模块和小键盘模块 (10) 六、程序流程图 (12) 1、主程序流程图 (12) 2、定时中断服务程序流程图 (14) 七、设计总结 (15) 附录一:参考书目 (15) 附录二:总体图 . . . . . . . . . . . . . . . . . . . . . . . .15 附录三:源代码............17

一、设计要求 利用试验平台提供的硬件资源设计一个电子表。该电子表以时、分、秒的形式实时显示当前时间,且具有校表功能,利用小键盘与标准时间校准。 掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计所用芯片 8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。 8279接口芯片:实现键盘输入和显示输出。 8259中断控制器:用于产生中断。 LED:六个LED用于显示时:分:秒值。 小键盘:用于控制设置。 三、设计思想 1、设计思想 本系统设计的电子时钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。 其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电平触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。 2、设计原理 利用定时器8253和8259以及键盘和数码显示电路,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。 电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。 基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。 C键:置初值,显示00:00:00 G键:显示动态变化(启动表); D键:显示静态不变(表停止); E键:终止程序,返回DOS; P键:设置时:分:秒的值

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

相关主题
文本预览
相关文档 最新文档