当前位置:文档之家› 硬件中断时钟设计(微机课程设计)

硬件中断时钟设计(微机课程设计)

硬件中断时钟设计(微机课程设计)
硬件中断时钟设计(微机课程设计)

微机原理课程设计

报告

设计题目:硬件中断时钟设计

姓名:

班级:

学号:

专业:

指导老师:

2012年1月2日

课程设计说明书

1.课程设计题目:

硬件中断时钟设计

2.课程设计内容:

利用 PC 系列微机现有的硬件和软件资源编写程序,以便在显示器屏幕上显示 XX (时):XX(分):XX(秒),并且每秒钟更新一次显示。

3.课程设计目的:

1)掌握 8253 可编程定时器/计数器的编程方法。

2)掌握在 PC 机上使用中断方式工作时主程序及中断服务程序的编写方法。

4.课程设计要求:

编写程序,利用主机内的8253/8254-2的计数器0产生10ms对称方波输出,该输出送至IRQ0使8259A每10ms产生一次中断,100次中断后秒数加1,然后调整时、分、秒并显示在屏幕上。程序从按下任意键开始显示数据区中存放的时间值,运行中按下空格键则停止运行,并返回DOS。

摘要

微机原理及应用是一门实践性很强的课程;其课程设计目的在于综合运用所学知识,全面掌握微型计算机与 DOS 方式的工作原理、编程和使用方法;在设计中,通过小组协作提出并论证设计方案,进行软件调试,最后获得正确的结果,可以加深和巩固对理论知识的更好掌握,进一步建立计算机应用系统体概念,初步掌握 DOS 开发方法,为以后进行实际的软件应用开发奠定良好的基础。汇编语言是微机原理和接口设计的基础,微机主机和接口所要实现的功能都要通过汇编语言来实现。尽管汇编语言设计程序有编程效率低的缺点,但其运行效率高,速度快,并且特别适合很多特殊应用的场合,如加密解密、病毒分析和防治、软件破解等。这些在应用方面的优点是其他语言不可比拟的,面对硬件的直接控制更是其特长。因此,在很多高级语言(如 C++)中都可嵌入用汇编语言编写的程序段,以实现优势互补,发挥各自的长处。

索引关键词:微机原理、DOS、软件调试、汇编语言、程序

目录

一概述 (4)

二设计内容 (4)

三设计目的 (4)

四方案设计及论证 (4)

4.1设计思路 (4)

4.2硬件原理图及相关说明 (5)

4.2.1 8253 (5)

4.2.2 8259A (6)

4.3软件流程图及其说明 (7)

4.4功能模快设计说明 (8)

4.5 程序代码 (9)

4.6 程序调试 (14)

4.6.1 程序调试界面 (14)

4.6.2 程序运行过程 (14)

五心得体会 (15)

六参考文献 (16)

一、概述

本设计是利用 Masm for window 集成实验环境来实现的,编写程序,利用主机内的 8253/8254-2 的计数器 0 产生 10ms 对称方波输出,该输出送至IRQ0 使 8259A 每 10ms 产生一次中断,100 次中断后秒数加 1,通过计数器值count 自减,即从 100 自减到 0 为止,即是 100*10ms=1s,只有当 COUNT 数值减到 1 时,才是 1s 的时间,通过秒值+1,重复操作秒个位和“9”比较,如果为真,返回 DOS 显示当前时间的数值;如果为假,即是进位后秒十位加 1 操作而个位清零操作,然后用上述道理,比较分个位与“9”的大小,如果为真,返回 DOS 显示当前时间的数值;如果为假,即是进位后分十位加 1 操作而分个位清零操作,并在 DOS 窗口下进行输出显示。程序从按下任意键开始显示数据区中存放的时间值,运行中按下空格键则停止运行,并返回 DOS。

二、设计内容

利用 PC 系列微机现有的硬件和软件资源编写程序,以便在显示器屏幕上显示 XX (时):XX(分):XX(秒),并且每秒钟更新一次显示。

三、设计目的

1)掌握 8253 可编程定时器/计数器的编程方法。

2)掌握在 PC 机上使用中断方式工作时主程序及中断服务程序的编写方法。

四、方案设计与论证

1.设计思路

IBM PC/XT 系统板上使用了一片 8253-5,其地址为 40H ~ 43H,其中 0 通道在方式 3 下工作,初值设置 23 小时 59 分 50 秒,每隔 55ms 向中断控制器 8259A 的 IRQ0 端发一次中断请求。此定时中断的用途之一是系统报时。现在借用原有电路,重新设置定时器、编写中断服务程序来做硬件时钟实验,为此程序开始应首先保护原系统的 08H 中断的中断矢量(中断服务程序入口地址),以便程序退出时恢复原系统的设置。保护原系统的 08H 中断的中断矢量可用 DOS 35H 功能调用读出,并加以适当保存,也可以用以下指令将中断矢量压入堆栈保存。具体过程:等待按键按下,调用 DOS 的显示字符串功能,并对中断进行压栈操作后,建立数据段的可寻址性,通过装载现行的中断服务程序,使用 8253 初始化的 0 通道,3 方式,二进制计数进行方式 3 的 10ms 方波,即每 10ms 中断一次,通过保护原 4 有的 8259A 的中断屏蔽寄存器 IMR 的内存,进行下一步的 IMR 的重写,只开放始终和键盘的中断处理。进而开中断,运行 TIMER 模块的时间调用及 DOS 显示系统时间的功能,待 TIMER 模块运行结束之后,关闭中断返回 DOS,程序结束。

CLI ;关中断

CLD ;DF=0

MOV AX ,0000H

MOV DS ,AX ;DS:SI指向08H中断矢量表中的位置

MOV SI ,0020H

LODSW

MOV BX ,AX ;BX:原中断服务程序入口偏移地址

LODSW ;AX:原中断服务程序入口的段地址

PUSH AX ;压栈保护

PUSH BX

2.硬件原理图及相关说明

8253:

这是8253的相关图形,一般8253要实现定时、计数控制大致可采用三种方法:

(1)设计数字逻辑电路来实现定时或计数的要求。即由硬件电路实现的定时器/计数器。

(2)用软件来实现定时和计数的要求。即采用循环方式执行若干条指令,使程序段执行时占用一定的延时时间。

(3)采用可编程定时器/计数器。其定时与计数功能可由程序灵活设定,设定后于CPU并行工作,不占用CPU的时间,可以很好地解决以上两种定时存在的不足,这种方式广泛应用于各种定时或计数场合。

8253的工作方式三是方波发生器,方式三的输出为方波,具有“初始化自动重装”功能。向8253写入控制字后,OUT输出变为高电平,在写完计数初值后计数器自动开始对输入时钟CLK计数,OUT输出保持高电平。当计数到一半时,

输出变为低电平,直至计数到0,在重装计数初值,OUT端变高开始新一轮计数。8259A:

8259A常用于中断优先级管理电路,它的功能有三种:

(1)它可以接受多个外部中断源的中断请求,并进行优先级别判断,选中当前优先级别最高的中断请求,再将此请求送到微处理器的中断输入端。(2)具有提供中断向量、屏蔽中断输入等功能。

(3) 8259A使用单+5V电源供电,有多种中断管理方式,自动提供中断服务程序入口地址,使用灵活方便。

3.软件流程图及其说明

开始

等待键按下(DOS7号调用)是空格键?

Y

取原8H 中断的中断矢量并压栈保护

建立数据段的可寻址性装载现在的中断服务程序

8253初始化产生10ms 方波,10ms 中断一次保护原8259A 的IMR(中断屏蔽寄存器)内容

重写IMR,只开放时钟和键盘中断

开中断

检测键盘(DOS6号调用)

有键按下?

显示时间值(DOS9号调用)

取消秒

秒值变否?关中断恢复IMR 重新设置8253,55ms 中断一次恢复原中断矢量

开中断返回DOS 结束

Y

N

N

Y

N

图1.0 硬件中断时钟设计流程图

硬件中断时钟设计算法具体描述,等待建按下调用DOS 的7号功能键,并将中断的中断矢量进行压栈保护,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化产生10ms 方波,每10ms 中断一次,保护原有的8259A 的中断屏蔽寄存器IMR 的内存,进行下一步的IMR 的重写。进而开中断,然后调用DOS 的6好功能键,通过判断是否有键按下和是否按下的是空格键实现显示时间和关闭中断返回DOS ,程序结束。

4.功能模快设计说明

模块1:

是空格键?

关中断

恢复IMR

重新设置8253,

55ms中断一次

恢复原中断矢量

开中断

返回DOS

结束

这部分模块是实现当按下空格键时程序关中断,恢复IMR,重新设置8253中断时间,恢复中断矢量以及开中断。

模块2:

有键按下?

N

显示时间值(DOS9号调用)

取消秒

这部分模块是实现当没按键的时候显示时间。

模块3:

N

秒值变否?

这个模块是实现的等待功能

模块4:

检测键盘(DOS6号调用)

Y

秒值变否?

根据秒值是否相同来执行循环,但秒值变化了就返回继续执行程序。

5.程序代码

STACK SEGMENT

DB 256 DUP(0)

STACK ENDS

DATA SEGMENT

COUNT DB 100

TENH DB'2'

HOUR DB'3:'

TENM DB'5'

MINUTE DB'9'

DB':'

TENS DB'5'

SECOND DB'0',0DH,'$'

DATA ENDS

CODE SEGMENT

START PROC FAR

ASSUME CS:CODE

PUSH DS

MOV AX,0

PUSH AX

MOV AH, 07H ;等待键按下,AL=字符的ASCII码

INT 21H

;将中断矢量压入堆栈保存

CLI ;清中断允许位

CLD ;清方向标志位

MOV AX, 0000H

MOV DS, AX

MOV SI, 0020H ;DS:SI指向08H中断向量

LODSW ;取08中断入口的偏移地址

MOV BX,AX

LODSW ;取08中断入口段地址

PUSH AX ;压栈保护

PUSH BX

;将中断矢量压入堆栈保存

MOV AX,DATA ;建立数据段的可寻址性

MOV DS, AX

ASSUME DS:DATA

;将向中断矢量写入新地址

MOV AX, 0000H

MOV ES, AX

MOV DI, 0020H ;ES:DS指向08中断向量存放地址

MOV AX,OFFSET TIMER

STOSW ;写入偏移地址

MOV AX,CS

STOSW ;写入段地址

;将向中断矢量写入新地址

MOV AL,00110110B ;8253初始化,0通道,3方式,二进制计数OUT 43H,AL

MOV AX,11932 ;初值=11932

OUT 40H, AL

MOV AL ,AH

OUT 40H, AL

IN AL,21H ;读8259的中段屏蔽寄存器IMR

PUSH AX ;压栈保护

;MOV AL, 0FCH

STI ;开中断

FOREVER:

MOV DL,0FFH ;有键按下吗?

MOV AH, 06H

INT 21H

JZ DISP ;无键按下则转显示DISP

CMP AL, 20H ;是空格键吗?

JZ EXIT ;是则退出

DISP:

MOV DX, OFFSET TENH ;不是则显示时间

MOV AH, 09H

INT 21H

MOV AL, SECOND ;取秒单元值WAITCHA:

CMP AL,SECOND ;改变否?

JZ WAITCHA ;没变则等待

JMP FOREVER ;变则转FOREVER EXIT:

CLI ;有空格键按下退出关中断

CLD ;清方向标志位

POP AX

OUT 21H,AL ;恢复IMR

MOV AL, 36H ;8253初始化,55ms

OUT 43H,AL

MOV AL, 0

OUT 40H,AL

OUT 40H,AL

;恢复中断矢量

MOV AX,0 ;恢复08H中断中断向量

MOV ES, AX

MOV DI, 4*8

POP AX

STOSW

POP AX

STOSW

STI

;恢复中断矢量

RET

TIMER PROC FAR

PUSH AX

DEC COUNT

JNZ L2 ;不到1秒L2

MOV COUNT, 100 ;到1秒,重置COUNT,并修改时间INC SECOND

CMP SECOND,'9'

JLE TIMEXT ;如果小于等于9

MOV SECOND,'0'

INC TENS

CMP TENS,'6'

JL TIMEXT ;如果小于6

MOV TENS,'0'

INC MINUTE

CMP MINUTE,'9'

JLE TIMEXT ;如果小于等于9

MOV MINUTE ,'0'

INC TENM

CMP TENM,'6';如果小于6

JL TIMEXT

MOV TENM,'0'

JMP L3

L2: JMP TIMEXT

L3: MOV AL ,HOUR

AND AL, 0FH

MOV AH, TENH

AND AH, 0FH

MOV CL, 4 ;

ROR AH,CL

OR AL,AH ;AH放到AL高四位

ADD AL, 1

DAA

CMP AL, 24

JL L1 ;小于24转不然置0

MOV TENH,'0'

MOV HOUR ,'0'

JMP TIMEXT

L1: MOV AH,AL

AND AL, 0FH

OR AL, 30H

MOV HOUR, AL

MOV CL,4

ROR AH,CL

AND AH, 0FH

OR AH, 30H

MOV TENH,AH

TIMEXT:

MOV AL, 20H

OUT 20H, AL ;发中断结束命令

POP AX

IRET

TIMER ENDP

START ENDP

CODE ENDS

END START

6.程序调试说明(1)程序调试界面

(2)程序运行过程

①打开运行窗口

②按下任意键显示时间

③按下空格键停止计时

④按下任意键退出窗口

五、学习心得

在本次课程设计中,我的设计题目是硬件中断时钟设计。经过两周的课程设计,我们不但对课本上的知识有了更深的了解和巩固,而且我还学到了平时在课堂上都学习不到的知识,使我对系统的开发过程有了更加完整的认识。

在设计过程中虽然遇到了不少困难,但当我通过自己查资料以及向同学请教在网上询问,在克服了一个又一个难点之后,我的设计正是进入具体操作阶段:1、设计思路的分析阶段。我根据一些经典的算法再加上我的自我分析,写出了符合这次设计要求的算法,并就此画出相应的流程图;

2、源代码的编写阶段。这一过程我还是参考了不少经典例子,再结合实际需要,

运用从课堂上掌握的基本汇编语言知识,终于完成了初步的源代码;

3、代码的调试过程。这算是本次课设的重点过程之一,因为发现错误并改正错误就靠这一过程来完成,经过老师的指点和多次调试,我终于得到了一个正确的程序,使得设计方案中发现的问题得到解决并成功实现系统所需功能,那种成就感和满足感足以让我忘记了这些天来的辛苦;

4、设计报告的编写过程。当然这是对本次课程设计的一个总结,在付出那么多努力之后,能看到自己的劳动成果还是很开心的。

两周的微机原理课程设计在忙碌、紧张、而又充实氛围中度过了,在这短暂的两周时间里,我学到了很多知识,熟悉了好多程序代码,也认识到自己很多不足的地方。时间虽短,我却收获颇丰,不单单是对于知识的收获,还是对自己的一种肯定。这次课程设计给了我们一次应用自己所学知识的机会,使我微机原理这门课程有更深层次的理解,让我们深刻体会到了:一个人的力量是有限的,多请教别人,虚心求问是我在以后学习中应该多多发扬的。

总之,珍惜每一次课程设计的机会,好好锻炼自己提高自己,才真正达到课程设计这门课的目的。

六、参考文献

[1] 谢微成.微型计算机原理与接口技术.第一版.武汉:华中科技大学出版社,2009

[2] 宋杰.微型计算机原理与接口技术课程设计.第一版.北京:机械工业出版社,2006

东华理工大学长江学院

课程设计评分表

学生姓名:班级:学号:

课程设计题目:

项目内容满分实评

选题能结合所学课程知识、有一定的能力训练。符合选题要求

(5人一题)

10 工作量适中,难易度合理10

能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10 理论依据充分,数据准确,公式推导正确10

能应用计算机软件进行编程、资料搜集录入、加工、排版、

制图等

10 能体现创造性思维,或有独特见解10

成果质量总体设计正确、合理,各项技术指标符合要求。10 说明书综述简练完整,概念清楚、立论正确、技术用语准确、

结论严谨合理;分析处理科学、条理分明、语言流畅、结构

严谨、版面清晰

10

设计说明书栏目齐全、合理,符号统一、编号齐全。格式、

绘图、表格、插图等规范准确,符合国家标准

10 有一定篇幅,字符数不少于5000 10

总分100

指导教师评语:

指导教师签名:

年月日

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

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: 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,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计

微机原理课程设计

前言 加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。 通过该课程设计,可以使学生对微机原理及应用这门课有更深刻的了解与认识,同时在做课程设计的过程中也锻炼了学生将书本上的知识应用到具体实践上的能力。不仅回顾了上课老师所讲的知识,同时也培养了自身的创新能力,自主设计能力,纠错能力,加强了学生动手的能力。

目录 1.前言 (2) 2.课程设计题目 (4) 3.设计任务分析 (5) 4.总体设计思路 (6) 5.硬件设计 (7) 6.软件设计 (11) 7.小结 (13) 8.参考文献 (14) 9.设计图纸 (15) 10.程序清单 (16)

课程设计题目:数字控制系统在加热器中的应用 一、课程设计的目的意义 通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:(1)调查研究、分析问题的能力; (2)使用设计手册、技术规范的能力; (3)查阅中外文献的能力; (4)制定设计方案的能力; (5)计算机应用的能力; (6)设计计算和绘图的能力; (7)技术经济指标的分析能力; (8)语言文字表达的能力。 二、课程设计任务介绍 当把物品放入加热器中,首先要启动加热器和电机工作,设定加热时间为5分钟,为使物品均匀加热,每隔30秒电机要反转一次,(正转→反转、反转→正转),加热时间到后,停止加热器和电机工作,并发声,告知加热结束。

2014年微机原理课程设计题目-汇总 (1)

1.根据键盘输入的一个数字显示相应的数据螺旋方阵。如输入4,则显示。 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 共需要显示4^2=16个数字。 要求:①根据键盘输入的数字(3-20),显示相应的数据方阵。 ② 画出设计思路流程图,编写相应程序。 2.显示日期或时间。要求:有提示信息,输入字母“r”,可显示系统当前日期;输入字母“s”,可 显示系统当前时间;输入字母“q”,退出程序。 3.字符游戏 随机显示字符ch,等待用户输入 如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”; 如此循环; 输入Enter结束 点击Enter程序退出; 4.从键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五 个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。 5.为短跑比赛设计一个确定成绩次序的程序,要求能够输入8个队员编号,成绩;输出最终的排名 次序编号及成绩。(成绩时间格式--秒数:百分秒数,如12:15) 6.为评委设计一个显示选手通过的指示器,以电脑显示屏作为指示屏。当从键盘输入0时,显示屏 上呈现“×”图形,表示选手被淘汰;当从键盘输入1时,显示屏上呈现“√”图形,表示选手通过。 7.试设计一个道路收费系统,将车型分为大型车、中型车、小型车,每种车型分别有各自的单公里 收费标准,如下表所示,在收费时,将车型和公里数输入系统,就可自动生成收费额,(公里数取整。收费额以元为单位,保留一位小数)。 序号 车型 单公里收费(单位:0.1元) 1 大型车 5 2 中型车 3 3 小型车 1 8.通过实验箱TDN实现8个LED灯循环闪烁。 要求:首先是1、3、5、7号LED灯以此亮1秒钟,当第7号LED灯亮后,这四个灯同时闪烁5下; 然后,2、4、6、8号灯依次亮1秒钟,当第8号灯亮后,这四个灯同时闪烁5下。 9.为男子25米手枪速射决赛设计一个排名程序。决赛有6名运动员参加,每人每轮次打5枪,每枪 打中靶子的中心区就计一分,打不中就记0分。四轮比赛之后,先将成绩最低的选手淘汰(即为

电子时钟课程设计55026

. 单片机课程设计题目:电子时钟 班级: 姓名: 学号: 指导教师: 设计时间:

.

摘要 针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。设计的电子时钟通过数码管显示,并能通过按键的设计实现小时与分钟的调整。时间的启动与暂停等等。 关键字:数字时钟;单片机;定时计数器 .

1 引言 时钟,自他发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还可以进行时、分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可 .

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

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),

微机课设实验报告

微机课程设计 数字温度计实验报告

一、题目: 上位机:完成界面设计与通讯程序 1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度 值后又提示字幕。 2、能够设定报警温度阈值 3、每隔一秒将温度值保存至文件存档。当超出报警温度阈值时,温度值后 面有提示。 4、可以对串口进行设置。 下位机:完成电路设计与控制程序 1、用两个DS18B20测温。 2、通过串口与上位机通信,并传输温度值,接受阈值设置。 3、当超出报警温度阈值时,有相应指示灯提示。 4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后 有提示。 二、原理 DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。 三、原理图 图3.1 LCD、18B20以及串口与单片机最小系统连接图

图3.2电源模块 四、流程图 1、上位机流程图 图4.1.1发送数据流程图图4.1.2 接受数据流程图

2、下位机流程图 图4.2.2读出温度子程序流程图 图4.2.1总流程图 图4.2.4计算温度子程序流程图

图4.2.3 温度转换流程图 图4.2.6温度值显示在LCD1602上 图4.2.5 显示数据刷新子程序 五、源程序 1、上位机程序:见附录1; 2、下位机程序:见附录2; 3、实验结果显示(上位机):见附录3。

微机原理课程设计

、 微机原理课程设计 —数据采集系统(查询法) # (

一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。 , 二、课设内容 用查询法,将ADC 0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809~道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于0.5V,则最低位(DO)’LED灯亮,若电压值大于4.5V,则最高位LED灯亮,若电压值在0.5V~4.5V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件1 2、电原理框图工作过程的简要说明 【 (1)、ADC 0809的INO采集电位器0—5V电压,INl采集0832输出的模拟量。(2)、DAC 0832将ADC 0809的INO数字量后重新转换成模拟量输出。 (3)、8255用于检测ADC 0809转换是否,为七段LED数码管显示提供显示驱动信息。 (4)、七段LED数码管显示ADC 0809的INO的值。 (5)、74LS574驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。 (6)、8254提供ADC 0809的采样时钟脉冲。 (7)、74LSl38译码器为各芯片提供地址信息。 四、软件设计 【 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测

51单片机里电子时钟设计原理

基于51单片机的电子时钟设计 摘要:本文介绍了基于51单片机的电子时钟的设计,从硬件和软件两个方面给出了具体实现过程。该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。文中给出了各个模块的电路图,并用Proteus的ISIS软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像。 关键词:单片机;电子时钟;键盘控制

Electronic Clock Design Based on 51 Single-chip *** Shandong Institute of Business and Technology , 264005 Abstract:This paper introduces the electronic clock design based on 51 single-chip microcomputer, and it provides us specific implementation process from aspects of hardware and software. This clock is designed by the method of function blocks. In hardware, it’s circuit is divided into switch block, display drive block and digital control block. However, the software consist of the program of alarm clock, time display, date display, stopwatch display, time adjust, timing adjustment, the alarm clock adjustment, time delay and so on. Circuit diagrams of each module is also given and the corresponding simulation image of this clock produced by software of Proteus is also showed in this paper. Key words:single chip microcomputer; electronic clock;Keyboard control

微机原理课程设计报告

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

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (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点阵显示器件一片。

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

8253和8259来实现的简单的时钟,硬件中断时钟设计

利用8253和8259实现简单时钟 一、内容 利用PC系列微机现有的硬件和软件资源编写程序,以便在显示器屏幕上显示XX (时):XX(分):XX(秒),并且每秒钟更新一次显示。 二、设计目的 掌握8253、8259A芯片。 三、设计思路 IBM PC/XT系统板上使用了一片8253-5,其地址为40H ~ 43H,其中0通道在方式3下工作,初值设置23小时59分50秒,每隔55ms向中断控制器8259A的IRQ0端发一次中断请求。此定时中断的用途之一是系统报时。现在借用原有电路,重新设置定时器、编写中断服务程序来做硬件时钟实验,为此程序开始应首先保护原系统的08H中断的中断矢量(中断服务程序入口地址),以便程序退出时恢复原系统的设置。保护原系统的08H中断的中断矢量可用DOS 35H功能调用读出,并加以适当保存,也可以用以下指令将中断矢量压入堆栈保存。 具体过程:等待按键按下,调用DOS的显示字符串功能,并对中断进行压栈操作后,建立数据段的可寻址性,通过装载现行的中断服务程序,使用8253初始化的0通道,3方式,二进制计数进行方式3的10ms方波,即每10ms中断一次,通过保护原有的8259A的中断屏蔽寄存器IMR的内存,进行下一步的IMR的重写,只开放始终和键盘的中断处理。进而开中断,运行TIMER模块的时间调用及DOS显示系统时间的功能,待TIMER模块运行结束之后,关闭中断返回DOS,程序结束。 CLI ;关中断 CLD ;DF=0 MOV AX ,0000H MOV DS ,AX ;DS:SI指向08H中断矢量表中的位置 MOV SI ,0020H LODSW MOV BX ,AX ;BX:原中断服务程序入口偏移地址

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

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

微机控制技术实验报告

《微机控制技术》课程设计报告 课题:最少拍控制算法研究专业班级:自动化1401 姓名: 学号: 指导老师:朱琳琳 2017年5月21日

目录 1. 实验目的 (3) 2. 控制任务及要求 (3) 3. 控制算法理论分析 (3) 4. 硬件设计 (5) 5. 软件设计 (5) 无纹波 (5) 有纹波 (7) 6. 结果分析 (9) 7. 课程设计体会 (10)

1.实验目的 本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。 2.控制任务及要求 1.设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。 对象特性G (s )= 采用零阶保持器H 0(s ),采样周期T =,试设计单位阶跃,单位速度输入时的有限拍调节器。 2.用Protel 、Altium Designer 等软件绘制原理图。 3.分别编写有纹波控制的算法程序和无纹波控制的算法程序。 4.绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。 3.控制算法理论分析 在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数)(z φ提出了较为苛刻的要求,即其极点应位于Z 平面的坐标原点处。 1最少拍控制算法 计算机控制系统的方框图为: 图7-1 最少拍计算机控制原理方框图 根据上述方框图可知,有限拍系统的闭环脉冲传递函数为: ) ()(1)()()()()(z HG z D z HG z D z R z C z +==φ (1) )(1)()(11)()()(1z z HG z D z R z E z e φφ-=+== (2) 由(1) 、(2)解得:

微机原理课程设计

微机原理与应用课程设计

目录 一、设计任务 1、计时秒表,具有分、秒和百分之一秒的计时功能。 2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。 3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理 1、HALT(启动子程序) 2、DIS(宏定义——苹果显示程序) 3、DISS(宏定义——字符串的输出) 4、CLOUR(字体颜色设置程序) 5、IOSET(设置光标位置子程序) 6、GO(初始化显示子程序) 7、TIME(延时子程序) 8、TRAN(压缩BCD码转ASCII码程序) 9、复位、停止等功能的实现 三、流程图 a)主程序流程图 b)压缩BCD转ASCII码子程序流程图 c)延时子程序流程图 四、程序段 五、程序调试 六、程序运行结果 七、心得体会

八、参考文献 一、设计任务: 1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。 2.屏幕显示彩色图案和文字。 3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理: 本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下: 1.DIS(宏定义——苹果显示程序) 通过宏调用,实现苹果图案的显示。在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。 2.DISS(宏定义——字符串的输出) 原理同上。 3.CLOUR(字体颜色设置程序) 通过字体颜色设置程序,实现屏显字体颜色的改变。当改变BX值时,字体颜色会改变。 4.HALT(启动子程序) 通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S 时,计时开始。 5.IOSET(设置光标位置子程序) 通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下脚字符为24行79列,对应十六进制为:左上脚为(0,0),右下脚为(18,4F)。入口信息为:(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中央。 6.GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存入数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。 7.TIME(延时子程序) 计算机每执行一条指令,虽然很快,但是需要一些时间,因此在本程序中可以通过延时程序,让计算机去执行一些无关的程序,来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的,因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)

51单片机电子时钟设计报告

电子时钟实验报告 全部代码在文档末尾:51单片机,LCD1602液晶显示屏平台下编程实现,可直接编译运行 目录: 一,实验目的 (1) 二,实验要求 (2) 三,实验基本原理 (2) 四,实验设计分析 (2) 五,实验要求实现 (3) A.电路设计 (3) 1. 整体设计 (3) 2. 分块设计 (4) 2.1 输入部分 (4) 2.2 输出部分 (5) 2.3 晶振与复位电路 (5) B.程序设计 (6) B.1 程序总体设计 (6) B.2 程序主要模块 (6) 五.实验总结及感想 (8) 一,实验目的 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以电子钟是以其小巧,价格低廉,走时精度高,使用方便,

功能多,便于集成化而受广大消费的喜爱,得到了广泛的使用。 1. 学习8051定时器时间计时处理、按键扫描及LCD液晶显示的设计方法。 2. 设计任务及要求利用实验平台上LCD1602液晶显示屏,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在LCD1602液晶显示屏上显示当前日期,时间。 2. 利用按键可对时间及闹玲进行设置,并可显示设置闹玲的时间。闹玲时间到蜂鸣器发出 声响,一分钟后闹铃停止。 B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整)实现年月日时分秒的调整,星期准确的随着日期改变而改变进行显示。 2.定时功能(设定一段时间长度,定时到后,闹铃提示) C.可扩展部分: 1.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 2.可进行备忘录提示,按照年月日,可在设定的某年某月进行闹铃提示。 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当减到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了,是否一天到了,是否一个月到了,是否一年到了。 将时间在LCD液晶屏上显示,降低了程序的编写难度。LCD的固定显示特性是我们省去了数码管的动态扫描显示。 四,实验设计分析 针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结

学微机原理课程设计心得体会范文

学微机原理课程设计心得体会范文 "微机原理与系统设计"作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点。接下来就跟着小编的脚步一起去看一下关于吧。 篇1 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很

重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 篇2 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就

微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[13页].docx

微机系统课程设计实验报告

课题:交通信号灯自动控制模拟指示系统 一、课程设计目的 1.掌握CPU与各芯片管脚连接方法,提高借口扩展硬件电路 的连接能力。 2.加深对定时器、计数器和并行借口芯片的工作方式和编程 方法的理解。 3.掌握交通信号灯自动控制系统的设计思路和实现方法。 二、课程设计内容 设计并实现十字路口通信号自动控制模拟指示系统。设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。 三、应用系统设计方案 交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。按照需要设定工作在方式3. 交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可编程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。PC0作为OUT1的输入。

四、系统测试结果 1.基本功能实现 (1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。即南 北的绿灯、东西的红灯同时亮30秒,同时南北路口 数码管递减显示绿灯剩余时间;为0时,南北的黄 灯闪烁5秒钟,同时东西的红灯继续亮;南北的红 灯、东西的绿灯同时亮30秒,同时东西路口数码管 递减显示绿灯剩余时间;为0时,南北红灯继续亮, 同时东西的黄灯闪烁5秒;若不结束,则开始循环。 (2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。 (3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q”退出。 2、发挥部分实现 (1)增加人工干预模式,在特殊情况下可通过人工干预,手动控制A、B交通灯的切换时间,并可以随时切 换为自动运行模式。 (2)增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。 (3)增加红灯倒计时显示。

微机原理课程设计交通灯

一、课程设计题目 交通灯控制 二、课程设计目的 ●综合运用《微机原理与应用》课程知识,利用集成电路设计实 现一些中小规模电子电路或者完成一定功能的程序,以复习巩 固课堂所学的理论知识,提高程序设计能力及实现系统、绘制 系统电路图的能力,为实际应用奠定一定的基础。 ●掌握8255A方式0的使用与编程方法 ●PC机及配套的接口电路实验装置 ●IC芯片:8255A应用和8253 三、课程设计容 ●采用8255A设计交通灯控制的接口方案 ●采用8253设计延时电路 ●插接电路 ●编写控制程序 四、课程设计过程 1、设计原理 ●8255 8255是Intel公司生产的可编程并行I/O接口芯片,有3 个8位并行I/O口。具有3个通道3种工作方式的可编程 并行接口芯片(40引脚)。其部与引脚图如图所示:

8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。 8253 intel8253是NMOS工艺制成的可编程计数器/定时器,其部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:

每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。控制字如图所示: 在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。在这里我们主要采用方式0:计数结

束产生中断 (由低电平变为高电平)。其波形图如图所示: a. 写CW后:OUT=0,直到计数到0 b. 写N后:下1个CLK脉冲下降沿开始计数 c. 计数过程中,可重写N,重写N后,同b. d. GATE的作用:GATE=1计数、=0暂停计数 e. 计数到0:OUT=1,直到再写CW或N 2、方案设计 考虑普通十字路口,交通灯的控制可分东西向和南北向两 组,每组可用红、黄、绿三个灯进行交通管理,所以本方 案要点是至少对六个交通灯进行控制。由于灯光控制只需 要开、关两个状态,所以可以采用开关量实施控制。开关

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