惠州学院微机报告讲解

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

惠州学院计算机科学系课程设计(综合实验)报告( 2015--2016年度第一学期)

课程名称:微型计算机技术

题目:多功能实时时钟

班级:最牛逼班

学号:111111222222

学生姓名:杰克

指导教师:老师

设计周数:1周

同组人:路飞,鸣人

日期:2015年12 月31 日

一、课程设计的目的与要求。

1.1设计的目的。

通过本次课程设计要掌握芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。

1.2设计的要求。

(1) 实时时钟

由时钟信号产生部分和时间显示部分组成时钟计时器,计算中断时间准确计时、分、秒;

(2) 小键盘控制多功能选择

采用小键盘输入,通过小键盘LED数码管显示,不同键输入对应不同功能(如时间暂停开始,设置时间等)。

1.3 设计的意义。

通过了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

二、设计正文。

2.1设计的基本原理。

2.1.1设计所用芯片结构

8253的功能用途是:

(1)延时中断

(2)可编程频率发生器

(3)事件计数器

(4)二进倍频器

(5)实时时钟

(6)数字单稳

(7)复杂的电机控制器

8253有六种工作方式:

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

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

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

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

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

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

8253各引脚功能如下。

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

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

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

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

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

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

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

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

2.2 设计方案。

2.2.1 总体方案。(见附录)

2.2.2 硬件原理图。

2.3 具体模块设计。

2.3.1主程序模块:

;*******************************;

;* 键盘显示控制实验*;

;*******************************;

inta00 equ 20h ;8259a port,口地址

inta01 equ 21h ;8259a port,口地址

port0 equ 2b0h ;8279 data port,8279数据口

port1 equ 2b1h ;8279 ctrl port,8279控制口

time0 equ 280h ;8253 time0 port,8253定时器0口地址time1 equ 281h ;8253 time1 port,8253定时器1口地址timec equ 283h ;8253 ctrl port,8253控制口地址

stacks segment stack

sta dw 512 dup(?)

top equ length sta

stacks ends

data segment

csreg dw ?

ipreg dw ?

irq_times dw 00h

buf db 0 ;count,计数单元

sign db 0 ;flage,计数标志

sec1 db 0 ;hour hight,秒高位

sec2 db 0 ;houp low,秒低位

min1 db 0 ;min hight,分高位

min2 db 0 ;min low,分低位

hour1 db 0 ;sec hight,时高位

hour2 db 0 ;sec low,时低位

err1 db 0 ;error flage,出错标志

hms db 0 ;00 is hour,11 is min,22 is sec,预置时、分、秒标志led db 3fh,06,5bh,4fh,66h,6dh,7dh,07,7fh,6fh,79h,40h

mes db 'pleas first create the irq pulse!',0ah,0dh,0ah,0dh

db 'in small keybord:',0ah,0dh

db 'c--clear to zero; g--go ahead',0ah,0dh

db 'd--stop the disply;e--exit',0ah,0dh

db 'p--position the beginning time',0ah,0dh,'$'

data ends

code segment

main proc far

assume cs:code,ds:data,ss:stacks,es:data

start: cli

mov ax,data

mov ds,ax

mov buf,0

mov sign,01

mov sec1,0

mov sec2,0

mov min1,0

mov min2,0

mov hour1,0

mov hour2,0

mov err1,0

mov dx,timec ;8253初始化

mov al,36h

out dx,al

mov dx,time0

mov ax,1000

out dx,al

mov al,ah

out dx,al

mov dx,timec

mov al, 74h

out dx,al

相关文档
最新文档