作息时间控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术

课程设计报告

题目名称:作息时间控制系统学生姓名:

学号:

专业年级:

指导教师:

时间:

目录

目录 (1)

实验要求及内容 (2)

1、方案设计 (2)

1.1 总体方案设计 (2)

1.2 硬件方案设计 (3)

1.3 硬件方案总电路图 (3)

2、各部分设计与分析 (4)

2.1 处理器8086模块电路结构图 (4)

2.2 数码显示模块 (4)

2.3 按键和闹铃 (5)

3、程序设计 (6)

3.1 主程序设计流程图 (6)

3.2 键盘扫描设计流程图 (6)

3.3 计数器流程框图 (7)

4 心得体会 (8)

5、参考文献 (8)

附录源程序 (8)

作息时间控制系统

实验要求及内容:

1、设计方案

1、1 总体设计方案

本设采用8086为CPU,和8255可编程I/O口扩展芯片以及74LS138译码器和两个74HC373锁存器,用8255分别连接按键(复位)、数码显示模块、蜂鸣器(到预定时间响起)。

首先用8255的PA口和PB口控制数码显示模块,用8255的PC0控制开关,PC7控制蜂鸣器。8086分别与译码器和锁存器相连为从而控制8255工作。

8255做可编程并行接口显示时钟和键盘电路,接LED显示小时、分钟、秒(各2位)和扩展调整键盘。系统一运行就从0开始计时,并在数码管上显示当前值。基本工作原理:每1秒对寄存器的内容减一,当加60次时,分加一,秒置零;当分加60次时,时加一,分置零;6个数码管动态显示时、分、秒的当前值。

1、2 硬件设计方案

本设计以8086为核心控制模块、通过译码器和锁存器控制8255工作,从而控制显

示部分、按键部分以及闹铃部分。硬件总框图如下所示。

图1-1. 硬件总框图1.3 硬件方案总电路图

图1-2总电路图

2、各模部分设计与分析2、1 处理器8086模块电路结构图

图2-1处理器8086模块电路

2、2 数码显示模块

图2-2 数码显示模块

设计中采用六位共阴极数码管,共阴极是指其公共端接负极,通过8255的PA口控制其位选,以达到动态显示的效果,再通过PB口,控制其段选以显示相应的数值。

2、3 按键和闹铃

按键用于控制数码显示模块、按键有复位的功能。通过扫描按键是否按下,来使其显示模块复位。

闹铃具有到预置时间响铃的功能(本设计的与之时间位1分钟)。

图1-5按键和闹铃电路本设计使用的按键与8255的PC0相连,闹钟与PC7相连。

3、程序设计

3、1 主程序设计流程图

N Y

Y

图3-1主程序设计流程图

3.2键盘扫描程序流程图

3.3计数器流程框图

N

Y

N

Y

N

Y

图3-3计数器流程框图

4、心得体会

在这次的课程设计中我学到了许多关于8086和8255的知识,我对它的了解从一知半解到更加深层次的了解,了解它的结构,了解它的功能……。同时,在本次实验中我也遇到了许许多多各种各样的问题,通过查找书籍和上网查找资料,把问题一个一个的排除了。

实验的过程是一个快乐的过程,尤其是把问题解决之后,那种快乐的感觉不如自主的就产生了,在今后我还会加强对实验这方面能力的提升,从而享受快乐的感觉。

5、参考文献

【1】戴梅萼、史嘉权等编著《微型计算机技术及应用》第四版·清华大学出版社出版·2008.2

【2】沈美明、温冬婵等编著《IBM-PC汇编语言程序设计》第二版·清华大学出版社出版·2007.

附录:源程序

DA TA SEGMENT

CONT DW 0H

SHI DB 23

FEN DB 59

MIAO DB 56

LED D B 2,3,5,7,4,5

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

DA TA ENDS

CODE SEGMENT ;

ASSUME DS:DA TA,CS:CODE

IOA EQU 8000H; 1000,0000,0000,0000

IOB EQU 8002H; 1000,0000,0000,0010

IOC EQU 8004H; 1000,0000,0000,0100

IOCON EQU 8006H; 1000,0000,0000,0110

START:

MOV AL,81H ;1000,0001B

MOV DX,IOCON

OUT DX,AL

NOP

REST:

MOV BYTE PTR[SHI],0

MOV BYTE PTR[FEN],0

MOV BYTE PTR[MIAO],0

START1:

MOV DX,IOC

IN AL,DX

CMP AL,0EH

JZ REST

CALL JISHI

CALL FENJIE

CALL DISP

CMP SHI,0

JNZ LED1

CMP FEN,01

JNZ LED1

MOV AL,80H

MOV DX,IOC

OUT DX,AL

JMP START1

LED1:

MOV AL,00H

MOV DX,IOC

OUT DX,AL

JMP START1

;********************************** JISHI:

CMP CONT,60

JZ NEXT

INC CONT

JMP RETUN

NEXT: MOV CONT,0

CMP MIAO,59

JZ NEXT1

INC MIAO

JMP RETUN

NEXT1: MOV MIAO,0

CMP FEN,59

JZ NEXT2

INC FEN

JMP RETUN

NEXT2: MOV FEN,0

CMP SHI,23

JZ NEXT3

INC SHI

JMP RETUN

NEXT3: MOV SHI,0

RETUN: RET

;********************************** FENJIE:

MOV AX,0

MOV AL,SHI

MOV CL,10

相关文档
最新文档