微机原理数字钟的实现 (1)

微机原理数字钟的实现 (1)
微机原理数字钟的实现 (1)

微机原理数字钟的设计

【论文摘要】:

微机控制即微型计算机原理控制,是集CPU、RAN、ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程中的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡,电子宠物等,这些都离不开微型计算机原理控制。

本次设计的题目是简单电子时钟程序设计,用到了定时芯片8354,中断控制器8259和可编程并行芯片8255.在编辑1毫秒定时程序时,用到了中断装置8259.

【关键字】:可编译并行芯片8255 定时芯片8254 中断控制器8259 电子钟

目录

一、绪论 (2)

1.1、设计指导思想 (2)

1.2、课程设计目的 (2)

二、总体设计 (2)

2.3、开发环境及设备 (2)

2.3.1、设计环境 (2)

2.3.2、设计所用设备 (2)

三、课程设计任务 (2)

3.1、内容 (2)

3.1、要求 (3)

3.3、设计环境 (3)

3.4、设计所用设备 (3)

四、设计所用芯片结构 (3)

4.1、8259A芯片的内部结构及引脚 (3)

4.2、8255芯片的内部结构及引脚 (4)

4.3、8254芯片的内部结构及引脚 (5)

五、具体模块设计 (6)

5.1、概述 (6)

5.2、主程序模块 (7)

5.3、小键盘模块 (8)

5.4、显示模块 (10)

5.5、定时模块 (11)

5.6、中断处理模块 (11)

六、程序流程图 (12)

6.1、主程序流程图 (12)

6.2、键盘扫描程序流程图 (14)

6.3、中断处理程序流程图 (15)

七、心得体会 (16)

八、致谢 (16)

附录一:参考书目 (16)

附录二:部分源代码 (16)

一、绪论

1.1、设计指导思想

本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254定时器0产生50ms方波,输入给定时器1,利用定时器1产生1s中断,然后显示,使液晶显示器上的时间发生变化。

其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。

1.2、课程设计目的

课程设计是本科教学中重要的环节,目的是培养计算机专业学生运用所学知识解决计算机应用领域内实际问题能力,进一步提高学生汇编语言综合编程能力,程序调试技能。

本次课程设计,要掌握8254,8255,8259此三种芯片使用,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、总体设计

2.1、开发环境及设备

2.1.1、设计环境

PC机一台、windows XP系统、实验箱、导线若干。

2.1.2、设计所用设备

8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。

8255并口:用做接口芯片,和小键盘相连。

8259中断控制器:用于产生中断。

LED:六个LED用于显示时:分:秒值。

小键盘:用于控制设置。

三、课程设计任务

3.1、内容

利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设

计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。

电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。

3.2、要求

本实验要求设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。

基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。

C键:置初值,显示00:00:00

G键:显示动态变化(启动表);

D键:显示静态不变(表停止);

E键:终止程序,返回DOS;

P键:设置时:分:秒的值

3.3、设计环境

PC机一台、windows XP系统、实验箱,导线若干。

3.4、设计所用设备

8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。

8255并口:用做接口芯片,和小键盘相连。

8259中断控制器:用于产生中断。

LED:六个LED用于显示时:分:秒值。

小键盘:用于控制设置。

四、设计所用芯片结构

4.1、8259A芯片的内部结构及引脚

中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。

8259引脚图如图3.3,各引脚功能如下。 D7~D0——八条双向数据线; WR (低电平有效)——写输入信号; RD (低电平有效)——读输入信号; CS (低电平有效)——片选输入信号; A0——地址信号; INT ——中断请求信号;

INTA (低电平有效)——中断响应信号;

CAS0~CAS2——级联信号,形成一条专用8259A 总线,以便多片8259A 的级联;

SP/EN ——从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;

IR0~IR7——外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU 响应时为止)或者是高电平。 8259中断矢量地址与中断信号之间的关系如表3.1所示:

4.2、8255芯片的内部结构及引脚

8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种工作方式下工作: 方式0—基本输入/输出方式 方式1—选通输入/输出方式

方式2—双向选通输入/输出方式

8255引脚图如图3.2示,各引脚功能如下。 D7~D0——与CPU 侧连接的八条双向数据线; WR (低电平有效)——写输入信号; RD (低电平有效)——读输入信号; CS (低电平有效)——片选输入信号; A0、A1——片内寄存器选择输入信号; PA7~PA0——A 口外设双向数据线; PB7~PB0——B 口外设双向数据线; PC7~PC0——C 口外设双向数据线; RESET ——复位输入信号 2、8255端口地址

4.3、8254芯片的内部结构及引脚

8254可编程定时/计数器是Intel 公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ ,它所有的技术方式和操作方式都通过编程控制。 8254的功能用途是: (1) 延时中断 (2) 可编程频率发生器 (3)

事件计数器

(4)二进倍频器

(5)实时时钟

(6)数字单稳

(7)复杂的电机控制器

8254有六种工作方式:

(1)方式0:计数结束中断

(2)方式1:可编程频率发生器

(3)方式2:频率发生器

(4)方式3:方波频率发生器

(5)方式4:软件触发的选通信号

(6)方式5:硬件触发的选通信号

8254引脚图如图3.3示,各引脚功能如下。

D7~D0——八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0、A1——片内寄存器地址输入信号;

CLK——计数输入,用于输入定时基准脉冲或计数脉冲;

OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;

GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。

2、8254端口地址

表3.3 8254端口地址表

五、具体模块设计

5.1、概述

本系统设计的电子钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,

8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。即每隔20ms,8254的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。

系统框图如下:

图一系统框图

5.2、主程序模块

主控模块是系的核心模块,对8254、8255A进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返回DOS。

5.3、小键盘模块

小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。本课题只考虑去抖动。执行一个约10ms的延时程序后再扫描键盘,若F0=1表示真正有键按下,从而消除了抖动影响。

实现代码如下:

KEY ROC NEAR

PUSH CX

KST: MOV AL,82H

MOV DX,P55CTL

OUT DX,AL

MOV AL,00H

MOV DX,PA55

OUT DX,AL

MOV DX,PB55

IN AL,DX

OR AL,0F8H

CMP AL,0FFH

JZ DELAY

MOV CX,0300H

DLY: LOOP DLY

MOV CL,08H

MOV AH,0FEH

SCAN1: MOV DX,PA55

MOV AL,AH

OUT DX,AL

MOV DX,PB55

IN AL,DX

OR AL,0F8H

CMP AL,0FFH

ROL AH,1

DEC CL

JNZ SCAN1

JMP KST KEYN: PUSH AX

MOV DX,PB55 RELEA: IN AL,DX

OR AL,0F8H

CMP AL,0FFH

JNZ RELEA

POP AX

NOT AX

MOV SI,OFFSET TABLE MOV DI,OFFSET CHAR MOV CX,24

TT: CMP AX,[SI]

JZ NN

DEC CX

JZ KST

ADD SI,02

INC DI

JMP TT

NN: MOV DL,[DI]

MOV [CHAR1],DL

MOV AH,02H

INT 21H

POP CX

JMP YANG

DELAY: CALL DISPLY

YANG: RET

KEY ENDP

5.4、显示模块

显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。

实现代码如下:

DISPLAY PROC NEAR

MOV CX,77FFH

LED52: CALL DISUP

LOOP LED52

DISUP: PUSH CX

MOV DI,OFFSET MIN1

MOV CL,01

DISUP1: MOV AL,0

MOV DX,PORTBIT

OUT DX,AL

MOV AL,[DI]

MOV BX,OFFSET LED

XLAT

MOV DX,PORTSEG

OUT DX,AL

MOV AL,CL

MOV DX,PORTBIT

OUT DX,AL

MOV BX,35H

DELAY1: DEC BX

JNZ DELAY1

CMP CL,20H

JZ DISUP2

INC DI

SHL CL,1

JMP DISUP1

DISUP2: POP CX

RET

DISPLAY ENDP

5.5、定时模块

定时模块是为8259提供中断请求信号的。由一片8254实现,选用定时器0#,工作在方式3,由4时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。

5.6、中断处理模块

中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。

按如下接线图连接好试验箱上的芯片引脚,主要用到器件有8255,8254,LED,8259,小键盘。8254的片选接地址208-20F,OUT1,OUT0接灯(测试用),GATE0,GATE1接+5V,CLK1接8259的IRQ2,CLK0接Q12(12分频)。

8255的片选接地址218-21F,实验箱已将其和小键盘相连。

LED的片选接地址210-217。

图二试验接线图

六、程序流程图

6.1、主程序流程图

6.2、键盘扫描程序流程图:(KEY)

6.3、中断处理程序流程图:

七、心得体会

在这周的汇编电子时钟设计过程中,我对电子技术有了一些初步了解。平时在课堂上也有学过,但那都是一些理论的东西,通过这次电子时钟的设计,我才把学到的东西和时间相结合,从中对我所学到的知识有了更进一步的了解。

在此次的数字时钟的设计过程中,更进一步的熟悉了芯片的结构及掌握了各个芯片的工作原理和具体的使用方法,也锻炼了自己思考问题的能力和通过查阅相关资料来解决问题的习惯。虽然这次实训时间很短,设计也很简单,但是通过这次课程设计我们了解了课程设计的一般步骤和设计中应该注意的问题。

在此次课程设计过程中,我简单的了解了设计思想,设计电路中的每一个环节,电路中各个部分的功能是如何实现的,各个芯片能够完成什么样的功能等。

宗旨,在此次实践过程中,我学到了很多。在以后的工作中,将会对我起到很大的作用。八、致谢

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

附录一:参考书目

1、戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社,2003

2、周明德编著.微型计算机系统原理及应用(第四版).北京:清华大学出版社,2002

3、李顺增,吴国东,赵河明等.微机原理及接口技术.北京:机械工业出版社,2006

4、杨立新.微型计算机原理和应用[M].北京:科学技术文献出版社,1986.11

5、李大友.微型计算机原理[M].北京:清华大学出版社,1998.7

附录二:部分源代码

A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

DATA SEGMENT

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

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

DATA ENDS

SSTACK SEGMENT STACK

DW 200 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK,DS:DATA

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET IRQ7 ;取中断入口地址

MOV SI, 003CH ;中断矢量地址

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

MOV AX, CS ;段地址

MOV SI, 003EH

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

CLI

POP DS

MOV AX,DATA ;remember this

MOV DS,AX ;not lose,it is very important

MOV CX,03H

MOV DI,3000H

MOV AL,00H

LP: MOV [DI],AL ;clear 3000h~3006h,save second ,minute, hour

INC DI

LOOP LP

;MOV DI,3003H ;save counter

MOV SI,4000H

MOV AL,00H

MOV [SI],AL ;清显示缓冲

MOV [SI+1],AL ;display second

MOV [SI+2],AL

MOV [SI+3],AL ;display minute

MOV [SI+4],AL

MOV [SI+5],AL ;display hour

MOV SI,4000H

;MOV AX,COUNT ;SAVE COUNT=1000

;MOV [DI],AL

;MOV [DI+1],AH

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

;8254

MOV DX, CON8254

;MOV AL, 30H ;计数器0,方式0

MOV AL, 36H ;计数器0,方式3,产生50ms方波OUT DX, AL

MOV DX, A8254 ;计数初值为3E8H=1000,产生1ms中断MOV AL, 50H ;c350H=50000,产生50ms

OUT DX, AL

MOV AL, 0c3H

OUT DX, AL

MOV DX, CON8254

MOV AL, 50H ;计数器1,方式0

OUT DX, AL

MOV DX, B8254 ;计数初值为3E8H=1000,产生1ms中断MOV AL, 20H ;c350H=50000,产生50ms中断

OUT DX, AL

MOV DX,MY8255_CON ;写8255控制字

MOV AL,81H

OUT DX,AL

STI

AA1: CALL DIS ;调用显示子程序

JMP AA1

;======显示子程序======

DIS: PUSH AX

MOV SI,4000H

MOV DL,0DFH

MOV AL,DL

AGAIN: PUSH DX

MOV DX,MY8255_A

OUT DX,AL ;select first seg

MOV AL,[SI]

MOV BX,OFFSET DTABLE

XLAT

MOV DX,MY8255_B

OUT DX,AL

CALL DALLY

INC SI

POP DX

MOV AL,DL

TEST AL,01H

JZ OUT1

ROR AL,1

MOV DL,AL

JMP AGAIN

OUT1: POP AX

RET

;====== 延时子程序 ======

DALLY: PUSH CX

MOV CX,0005H

T1: MOV AX,0010H

T2: DEC AX

JNZ T2

LOOP T1

POP CX

RET

;save second

IRQ7:

PUSH AX

MOV DX, B8254 ;重装计数初值MOV AL, 20H

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

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 电子信息科学与工程 课程名称:微型计算机原理及应用 学年学期: 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 ;.........................................................................

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

多功能数字钟的VHDL设计

毕业设计论文 多功能数字钟的VHDL设计 系 xxxxxxxxxxxxxxxxx 专业 xxxxxxxxxxxxx 学号 xxxxxxxxxxx 姓名 xxxxxxx 班级 xxxxxxxxxxxx 指导老师 xxxxxxxxxx 职称 指导老师职称 毕业设计时间 2009年11月——2010年1月

摘要:应用VHDL语言编程,进行了多功能数字钟的设计,并在MAX PLUSⅡ环境下通过了编译、仿真、调试。 关键词:VHDL;EDA;数字钟;仿真图 0.引言 随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。可编程逻辑器件和相应的设计技术体现在三个主要方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。在本实验中采用了集成度较高的FPGA 可编程逻辑器件, 选用了VHDL硬件描述语言和MAX + p lusⅡ开发软件。VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色。由于采用了具有多层次描述系统硬件功能的能力的“自顶向下”( Top - Down)和基于库(L ibrary - Based)的全新设计方法,它使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短 了产品的研制周期。MAX + p lusⅡ是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。 1. EDA简介 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

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

微机原理与接口技术课程设计报告 设计名称:电子表设计 专业:计算机原理与接口技术 班级: 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) 参考文献 附录

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

微机原理试题及答案

1 一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分) 1.指令MOV DX,[BX]的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2.若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作数乘以2。3fh=63 63*2=126 126=7eh 故选A 3.属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4.某EPROM芯片上有19条地址线A 0~A 18 ,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5.8086/8088CPU的SP寄存器是多少位的寄存器 B 。 (A)8位(B)16位(C)24位(D)32位 6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos数据串存储指令功能:将累加器al或ah中的一个字或字节,传送到附加段中以di为目标指针的目的串中,同时修改di,以指向串中的下一个单元。 7.8255工作在方式0时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力 解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8.采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 C 。 (A)DT/R (B)DEN (C)ALE (D)AEN 10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存 器 C 。 (A)AX (B)BX (C)CX (D)DX 解析:loop:循环指令。指令执行前必须事先见重复次数放在cx寄存器中,每执行一次loop指令,cx自动减1。 二、填空题(每小题2分,共10分) 1.两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf: 全零标志位。本次运算结果为0时,zf=1,否则zf=0。 2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF= 0 。

多功能数字钟设计

摘要 本实验是利用QuartusII 7.0软件设计一个多功能数字钟,进行试验设计和仿真调试,实现了计时,校时,校分,清零,保持和整点报时等多种基本功能,并下载到SmartSOPC实验系统中进行调试和验证。此外还添加了显示星期,闹钟设定等附加功能,使得设计的数字钟的功能更加完善。 关键字:QuartusII、数字钟、多功能、仿真 Abstract This experiment is to design a digital clock which is based on Quartus software and in which many basic functions like time-counting,hour-correcting,minute-correcting,reset,time-holding and belling on the hour. And then validated the design on the experimental board. In addition, additional functions like displaying and resetting the week and setting alarm make this digital clock a perfect one. Key words: Quartus digital-clock multi-function simulate

目录 一.设计要求 (4) 二.工作原理 (4) 三.各模块说明 (5) 1)分频模块 (5) 2)计时模块 (7) 3)动态显示模块 (9) 4)校分与校时模块 (10) 5)清零模块 (11) 6)保持模块 (12) 7)报时模块 (12) 四.扩展模块 (12) 1)星期模块 (12) 2)闹钟模块 (13) 五.总电路的形成 (16) 六.调试、编程下载 (17) 七.实验感想 (17) 八.参考文献 (20)

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

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术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、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

微机原理与应用试题库(附答案)

《微机原理及应用》试题库 1. 8086 和 8088 的引脚信号中,D为地址锁存允许信号引脚。 A. CLK B. INTR C.NMI D.ALE 2.下面的哪项是有效标识符:B A . 4LOOP : B. DELAYIS : C. MAIN A/ B : D.GAMA$1 : 3.如图所示的三态输出电路,当 A 时, V B≈V DD。 A. E(ENABLE)=1, A=1 B.E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D.E(ENABLE)=0, A=0 4. 设 (SS)=2000H , (SP)=0100H , (AX)=2107H ,则执行指令PUSH AX后,存放数据21H 的物理地址是 D。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的A。 A.符号地址B.物理地址C.偏移地址 D .逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是A。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX ,0 MOV BX ,1 MOV CX , 100 AA : ADD AX ,BX INC BX LOOP AA HLT 执行后的结果:(AX)=,(BX)=。 A. 5050 , 99 B. 2500, 100 C. 5050 , 101 D. 2550 , 102 8. 假设 V1 和 V2 是用 DW 定义的变量,下列指令中正确的是A。 A . MOV V1, 20H B. MOV V1, V2 C . MOV AL, V1D. MOV2000H, V2 9. –49D 的二进制补码为A。

多功能数字时钟设计

课程设计报告 学生姓名:刘佳 学 号:2017307010102 学院:电气工程学院 班级:通信171 题目:多功能数字时钟设计 指导教师:刘晓峰职称: 高级实验师指导教师:杨修宇职称: 实验师 2018 年 12 月 28 日

目录 1. 设计要求 (3) 2. 设计原理及框图 (3) 2.1 模块组成 (3) 3. 器件说明 (4) 4. 设计过程 (8) 4.1显示电路模块设计 (8) 4.2时钟脉冲电路模块设计 (9) 4.3计时模块电路设计 (10) 4.4计时校时控制模块电路设计 (11) 4.5整点报时与定点报时模块电路设计 (12) 5. 仿真调试过程 (13) 6. 收音机原理及焊接调试 (14) 6.1收音机原理 (14) 6.2收音机焊接工艺要求 (16) 6.3收音机调试过程 (16) 7. 设计体会及收获 (17)

1. 设计要求 (1)以24小时为一个计时周期,稳定的显示时、分、秒。 (2)当电路发生走时误差时,可以对所设计的时钟进行校时。 (3)电路有整点报时功能。报时声响为四低一高,最后一响高音正好为整点。 (4)电路具有闹钟功能,当闹钟所设定时间与时钟计时相同时,发出提示音, 时长为一分钟。 2. 设计原理及框图 2.1 模块组成 多功能数字时钟由时钟脉冲电路模块、秒计时模块、分计时模块、时计时模块、显示模块、计时校时控制模块、定点报时模块与整点报时模块组。如图1所示。 图1 多功能数字时钟原理框图 多功能数字时钟由时钟脉冲电路模块、秒计时模块、分计时模块、时计时模块、显示模块、计时校时控制模块、定点报时模块与整点报时模块组成。时钟脉冲电路模块由振荡电路与分频电路组成,为数字时钟提供秒脉冲信号、定点整点报时信号以及调试信号。计时电路包括“秒”计时、“分”计时与“时”计时电

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

学院:计算机科学技术 专业:计算机科学与技术(工)班级:计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章调试与运行结果说明 ......................................................................... 错误!未定义书签。 试验结果 .............................................................................................. 错误!未定义书签。 分析 ...................................................................................................... 错误!未定义书签。课程设计总结 ................................................................................................... 错误!未定义书签。谢启 ................................................................................................................... 错误!未定义书签。参考文献 ........................................................................................................... 错误!未定义书签。附录 ................................................................................................................... 错误!未定义书签。

微机原理实习报告---电子时钟(用汇编语言实现)

河南农业大学 课程设计报告 题目:电子时钟显示设计 课程:微型计算机原理 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 完成日期: 机电工程学院

目录 前言 (1) 第一章绪论 (2) 一、实习目的 (2) 二、实习要求 (2) 三、设计所需设备 (2) 第二章软件系统介绍 (3) 一、中断技术(或其它相关技术) (3) (一)介绍中断的概念中断技术 (3) (二)DOS及BIOS中断 (3) 二、汇编语言及汇编工具简介 (3) 三、软件介绍 (3) 第三章设计分析 (4) 一、软件设计思路 (4) 二、软件各模块内容 (4) (一)光标定位子程序原理 (4) (二)清屏原理 (4) (三)字符及字符串显示原理 (4) (四)压缩BCD转为ASCII码原理 (5) (五)动态扫描键盘原理 (5) 三、程序流程图设计 (5) 第四章系统实现 (7) 一、程序原代码清单及详细注释 (7) 二、实验结果 (15) 总结 (16) 一、软件的选取 (16) 二、图案的设计 (16) 三、程序调试 (16) 参考文献 (16)

前言 软件设计题目 电子时钟。(在计算机屏幕上显示当前系统的时间,日期,或时间和日期,3人一组)设计目的: 1.了解定时/计数器和中断(DOS/BIOS)的使用; 2.掌握定时/计数器和中断的工作原理和编程方法。 编程要求: 1.调用系统时间,在屏幕上显示出来; 2.获取键盘的按键值,判断键值并退出系统。 程序设计参考步骤: 第一部分:定义显示界面。 第二部分:调用系统时间(日期),并将调用的用二进制表示的时间数转换成ASCII码, 并将时间数(日期数)存入内存区。 第三部分:将存在系统内存区的时间数(日期数)用显示字符串的形式显示出来。 第四部分:获取键盘的按键值,判断键值并退出系统。

数电课程设计多功能数字钟的电路设计

课程设计任务书 学生姓名: XXX 专业班级: 指导教师:工作单位: 题目: 多功能数字钟电路设计 初始条件:74LS390,74LS48,数码显示器BS202各6片,74LS00 3片,74LS04,74LS08各 1片,电阻若干,电容,开关各2个,蜂鸣器1个,导线若干。 要求完成的主要任务: 用中、小规模集成电路设计一台能显示日、时、分秒的数字电子钟,要求如下: 1.由晶振电路产生1HZ标准秒信号。 2.秒、分为00-59六十进制计数器。 3.时为00-23二十四进制计数器。 4.可手动校正:能分别进行秒、分、时的校正。只要将开关置于手动位置。可分别对秒、分、时进行连续脉冲输入调整。 5.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500HZ),整点时再鸣叫一次高音(1000HZ)。 指导教师签名:年月日 系主任(或责任教师)签名:年月日 多功能数字钟电路设计 摘要 (1) Abstract (2) 1系统原理框图 (3) 2方案设计与论证 (4)

2.1时间脉冲产生电路 (4) 2.2分频器电路 (6) 2.3时间计数器电路 (7) 2.4译码驱动及显示单元电路 (8) 2.5校时电路 (8) 2.6报时电路 (10) 3单元电路的设计 (12) 3.1时间脉冲产生电路的设计 (12) 3.2计数电路的设计 (12) 3.2.1 60进制计数器的设计 (12) 3.2.2 24进制计数器的设计 (13) 3.3译码及驱动显示电路 (14) 3.4 校时电路的设计 (14) 3.5 报时电路 (16) 3.6电路总图 (17) 4仿真结果及分析 (18) 4.1时钟结果仿真 (18) 4.2 秒钟个位时序图 (18) 4.3报时电路时序图 (19) 4.4测试结果分析 (19) 5心得与体会 (20) 6参考文献 (21) 附录1原件清单 (22) 附录2部分芯片引脚图与功能表 (23) 74HC390引脚图与功能表 (23)

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

目录 一、设计要求 (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键:设置时:分:秒的值

微机原理试题集题库(带答案)

微机原理及应用习题集库 (2) 一、填空 (2) 二、单项选择题 (8) 三、程序分析题(每小题6分,共24分) (22) 四、判断题(在对的后面画√,错的后面画×): (34) 五:分析判断题(判断对错,并指出错误原因) (42) 六、简答题: (45) 七、程序题 (51) 八、接口芯片的综合编程题 (66) (一)8255A (66) (二)8259A (72) (三). 其它端口编程题 (75)

微机原理及应用习题集库 (请认真复习4、5、7、10、11章后的习题) 一、填空 1.87的原码是 0101 0111B=57H ,补码是 01010111B ,反码 01010111B 。 2.SP总是指向栈顶,若原先SP=2000H,SS=2000H,问CPU执行指令PUSH AX 后,AL内容压入物理地址为 21FFEH 存储单元中,AH内容压入物理地址为 21FFFH 存储单元中。 3.以BX基址寻址,约定的段寄存器是 DS ,以BP基址寻址,约定的段寄存 器是 SS ,变址寻址约定的段寄存器是 DS 。 4.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么 该字地址是 20H 。 5.8086/8088的状态标志有 6(SF、PF、AF、OF、ZF、CF)个。8086/8088系统中,存储器是分段的,每段最大长度是 64K 字节,段内偏移地址从 0000H 到 FFFFH 。 6、CPU访问存储器进行读写操作时,通常在 T3状态去检测READY ,一旦检测

到READY无效,就在其后插入一个 T w周期。 7、汇编语言源程序中的语句有三种类型,它们是指令语句,伪指令 语句,宏指令语句。 8、、8086CPU寻址外设可以有两种方式,一种是直接寻址方式,另一种是间 接寻址方式。 9、CPU与外设之间的连接部件称为 I/O接口,它的基本功能是在 CPU与外设之间起缓冲作用。 10、C PU从主存取出一条指令并执行该指令的时间称(),它通常用若干个() 来表示,而后者又包括若干个()。 ①指令周期②机器周期③时钟周期 答:1-2-3 14、数据的输入/输出指的是CPU与 I/O接口进行数据交换。 15.已知X= -120,则X的原码(用八位二进制表示)是____________,补码(用八位二进制表示)是____________。 16、8088中的指令INT n用(N )指定中断类型。 17、8088的ALE引脚的作用是(地址锁存允许)。 18.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。 19.当8255A口工作在方式1输出时,A口输入信号联络线的名称是 IBF ,

多功能数字钟的设计与实现

多功能数字钟的设计与实现一、实验目的 1.掌握数字钟的设计原理。 2.用微机实验平台实现数字钟。 3.分析比较微机实现的数字钟和其他方法实现的数字钟。 二、实验内容与要求 使用微机实验平台实现数字钟。 1.基本要求如下: 1) 24 小时制时间显示。 2) 3) 4)可以随时进行时间校对。 整点报时。 闹钟功能,要求设置起闹时间时,不影响时钟的正常走时。 2.提高要求 1) 2)校时时相应位闪烁。能够设置多个起闹点。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、系统总体设计 根据设计要求,初步思路如下: 1)计时单元由定时/计数器8253的通道0 来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、秒的累加。 2)时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。 3)校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键和减1键等。

4) 报警声响用蜂鸣器产生,将蜂鸣器接到 8255 的一个端口,通过输出电平的高低来 控制蜂鸣器的发声。 系统硬件设计主要利用微机实验平台上的电路模块。硬件电路主要由键盘电路、 单脉冲产生单元、8253 定时计数器、8255 并行接口单元、8259 中断控制器、LED 显 示电路和蜂鸣器电路等等。系统的硬件电路设计框图如图 1 所示。 图 1 硬件电路框图 五、硬件设计 根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台 上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电 路的设计及实现相对简单。完整系统的硬件连接如图 2 所示。硬件电路由定时模块、按键 模块、数码管显示模块和蜂鸣器模块组成。 Q6 路 图 2 系统硬件电路图 微机系统 8253 8255 8259 数码管显示 电路 键盘电路 蜂鸣器电路 单脉冲发生 单元 单脉冲发 生单元 键盘电路 8255 PA0 PB0 PC 8253 OUT0 GATE0 Clk0 地址 CS1 译码 CS2 电路 CS3 CS4 数码管显示模块 8259 IRQ2 IRQ3 IRQ5 PC BUS 蜂鸣器 单脉冲发 生单元

微机原理课程设计电子钟记录交换数据 创新

.MODEL TINY EXTRN Display8:NEAR, GetKeyA:NEAR, GetKeyB:NEAR IO8259_0 EQU 0F000H IO8259_1 EQU 0F001H Con_8253 EQU 0E003H T0_8253 EQU 0E000H .STACK 200 .DA TA halfsec DB 0 ;0.5秒计数 Sec DB 0 ;秒 Min DB 0 ;分 hour DB 0 ;时 buffer DB 8 DUP(0) ;显示缓冲区,8个字节 buffer1 DB 8 DUP(0) ;显示缓冲区,8个字节 bNeedDisplay DB 0 ;需要刷新显示 number DB 0 ;设置哪一位时间 bFlash DB 0 ;设置时是否需要刷新 .CODE START: MOV AX,@DA TA MOV DS,AX MOV ES,AX NOP mov sec,0 ;时分秒赋初值23:58:00 mov min,00 mov hour,00 MOV bNeedDisplay,1 ;显示初始值 CALL Init8253 CALL Init8259 CALL WriIntver STI MAIN: CALL GetKeyA ;按键扫描 JNB Main1 CMP AL,0FH ;设置时间 JNZ Main1 CALL SetTime Main1: CMP bNeedDisplay,0 JZ MAIN CALL Display_LED ;显示时分秒 MOV bNeedDisplay,0 ;1s定时到刷新转速 Main2: JMP MAIN ;循环进行实验内容介绍与测速功能测试SetTime PROC NEAR LEA S I,buffer1 CALL TimeToBuffer MOV Number,0

相关文档
最新文档