单片机和8253的课程设计

合集下载

单片机课程设计

单片机课程设计

单片机课程设计实验项目 8253实验项目实验一:编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED 上,运行后可观察到该LED 在不停闪烁。

实验二:设计8253与8086CPU 的硬件连接图,分配8253的基地址为0F000H实验三:设计8253与外界输入时钟频率2MHZ 和电源的硬件连接,使8253产生周期为1秒的方波。

用此方波控制LED灯,使其发出闪烁信号。

实验四:利用8086外接8253可编程定时器/计数器,可以实现对外部事件进行计数。

实验五:8253计数器0,1,2工作于方波方式,观察其输出实验六:8253的通道2工作于方式0,用于事件计数,当计数5次时,向8259A 发出中断请求信号,显示“M ”,实验线路如图所示:实验七:利用8253的通道0工作于方式2来产生定时中断(IRQ0),循环显示“0”-“9”十个数,系统默认线路如下。

KK1 +5V+5V实验八:①8253A的GATE2接单脉冲发生器的Q端,8253工作方式1,每按一次产生一个脉冲,点亮的发光二极管向左(或者向右)移动一位。

改变计数初值和CLK2,观察脉冲发出后点亮的光二极管移动等待的时间长短。

②8253A的GATE2接S0,S0为高电平。

8253工作方式2,运行程序,点亮的发光二极管从左到右(或者从右到左)定时移动。

改变计数初值和CLK2,观察点亮的光二极管移动的速度。

改变S0的状态,观察发光二极管的移动情况,理解GATE的作用;③改变8255A的片选/CS接地址译码单元的内容、修改程序,完成1和2的内容;④改变8259的中断输入端(IR5或者IR7),修改程序,完成①和②的内容,理解中断向量的含义。

8255实验项目实验一:8255的A口作为输入口,与逻辑电平开关相连。

8255的B 口作为输出口,与发光二极管相连。

单片机键盘乐器课程设计

单片机键盘乐器课程设计

湖南工学院课程设计报告(2015 ~2016学年度第二学期)课程名称接口技术与外部设备课程设计名称键盘电子乐器姓名学号专业班级地点教师1.课程设计目的及要求1)、实验目标、功能设计要求:利用并行接口8255作为键盘接口,设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。

2)、软件、硬件环境:Windows XP 、1G 内存2. 课程设计步骤 (1) 弄明白设计题目(2) 查阅资料,搞清楚8253和8255的工作原理。

(3) 上网查阅相关资料 (4) 编程实现(5) 完成课程设计报告3. 课程设计内容 1)、设计概述(a) 开发平台:masm (b) 参考书籍:《微型计算机接口技术及应用》、《IBM —PC 汇编语言课程设计》、《手把手教你学单片机》 2)、处理流程 (a)8253 引脚图122412…1413GN D D 7D 6D 5D 4D 3D 2D 1D 0CLK 0OUT 0GATE 0V CC W RD CS A 1A 0CLK 2OUT 2GATE 2CLK 1GATE 1OUT 1…8253/8254图3.1 定时/计数器8253/8254 引脚图数据总线缓冲器读/写逻辑控制命令寄存器计数器计数器1计数器2CLK 0GATE 0OUT 0CLK 1GATE 1OUT 1CLK 2GATE 2OUT 2D 0~D 7 A 0A 1RD WR CS 图3.2 定时/计数器8253/8254内部框图内部总线8255的工作原理(b)主要函数的程序流程图4. 课程设计结果 运行正确:摁键盘Q~U :能发低音摁键盘A~J :能发比上行高一音阶的音频 摁键盘Z~M :能发比上行更高一音阶的音频5. 课程设计总结分析组员分工及评分:查找资料:阳吉红(B )、董湘北(B ) 程序修改实现:尹媚(B +)董湘北自我评价:接到课程设计题目,刚开始刚到非常的棘手,通过翻阅了上学期的《汇编语言程序实验教程》,了解到控制电路是以位触发和定时器控制两种不同的方式驱动扬声器发声,8253驱动扬声器,8255接受输入的数据。

8253可编程定时计数器应用实验

8253可编程定时计数器应用实验

8253可编程定时计数器应用实验一、实验要求:按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。

二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。

3、掌握8253的工作方式及应用编程。

三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。

四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。

定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。

课程设计 8253的脉冲计数器分频器设计报告

课程设计 8253的脉冲计数器分频器设计报告

微机原理与接口技术课程设计8253的脉冲计数器/分频器设计报告目录前言 (2)第一章绪论 (3)1.1 设计的目的及意义 (3)1.2 设计期望实现的目标 (3)1.3 目标的可行性分析 (4)1.4 使用的技术和方法 (4)第二章硬件设计 (5)2.1 设计原理与分析 (5)2.2 硬件功能模块 (6)3.3 设计原理图与PCB (14)第三章软件设计 (16)3.1 程序分析 (16)3.2 程序代码 (17)第四章总结 (21)参考文献 (22)致谢 (22)前言在21世纪这个科技当道的年代,只要你敢想一切皆有可能。

微机原理与接口技术作为大学本科电子信息专业的一门必修科目,对我们理解科学,认识科学的意义是深远的。

本次课程设计皆在提高我们对微机原理以及相关软硬件的认识,提升理论与实践的结合能力,在本次课程设计中将基于AEDK8688ET微机教学实验系统来实现8253的脉冲计数器/分频器设计。

本课程设计报告共分四章,在第一章中主要阐述课程设计的意义与目的,并说明期望的目标。

在第二章和第三章中分别就设计的硬件和软件做详细阐述,其中包括关键芯片的功能介绍,软硬件的设计思路与实现。

第四章为课程设计的心得体会。

当然目前自己的知识与水平是非常有限的,设计报告中还存在很多的不足与错误,恳请老师与读者批评指正。

第一章绪论1.1 设计的目的及意义微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原理、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。

本课程设计任务和目的是:帮助学生巩固和加深理解所学的理论知识,训练学生的实验技能,使其树立工程观点和严谨的科学作风,初步具有运用理论知识分析问题、解决问题的能力。

培养学生运用所学的理论解决实际问题的能力,使学生初步掌握分析简单电路,调试简单汇编程序以及撰写课程设计报告的能力。

1.2 设计期望实现的目标在计算机应用系统中,常常需要实时时钟,有时也需要对外部事件进行计数,而可编程计数器的计数范围可由软件来设定改变,不占用CPU大量时间,所以使用方便,且功能较强。

计算机控制课程设计数据采集系统设计正文

计算机控制课程设计数据采集系统设计正文

1 引言数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。

数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。

数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。

随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。

数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。

在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。

随着计算机在工业控制领域的不断推广应用,将模拟信号转换成数字信号已经成为计算机控制系统中不可缺少的重要环节,因此数据采集系统有着更加重要的意义。

本次的课程设计中,我通过查阅有关资料,确定了系统设计方案,并设计了硬件电路图,分析主要模块的功能及他们之间的数据传输和控制关系。

最后利用Protel绘制了电路原理图,Keil编写源代码。

本课程设计采用89C51系列单片机,设计的系统由硬件和软件两部分构成,硬件部分主要完成数据采集,软件部分完成数据处理和显示。

数据采集采用AD0809模数转换芯片,具有很高的稳定性,采样的周期由可编程定时/计数器8253控制。

完成采样的数据后输入单片机内部进行处理,并送到LED显示。

软件部分用Keil 软件编程,操作简单,具有良好的人机交互界面。

程序部分负责对整个系统控制和管理,采用了汇编语言进行了判别通道、数据采集处理、数据显示、数据通信等程序设计,具有较好的可读性。

使系统实现了通过一个A/D转换器采样一个模拟电压,每隔一定时间去采样一次,每次相隔的时间由定时器/计数器芯片8253控制,采样的结果送入A/D转换器芯片0809,转换完成后,把转换好的数字信号送入并行接口芯片8255,然后由中断控制器向CPU发出中断请求,在CPU控制下把8225中的数字送入外设即CRT/LED 显示。

8253课程设计

8253课程设计

8253课程设计一、课程目标知识目标:1. 让学生掌握8253定时器的基本原理、内部结构和功能特点;2. 使学生了解8253定时器在计算机中的应用和编程方法;3. 引导学生掌握8253定时器与中断控制、计数器等知识点的关联。

技能目标:1. 培养学生运用8253定时器进行程序设计和实际操作的能力;2. 提高学生分析问题、解决问题的能力,特别是在计算机硬件和软件方面的应用;3. 培养学生的团队协作能力和沟通能力,以便在项目实践中共同解决问题。

情感态度价值观目标:1. 培养学生对计算机硬件课程的兴趣,激发学习热情;2. 引导学生树立正确的价值观,认识到科技发展对社会进步的重要性;3. 培养学生具备良好的学习习惯,严谨的科学态度和积极向上的精神风貌。

课程性质分析:本课程为计算机硬件相关课程,旨在让学生深入了解8253定时器的工作原理和应用方法,提高学生的实践能力和创新能力。

学生特点分析:本课程面向的学生为具有一定计算机基础知识和编程能力的初中生,他们对新鲜事物充满好奇,学习积极性较高,但可能在硬件方面的知识相对薄弱。

教学要求:1. 教师应结合学生特点,以实际应用为导向,注重理论与实践相结合;2. 教师应充分调动学生的积极性,引导学生主动参与课堂讨论和实践活动;3. 教师应关注学生的学习进度,及时调整教学方法和策略,确保教学效果。

二、教学内容1. 8253定时器原理及功能- 8253内部结构- 定时器工作原理- 8253的计数模式及编程方法2. 8253定时器在计算机中的应用- 8253定时器在实时时钟、中断处理、脉冲发生等方面的应用- 实例分析:8253定时器在具体项目中的应用3. 8253定时器编程与实践- 编程接口及指令集- 汇编语言编程方法- 实践:编写8253定时器控制程序,实现特定功能4. 8253定时器与中断控制的关联- 中断原理及处理过程- 8253定时器与中断控制器的连接方式- 实例分析:中断控制下的8253定时器应用5. 8253定时器的拓展应用- 定时器在多任务调度、同步控制等方面的应用- 实践:设计一个基于8253定时器的多任务调度系统教学内容安排与进度:第1周:8253定时器原理及功能第2周:8253定时器在计算机中的应用第3周:8253定时器编程与实践第4周:8253定时器与中断控制的关联第5周:8253定时器的拓展应用教材章节关联:本教学内容与教材第X章“8253定时器及其应用”相关,涵盖该章节的主要知识点。

单片机课程设计-基于MCS51单片机的微机保护装置模拟设计

单片机课程设计-基于MCS51单片机的微机保护装置模拟设计

3.2 软件设计 3.2.1 主程序流程图
-6 -
开始
8255控制方式初始化
开总中断开关 T0、T1下降沿触发
禁止外部中断0、 禁止外部中断1
启动A/D转换器 采样电压
采样值≥80H?
N
采样值≥66H?
N
采样值≥33H?
N
Y
N
I段是否拒动?
Y Y
I段保护动作
N
II段是否拒动?
II段保护动作
Y
Y
III段保护动作
关于拒动的设置,是用 8255 的 PC7、PC6 控制 I、II 段是否拒动。
3.1 硬件设计 3.1.1 硬件接线图
3.详细设计
图 2 硬件接线图
3.1.3 引脚连接详细说明
CS1
CS2、A0、A1
A3 区 CS3、A0、A1
ES598PCI P1.0、P1.1、P1.2
P1.4
/INT0、/INT1
ORG 0000H
图 4 主程序流程图
-7 -
Y
P1.0是否为0?
N
Y
P1.1是否为0?
N
Y
P1.2是否为0?
N
LJMP START
ORG 0003H
LJMP INT_0
ORG 0013H
LJMP INT_1
ORG 0030H START: MOV A,#10001000B ;8255 控制字,A、B 组工作方式 0,A 口输出,C 口高四位输入,B 口输出
1.2 设计要求
利用 STAR ES598PCI 实验仪的硬件资源设计一个“基于 MCS-51 单片机的微机保护装 置”。当被保护线路上发生短路故障时,要求模拟电流保护装置切除短路故障。当线路中 的电流 I 大于某一段电流保护的动作值时,该段保护将启动,并经过相应的动作时限后动 作于跳闸。各段电流保护可通过动作时限来获得选择性。

微机8253秒表课程设计报告

微机8253秒表课程设计报告

微机8253秒表课程设计报告(总24页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--秒表程序设计摘要:本课程设计旨在设计一个秒表计时并储存计时的程序,可控制秒表的计时开始及结束,实现秒表的准确计时,存储计时数据,翻阅计时数据,清除计时数据等功能。

本程序是基于8086微机系统设计,在Masm for Windows软件下采用汇编语言编写,通过选择8253定时器0,工作方式3,输出周期为10ms的方波,产生稳定延时,调用各种中断完成程序各逻辑模块设计,通过键盘扫描得到输入的值,执行对应功能。

每10ms计时一次,每60秒一次循环,存储数据设定为最多20组,可随时存入数据,操作自由度极高,经测试,60秒计时误差不超过%,可实现准确计时及存储功能。

关键字:秒表、显示计时、存储计时、汇编1设计任务分析与方案选择本设计需实现秒表稳定计时,并显示,需要存储计时数据时可立即将当前计时数据存入缓冲区,暂停计时时立即结束并可复位或者继续计数或者查看存储数据,在查看数据时可前后翻阅存储数据,并可清除,当退出查看数据后可使秒表继续计数或复位。

1.1方案选择1.1.1系统硬件设计选择本设计采用8253定时器0,工作方式3获得周期为10ms的稳定计时单位,使用8086CPU进行译码,当定时到1s的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元,8259芯片提供中断,并用8255的A口接七段数码管的段选信号,B口接七段数码管的位选信号。

1.1.2系统软件设计选择在代码实现上,对于按键的输入上可以直接读取或是先扫描键盘再读取,本设计只存在各逻辑功能之间的转换,因此选择先扫描键盘再读取的方法,可提高代码的容错率及可操作性;使用宏定义及光标定位的方法,并配合各种中断设计界面图形及字体颜色,宏定义可以减少代码的重复度,且便于修改功能,可任意调用,通过定位光标可确定输出位置,可实现同一位置的动态输出;对于时间的扫描,可以选择直接读取系统当前的时间或是读取系统时钟的计时单位,前者的读取直接是BCD码非常便于输出显示,后者需要不停的读取计时单位读取次数非常多,而且结果不是BCD码,需要做判断转换输出,此设计采用读取系统时钟的计时单位,虽然需要不停的读取计时单位读取次数非常多,而且结果不是BCD码,需要做判断转换输出,但是经过与实际情况比较,后者的计时更为准确,区分度更大。

微机课程设计8253

微机课程设计8253

一、课程设计目的1掌握8253的工作原理及编程方法2了解硬件与软件的调试方法3通过对微机系统分析和具体设计,使学生加深对所学课程的理解。

4培养学生分析问题、解决问题的能力。

5培养学生对微型计算机应用系统的基本设计能力。

6要求学生掌握汇编语言程序设计的基本方法,学会典型接口的基本设计方法。

二、课程设计要求在DOS屏幕上右上角动态显示日期,时间要求格式:年-月-日时:分:秒要求采用8253定时器中断方式实现定时及显示刷新。

三、设计正文(一)设计思路在计算机系统中,8253定时器内部有三个独立的计算器,其中计算器0作为定时器,为系统时钟提供一个恒定的时间基准,对时间基准信号进行记数,可以用来计算时间和日期。

DOS中提供了用与读取和设置系统时间和日期的功能的调用。

本程序设计遇到一些困难,所以选用的是延时程序来进行定时刷新。

首先设置一个缓冲区用来存放日历时间并最终存入一结束字符‘$’,然后调用DOS时间功能调用,读取系统当前日期和时间,先调用子程序把二进制数转化成BCD码,再将BCD码转化成ASC2码。

按照顺序逐一的存放在缓冲区中,设置显示要求(DOS右上角),显示年-月-日小时:分钟:秒。

最后调用延迟程序进行时间刷新。

(二)程序框图DATA SEGMENTT_BUFF DB 20 DUP(0)TIME DB 3 DUP(0)DAY DB 4 DUP(0)DATA ENDSSTACK SEGMENTDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKMAIN:START: ;年月日显示部分MOV AX,DATAMOV DS,AXLEA BX,DAY ; 送DAY的偏移地址到BXLEA DI,T_BUFF ; 送T-BUFF的偏移地址到DIMOV AH,2AH ; 调用DOS时间调用功能,功能号:2AH,年,月,日分保存在CX,DH,DL中INT 21HMOV [BX],CXMOV [BX+2],DHMOV [BX+3],DLMOV AX,CX ; 年的设定CALL BCTD ; 调用进制转换子程序PUSH AXAND AL,0F0H ; 选取AL高四位MOV CL,4 ; 设置左循环的次数ROL AL,CL ; 左循环ADD AL,30H ; 加30H得到ACSII码MOV [DI],AL ; 将得到的结果送到T-BUFF缓冲区INC DI ; DI自加1,指针指向下一个缓冲区的下一个地址POP AXAND AL,0FH ; 选取AL低四位ADD AL,30H ; 加30H得到ACSII码MOV [DI],AL ; 将得到的结果送到T-BUFF缓冲区INC DIMOV AL,'-'; 显示分隔符INC DIMOV DH,[BX+2] ; 月的设定MOV AL,DHMOV AH,0CALL BCTDPUSH AXAND AL,0F0HMOV CL,04HROL AL,CLADD AL,30HMOV [DI],ALINC DIPOP AXAND AL,0FHADD AL,30HMOV [DI],ALINC DIMOV AL,'-'MOV [DI],ALINC DIMOV DL,[BX+3] ; 日的设定MOV AL,DLMOV AH,0CALL BCTDPUSH AXAND AL,0F0HMOV CL,4ROL AL,CLADD AL,30HMOV [DI],ALINC DIPOP AXAND AL,0FHADD AL,30HMOV [DI],ALINC DIMOV AL,' 'MOV [DI],AL; 时间的设定LEA BX,TIME ; 送TIME的偏移地址到BXINC DIMOV AH,2CH ; 调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分保存在CH,CL,DH中INT 21HMOV [BX],CHMOV [BX+1],CLMOV [BX+2],DHMOV AL,CH ; 小时的设定CMP AL,00H ;每日凌晨校正JZ NEXTMOV AH,0CALL BCTD ; 调用进制转换子程序NEXT:PUSH AXAND AL,0F0H ; 选取AL高四位MOV CL,4 ; 设置左循环的次数ROL AL,CL ; 左循环ADD AL,30H ; 加30H得到ACSII码MOV [DI],AL ; 将得到的结果送到t_buff缓冲区INC DI ; BX自加1,指针指向下一个缓冲区的下一个地址POP AXAND AL,0FH ; 选取AL低四位ADD AL,30H ; 加30H得到ACSII码MOV [DI],AL ; 将得到的结果送到t_buff缓冲区INC DIMOV AL,':'; 显示分隔符MOV [DI],ALINC DIMOV CL,[BX+1] ; 分钟数设定MOV AL,CLMOV AH,0CALL BCTDPUSH AXAND AL,0F0HMOV CL,04HROL AL,CLADD AL,30HMOV [DI],ALINC DIPOP AXAND AL,0FHADD AL,30HMOV [DI],ALINC DIMOV AL,':'MOV [DI],ALINC DIMOV DH,[BX+2] ; 秒钟数设定MOV AL,DHMOV AH,0CALL BCTDPUSH AXAND AL,0F0HMOV CL,4ROL AL,CLADD AL,30HMOV [DI],ALINC DIPOP AXAND AL,0FHADD AL,30HMOV [DI],ALINC DIMOV AL,'$'; 将字符串的结束位送至显示缓冲区的最后一位MOV [DI],AL ; 置光标位置 ,AH=2,BH=0,DH跟DL分别为行号与列号MOV AH,2MOV BH,0MOV DH,0MOV DL,60INT 10HLEA DX,T_BUFF ; 送T-BUFF偏移地址到DX,并调用DOS显示功能,功能号为9 MOV AH,9INT 21HCALL DELAY1JMP STARTBCTD PROC NEAR ; 二进制转BCD码子程序MOV DX,AX ; AX输入参数MOV AX,0 ; AX输出参数,存放调整过的BCD码BC:ADD AX,1DAA;对AX进行加1调整DEC DX ;调整次数是DX,即AXCMP DX,0JNE BCRETBCTD ENDPDELAY1 PROC ; 精确延迟时间子程序MOV DX,04FFH ; 循环次数UP:XOR CX,CXA:NOPLOOP ADEC DXJNZ UPRETDELAY1 ENDPCODE ENDSEND MAIN(四)实验运行结果截图四、课程设计总结经历了这一个星期的课程设计,真的对微机原理与应用有了新的认识。

单片机-8253

单片机-8253

南昌航空大学实验报告年月日课题名称:单片机技术实验名称:8251可编程串行口双机通信实验班级: 09045107姓名:同组人:指导老师评定:签名:一、实验目的1 掌握双机通信的原理和编程方法。

2 进一步学习8251A的使用方法。

二、实验内容TXC和RXC分别为8251A的发送时钟和接收时钟。

它由片外8253A的OUT1提供。

本实验要求以查询方式进行收发。

要完成本实验,需2台DVCC系列实验系统。

其中一台为串行发送,一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。

由于本系统监控中未对8253A、8251A进行初始化,因此本实验开始必须对8253、8251进行初始化,然后才可以直接进入对串行口状态的查询。

三、实验步骤1、准备2台DVCC系列实验仪,确定1号为发送,2号为接收。

2、将1号RXD插孔和2号的TXD插孔相连。

3、将1号TXD插孔和2号的RXD插孔相连。

4、将1号GND插孔和2号的GND插孔相连(共地)。

5、将8253CS插孔和Y4插孔相连,8251CS和Y5插孔相连。

6、将SIO区D0—D7和BUS2区XD0—XD7相连。

7、先运行2号机,在2号机提示符“P.....”状态下,输入0D00后,再按EXEC键进入等待接收状态,显示器显示“8251—2”。

8、再运行1号机,在1号机处于提示符“P.....”状态下,输入0E00H后,按EXEC键,进入串行发送状态。

显示器显示“8251—1”。

9、在1号机的键盘上输入数字键,应在2号机显示器上显示对应数字值。

10、输入数字键后再按MON键,1号机显示“8251 good”。

如果不输入数字键直接按MON键,则显示“Err”,如果双机通信不能正常进行,也显示“Err”。

四、实验原理图六、实验源程序: 系统晶振是 6.0 MHzORG 07F0HSTART:MOV SP,#60Hmov A,#02HMOV R0,#79HMOV @R0,AINC R0MOV A,#10HMOV @R0,AINC R0MOV A,#01HMOV @R0,AINC R0MOV A,#03HMOV @R0,AINC R0MOV A,#00HMOV @R0,AINC R0MOV A,#08HMOV @R0,AMOV A,#7EHMOV DPTR,#1FFFHMOVX @DPTR,AMOV 87H,#80HMOV SCON,#50H ;串口方式1MOV TMOD,#20H ;T1 方式1MOV TL1,#0F3H ;波特率9600 的常数MOV TH1,#0F3HSETB TR1 ;开中断CLR E T1CLR E SWAIT:JBC RI,DIS_REC ;是否接收到数据LCALL DISP ;SJMP WAIT ;DIS_REC:MOV A,SBUF ;读串口接收到的数据LCALL DA TAKEY;显示输入的数字(0-F)DB 79H,7EHAJMP WAIT DA TAKEY:MOV R4,AMOV DPTR,#1FFFHMOVX A,@DPTRMOV R1,AMOV A,R4MOV @R1,ACLR APOP 83HPOP 82HMOVC A,@A+DPTRINC DPTRCJNE A,01H,DA TAKEY2DEC R1CLR AMOVC A,@A+DPTRDA TAKEY1:PUSH 82HPUSH 83HMOV DPTR,#1FFFHMOVX @DPTR,APOP 83HPOP 82HINC DPTRPUSH 82HPUSH 83HRETDA TAKEY2:DEC R1MOV A,R1SJMP DA TAKEY1DISP: SETB 0D4HMOV R1,#7EHMOV R2,#20HMOV R3,#00HDISP1:MOV DPTR,#DA TACOMOV A,@R1MOVC A,@A+DPTRMOV DPTR,#0FF22HMOVX @DPTR,AMOV DPTR,#0FF21H MOV A,R2MOVX @DPTR,ALCALL DELAYDEC R1MOV A,R2CLR CRRC AMOV R2,AJNZ DISP1CLR 0D4HRETDELAY: MOV R7,#03HDELAY0: MOV R6,#0FFHDELAY1: DJNZ R6,DELAY1DJNZ R7,DELAY0RETDA TACO: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEHEND七、实验小结:通过本次实验,基本上掌握了双机通信的原理和编程方法,进一步学习了8251A的使用方法。

8253计数器课程设计实验报告

8253计数器课程设计实验报告

一前言微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。

本课程设计任务和目的是:帮助学生巩固和加深理解所学的理论知识,训练学生的实验技能,使其树立工程观点和严谨的科学作风,初步具有运用理论知识分析问题、解决问题的能力。

培养学生运用所学的理论解决实际问题的能力,使学生初步掌握分析简单电路,调试简单汇编程序以及撰写实验报告的能力。

二实验设备介绍及功能模块的介绍2.1系统组成AEDK8688ET微机教学实验系统是上海航虹高科技实业公司在继承8688T和8688TI微机教学实验机优点的基础上,广泛地吸取用户的使用意见和建议,结合8086188仿真技术,推出的新一代微机教学实验系统。

本实验系统由AEDK8688ET实验机外配计算机和其他一些附件及选配件组成该实验系统,既可以在无PC机的状态下独立运行,又可以接PC机通过串口或ISA总线运行。

在扩展功能上,可以通过实验机的25芯插座外接机电实验平台,做机电一体化实验。

系统硬件组成:主机:AEDK8688ET实验板附件:PC机缓冲驱动卡(UPCXT)、60芯联接电缆、RS-232通讯电缆、维修测试板(U88ETF)及联接电缆、硬导线一束、电源电缆。

选配件:专用电源、机电实验平台。

系统软件组成:软盘片:2张(包含串口调试软件,ISA总线调试软件和自诊断软件)2.2性能特点AEDK688ET教学实验系统集微处理器8088和外配PC/80286/386/486/586及其兼容机于一体的高科技实验系统,具有实验、开发、自诊断等功能。

该实验系统自带键盘、八位七段数码管、微处理器8088和RS-232通讯接口,可以接PC机做实验,也可以无须任何辅助设备而独立做实验。

综合下来,它具有如下性能特点:⑴独立运行的单板机配置方式。

⑵ISA总线配置方式。

组成原理课程设计报告之8253定时计数器

组成原理课程设计报告之8253定时计数器

计算机科学与技术学院计算机组成原理课程设计报告书课题名扩展8253定时计数器班级芙蓉计算机0801 姓名黎祖吉学号 08120134 指导教师杨红杰日期 2010.12.20 ~ 2010.12.24一、设计目的1、融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,以及对计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。

2、在构成一台完整的模型机的基础上,控制真实的外围接口芯片,进行基本的接口实验。

3、本实验外扩一块8253接口实验板,完成定时计数器实验。

4、熟悉8253定时器/计数器的功能及接口方法。

二、实验任务1.分析本实验主板上8253的硬件电路原理。

2.熟悉8253的工作原理后,运行出8253的初始化程序。

三、设计内容1、8253的引脚8253有3个独立的16位减计器通道,每一个通道有三条引线:CLK、GATE和OUT。

① CLK: 输入时钟, 8253规定,加在CLK引脚的输入时钟周期不能小于380ns。

② GATE:门控信号输入引脚。

这是控制计数器工作的一个外部信号。

当GATE引脚为低时,通常都是禁止计数器工作的;只有 GATE为高时,才允许计数器工作。

③ OUT:输出引脚。

当计数到“0”时,OUT 引脚上必然有输出,输出信号波形取决于工作方式。

8253内部端口的选择及每个通道的读/写操作的选择如下表所示:RD WR A1A0寄存器选择和操作1000写入计数器01001写入计数器11010写入计数器21011写入控制寄存器0100读计数器00101读计数器10110读计数器20111无操作(3态)8253的端口的控制子:实验电路组成原理框图:D7D6D5D4D3D2D1D000 选择计数器001 选择计数器110 选择计数器211 非法选择00 计数器锁存命令01 只读/写最高有效字节 (高8位)10 只读/写最低有效字节 (低8位)11 先写最低有效字节 再写最高有效字节000 方式0001 方式1x10 方式2x11 方式3100 方式4101 方式50 二进制1 BCD初始状态:2、 8253的工作方式和输出波形方式功能输出波形0计完最后一个数中断写入计数值N后,经过N+1个CLK脉冲输出变高1硬件再触发单拍脉冲单拍脉冲的宽度为N个CLK脉冲2速率发生器每N个CLK脉冲,输出一个宽度为CLK周期的脉冲3方波速率发生器写入N后,输出1/2N个CLK高电平,1/2N个CLK低电平(N为偶数)(N+1)/2个CLK高电平,(N-1)/2N个CLK低电平(N为奇数) {4软件触发选通写入N后,过N+1个CLK,输出一个宽度为1个CLK的脉冲5硬件触发选通门控触发后,过N+1个CLK,输出一个宽度为1个CLK的脉冲芯片介绍8253芯片内部有三个独立的16位定时/计数器。

8253教学教案

8253教学教案

实验28253教具、教学素材准备:实验箱,多媒体教学方法:网络讲授与实作教学时数:2一、实验目的掌握8253的基本工作原理和编程方法。

二、实验原理和内容1.按图虚线连接电路,将计数器0设置为方式2,计数器初值为N(N< 0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。

(当输入N+1个脉冲后OUT0变高电平)实验提示:从F开始,每按一下单脉冲,屏幕上的数字会从大变小,至1时D0亮(绿灯),从F开始D1亮(红灯)。

2.按图(7)连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1MHZ)。

三、编程提示1、ioport equ 0d400h-0280hio8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回disp endpcode endsend start2、;*******************;* 8253分频*;*******************ioport equ 0d400h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253c equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253c ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253cmov al,76h ;设8253通道1工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start教学后记:。

微机原理课程设计--8253定时中断时钟

微机原理课程设计--8253定时中断时钟

课程设计报告( 2013—2014年度第一学期)名称:微机原理及应用题目:8253定时中断时钟院系:控计学院班级:学号:学生姓名:指导教师:设计周数:1周成绩:日期:2013年12月30日目录一、课程设计的目的与要求 (2)1.课程设计的题目 (2)2.课程设计的要求 (2)二、设计正文 (2)1.基本原理 (2)2.代码示例 (2)三、课程设计总结 (6)四、参考文献 (7)附录 (7)1.程序源码 (7)2.程序流程图 (13)一、课程设计的目的与要求1.课程设计的题目题目:用8253定时器实现屏幕上的日历时钟,带有年月日时分秒(1人)在DOS屏幕上右上角动态显示日期、时间,要求格式:年-月-日时:分:秒。

要求采用8253定时器中断方式实现定时及显示刷新。

2.课程设计的要求通过对微机系统分析和具体设计,使学生对所学课程的理解。

培养分析能问题,解决问题的能力。

要求学生掌握汇编语言程序设计的基本方法,学会典型接口的基本设计方法二、设计正文1.基本原理获取系统时间与日期的方式有两种,比较简单的途径是直接用DOS时间与日期功能调。

比如:向量号为21,功能号为2A,可以调出系统的时间,分别存放在DX和CX之中;向量号为21,功能号为2C可以调出系统的日期,年月日信息存储在DX和CX中;向量号为1A,功能号为02,也可以调用系统时间,同样存放在DX和CX中,不过是以压缩BCD码的形式存放的;向量号为1A,功能号为04可以调出系统的日期,以BCD码的形式存放在DX和CX中。

编程的时候就会发现,后者比前者使用起来方便很多,因为显示的时候要用到ASC码,压缩BCD码可以通过与30H相加,便可以得到相应的ASC码。

而前者存储方式十六进制的,所以必须先转换成BCD码,在转换成ASC码,而十六进制与BCD码之间的转换比较复杂。

2.代码示例用1A向量实现,程序代码如下:MOV AH,02HINT 1AHPUSH DXPUSH CXMOV AH,04HINT 1AHPUSH DX这段代码执行后,查看堆栈得:14 20 02 01 17 17 07 52,时间为:2014年1月2日17点17分52秒用21号向量实现,程序代码如下:MOV AH,2CHINT 21HPUSH DXPUSH CXMOV AH,2AHINT 21HPUSH DXPUSH CX代码执行后,查看堆栈得:DE 07 02 01 17 11 40 16,当前系统时间用16进制表示的,换算之后,可以得到:2014年1月2日17点23分22秒另一种方式就是题目所要求的,利用8253的55MS中断产生定时,不过仍然需要读一次系统的时间,作为计时开始的基准。

接口课程设计8253

接口课程设计8253

接口课程设计8253一、课程目标知识目标:1. 学生能理解8253定时/计数器的内部结构、工作原理及其接口技术;2. 学生能掌握8253定时/计数器在微机系统中的应用方法,并能正确进行编程;3. 学生能了解8253定时/计数器在现实生活中的实际应用案例。

技能目标:1. 学生能独立完成8253定时/计数器的初始化和配置;2. 学生能运用8253定时/计数器进行精确的时间控制和事件计数;3. 学生具备分析并解决8253定时/计数器相关问题的能力。

情感态度价值观目标:1. 学生培养对计算机硬件及接口技术的学习兴趣,增强实践操作能力;2. 学生在学习过程中,养成团队协作、积极思考、解决问题的良好习惯;3. 学生认识到计算机硬件技术在现实生活中的重要作用,增强科技改变生活的意识。

课程性质:本课程为计算机硬件及接口技术课程的一部分,主要针对8253定时/计数器进行讲解。

学生特点:学生处于高年级阶段,已具备一定的计算机硬件知识和编程基础。

教学要求:通过本课程的学习,使学生掌握8253定时/计数器的原理和应用,提高学生的实践操作能力和问题解决能力。

教学过程中注重理论与实践相结合,充分调动学生的积极性,提高学生的动手实践能力。

后续教学设计和评估将围绕上述具体学习成果展开。

二、教学内容1. 8253定时/计数器概述- 介绍8253定时/计数器的背景、发展及其在计算机系统中的应用;- 分析8253定时/计数器的内部结构和工作原理。

2. 8253定时/计数器的编程与应用- 讲解8253定时/计数器的初始化和配置方法;- 通过实例演示8253定时/计数器在微机系统中的编程和应用。

3. 8253定时/计数器的接口技术- 分析8253定时/计数器与CPU的接口方法;- 讲解8253定时/计数器与其他硬件设备的连接与协同工作。

4. 实际应用案例分析- 介绍8253定时/计数器在现实生活中的应用案例;- 分析案例中8253定时/计数器的关键作用和实现方法。

微机原理课程设计——8255_8253交通灯模拟实验

微机原理课程设计——8255_8253交通灯模拟实验

微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。

2.A口控制红灯,B口控制黄灯,C口控制绿灯。

3.输出为0则亮,输出为1则灭。

4.用8253定时来控制变换时间。

要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。

闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。

延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。

闪烁5次后,再切换到1、3路口方向。

之后,重复上述过程。

二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。

30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设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=1 s,因此通道0的计数初值为10000=2710H。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。

第9章计数器定时器8253讲课教案

第9章计数器定时器8253讲课教案

写入计数初值
❖ 当采用二进制计数时,计数初值N可以写成二进制 形式,也可以写成十进制格式。
❖ 例如: MOV AX,0040H ;0040H是16位二进制计数0000000001000000 OUT Port, AL ;先写低8位(Port为端口号) MOV AL, AH OUT Port, AL ;后写高8位
编程结构
状态寄存器
定时器/计数器的工作过程
1. 设置8253\8254的工作方式; 2. 设置计数初值到计数初值寄存器CR; 3. 第一个CLK信号使计数初值寄存器的内容置入
计数执行部件CE; 4. 以后每来一个CLK信号,CE减1; 5. OUT端输出一特殊波形的信号;
注:以上计数过程中还受到GATE信号的控制。
OUT
模式0 计数结束中断

②③ ④ ⑤
方式0 4
4321 0

⑤④计②① 计数结束计数过程数值送入计数器设定计数初值设定工作方式
模式0 计数结束中断
特点:
• 电平触发方式,不自动重复计数。 • 计数过程受GATE控制,GATE=0 暂停计数,
GATE=1 接着计数。 • 计数过程中,如有一个新的计数初值被写入,计数
思考题
❖ 2 设8253的端口地址为208H~20BH,使用计数器0, 工作于方式4,二进制计数;使用计数器2,工作于 方式5,十进制计数。计数器0和计数器2的计数初 值都等于十进制数值512(0200H),请编写初始化程 序。
MOV AL, 38H ;控制字00111000B,二进制计
数、方式4、计数器0、先写低8位、后写高8位
MOV AL, 11011000B ;对计数器2发锁存命令,锁存当前计数值

8253计数器的c程序

8253计数器的c程序

8253计数器的c程序单片机 C 语言程序设计实验指导书前言单片机体积小,重量轻,具有很强的灵活性,而且价格不高,越来越得到广泛的应用。

而C语言是一种编译型设计语言。

它兼顾了多种高级语言的特点,并具备汇编语言的功能。

用C语言来编写目标系统软件,会大大缩短开发周期,且明显的增加软件的可读性,便于改进和扩充,以研制出规模更大、性能更完备的系统。

用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。

单片机的程序设计应该以C语言为主,以汇编语言为辅。

而且采用C语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量的存储单元的分配,编程者就可以专注于应用软件部分的设计,大大加快软件的开发速度。

采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中单片机的重新选型。

为此,特开设了单片机的C语言应用程序设计这门选修课。

课程的内容主要包括了单片机C语言编程的基本语法和思想,单片机内部资源的C编程,单片机常见外部扩展资源的C编程等。

基于本课程的特点,结合高等院校要求,为了不断提高大学生的实验研究能力、分析编程能力、总结归纳能力和解决实际问题的能力,特意编写了本实验指导书,以指导如何利用现有的实验设备进行单片机内外资源的C编程以及简单系统的开发等。

它不仅包括了一系列的验证性实验,而且还包括了综合性和设计性实验。

实验的开设有利于培养学生分析问题和解决问题的能力,以及使抽象的概念和理论形象化、具体化,对增强学习的兴趣有极大的好处,做好本课程的实验,是学好本课程的重要教学辅助环节。

总之,不论是验证性实验还是综合性实验都会加深学生对基本知识的理解和渗透,提高他们的动手操作能力,以更好的适应时代发展的需要。

本实验要求同学在做实验之前要很好的完成预习任务和调试程序的编写;在完成每个实验后,要认真书写实验报告,对实验程序的正确性进行分析,并写出调试心得和体会。

1-单片机 C 语言程序设计实验指导书目录前言.................................................. .. (1)目录.................................................. .. (2)实验一 I/O口扩展实验.................................................. ..3实验二定时器及外部中断实验 (8)实验三 8255扩展八段数码管实验 (12)实验四 8253多路定时/计数器实验................................... (15)实验五 8279键盘显示扩展实验(综合性) (18)实验六点对点异步串口通信实验 (设计性) (21)参考文献.................................................. .. (24)2-单片机 C 语言程序设计实验指导书实验一 I/O口扩展实验一、实验目的1、学习在单片机系统中扩展简单I/O口的方法。

微机原理及应用 电子琴课程设计

微机原理及应用 电子琴课程设计

科技学院微机原理及应用课程设计设计名称:设计模拟电子琴模拟指导老师:指导老师:-----设计者姓名:-----专业班级:自动化学号:----------设计时间:2012.6摘要:本文通过8255 和8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

输入部分:主要是由8255 和8 个常开型开关来完成。

发音部分:CUP 通过对定时器8253 的通道 2 进行编程,使其I/O 寄存器接收一个控制声音频率的16 位计数值,端口61H 的最低位控制通道2 门控的开断,以产生特殊的音响。

本文用到的是8253 的方式3——方波发生器。

关键词:关键词:8253 定时器;8255;电子琴1.引言引言:8253 芯片是常用的可编程计数器,在微机中有着极其重要的作用。

常用于事件计数器,单稳态触发器,分频器,方波发生器,硬件触发的单脉冲发生器等。

计数器/定时器8253 包括3 个独立的16 位计数器通道,而每个计数器都有 6 种工作方式,可以按二进制或十进制(BCD 码)进行计数。

本文用到的是8253 的方式3——方波发生器来实现了简易电子琴的设计。

2.1 8253 简介8253 为可编程定时/计数器,一片8253 上有3 个独立的16 位计数器通道,可以作为定时器或计数器使用,每个计数器都可设定为按照二进制或BCD 码进行计数,计数速率可达2MHZ,每个计数器有6 种工作方式,可编程设置和改变。

如下图为8253 的内部结构图。

在图中可以清楚地看到,8253 主要是由数据总线缓冲存储器,读写控制电路,控制字寄存器和 3 个通道4 部分所组成。

8253 内部结构【1】(如图1 所示)及外部引脚【1】(如图2 所示)图1:8253 内部结构图图2:8253 引脚图8253 的控制字和编程【1】如图 3 所示图3:8253 控制字2.28253 的工作方式3——方波发生器【1】方式3 的波形如图4 所示,它的特点是:(1)输出为周期性的方波。

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

微机原理课程设计
课题名称 8253实现方波发生器
学院(系)信息工程与自动化
专业班级 08自动化
姓名
学号
指导老师
设计日期 2011.6.20
目录
1、课题设计的目的 (1)
2、课题要求 (1)
3、设计思路 (1)
4、设计方案 (2)
5、硬件设计 (2)
6、8253部件功能描述 (3)
7、程序设计流程图 (6)
8、程序设计 (7)
9、Proteus环境下的仿真调试 (8)
10、仿真结果 (9)
11、设计心得体会 (10)
1、课程设计的目的
(1)熟练掌握单片机和8253的原理及应用
(2)掌握各芯片的逻辑功能及使用方法;
(3)了解面包板结构及其接线方法;
(4)了解单片机的基本工作原理;
(5)熟悉定时器的设计与制作。

2、课题要求
1、使用8253芯片实现方波输出;
2、输出的方波频率范围为500Hz到1000Hz,在此频率范围内,可以实现频率可调;
3、运用单片机,实现对定时器/计数器8253芯片的控制,来实现方波发生器的功能。

3、设计思路
单片机可以实现方波输出,此课题则需要利用单片机对8253芯片的控制,使芯片工作在特定的工作方式,来实现方波的发生,因此,总结课题的要求,有如下方案可以讨论:
1、利用8086微处理器,控制8253芯片,是芯片工作在工作方式3,来实现方波的输出。

利用键盘,来实现对输出方波频率的调节,同时,还要加数码管,用以显示按键输入的新的频率数值。

2、使用51系列单片机,控制8253芯片,同样使8253芯片工作在方式3,使8253芯片实现方波的输出,配以数码管和键盘来实现对方波的输出频率调节。

3、使用51系列单片机,控制8253芯片使之工作在方式3,实现方波输出。

使用AD转换芯片ADC0809,与可变电阻器,给单片机输入频率信号,用以调节频率。

4、使用51系列单片机,控制8253芯片,工作在方波发生器方式,使用按钮,对频率实现等步长调节。

4、设计方案
此方案的方波实现是频率调节环节的变化,在此方案中,只用了三个按钮来实现频率的调节。

原理图如下
方案原理图
在此方案中,使用按钮来控制频率的改变,这样的设计,使系统得到了大大的简化,同时,硬件软件的实现十分简便。

5、硬件设计
硬件的设计方框图如下所示
硬件设计框图
硬件设计方案原理如下:
1、时钟发生电路由C1、C2和X1(晶振)产生脉冲给XLAT1、XLAT2作为外部振荡信号,复位信号由开关和RC电路构成;由于系统要对外部接口送数据,所以EA端始终为高电平;单片机P0口接8253的数据端口,由于单片机内部无上拉电阻,当作为输入或者输出时应在外部接上拉电阻,因此 P0口需要外接上拉电阻。

系统的设计需要使用P0口的高2位作为地址线,同时P0口作为数据线使用,因此,需要加地址锁存器;频率调节电路是用按钮组成的,当按钮按下时,可以对频率进行等步长的递增或者递减,从而实现输出500到1000Hz 频率可调的方波。

2、硬件设计原理图如原理图所示。

6、8253部件功能
1、8253芯片的引脚图及功能
(1)8253芯片的引脚图如图所示
8253芯片引脚图
(2)8253芯片内部组成部分:
1)数据总线缓冲器(8位、三态、双向)。

数据中线缓冲器是8253与系统数据总线相连接时用的接口电路,它由8位双向三态缓冲器构成。

2)读/写控制逻辑。

读/写控制逻辑接收系统控制总线送来的输入信号,经组合后形成控制信号,对各部分操作进行控制。

可接收的控制信号有:
CS :片选信号,低电平有效;
RD :读信号,低电平有效; WR :写信号,低电平信号;
10A A :端口选择信号。

10A A =00时,选中0通道;10A A =01时,选
中1通道;10A A =10时,选中2通道;10A A =11时,选中控制寄存器。

8253的输入信号组合功能表如表1所示。

表1 8253输入信号组合的功能表
3)计数器0~2。

三个完全相同的16位减计数器。

每个通各有3个引脚,它们是:CLK0~CLK2计数器0~2的输入时钟脉冲此引脚输入;
OUT0~OUT2计数器0~2的输出端;
GATE0~GATE2计数器0~2的门控脉冲输入端。

4)控制字寄存器。

控制字寄存器是一种只写寄存器,在对8253编程时,由CPU用输出指令向它写入控制字,来选定计数器通道,规定各计数器的工作方式,读写格式和数制。

其格式如图所示:
7D 6D 5D 4D 3D 2D 1D 0D
8253控制字格式
5)8253芯片的工作方式: 工作方式0:计数结束中断方式; 工作方式1:可编程单稳态输出方式; 工作方式2:比率发生器; 工作方式3:方波发生器; 工作方式4:软件触发选通; 工作方式5:硬件触发选通;
其中,本课程设计用到的是方式3,——方波发生器。

7、程序设计流程图
程序设计流程图如图所示
图程序设计流程图
8、程序设计
根据程序设计的流程图,可以编写如下程序代码:
ORG 0000H
MAIN: MOV R1,#09H
INIT: CLR P1.0 ;使GATE为低电平,禁止计数MOV DPTR,#0FF2BH ;送控制寄存器地址器中
MOV A,#36H ;送工作方式字
MOVX @DPTR,A ;工作方式字送到控制寄存器
MOV DPTR,#0FF28H ;送通道0地址
MOV A,R1 ;计数器/定时器初始值
MOVX @DPTR,A ;初始值送入通道0寄存器
SETB P1.0 ;使GATE为高电平,允许计数
LOOP: JNB P1.7,MAIN
JNB P1.6,FADD
JNB P1.5,FSUB
AJMP LOOP ;返回子程序,继续扫描按键FADD: MOV A,R1
SUBB A,#01H ;频率加步长
MOV R1,A
LCALL DELAY
AJMP INIT ;中断处理
FSUB: MOV A,R1
ADD A,#01H ;频率减步长
MOV R1,A
LCALL DELAY
AJMP INIT ;处理
DELAY: NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOV R0,#1
DJNZ R0,DELAY
NOP
RET
END
9、Proteus环境下的仿真调试
根据设计的原理图,在Proteus环境中,绘制出仿真电路图,如图所示
仿真电路图
10、仿真结果
正确连接各部件线路,将源程序代码加入Keil编译环境中,编译调试程序,然后将正确编译、连接后生成的HEX文件,加入Proteus 环境下的单片机中,是单片机可以仿真实际电路工作。

输出波形图
11、设计心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次单片机课程设计,学到了很多在书本上所没有学到过的知识。

在设计的过程中遇到许多问题,但通过老师,同学,以及个人的学习解决了这些问题,从中受益匪浅。

参考文献:
1、张迎新《单微型计算机原理、应用及接口技术》国防工业出版社
1993
2、戴梅萼,史嘉权《微型计算机技术及应用》清华大学出版社 2003
3、仇玉章《32位微型计算机原理与接口技术》清华大学出版社 2001
4、郑学坚,周斌《微型计算机原理及应用》清华大学出版社 1998
5、李博成,侯伯亨《微型计算机原理及应用》电子科大出版社 1998
6、邓元庆,贾鹏《数字电路与系统设计》电子科大出版社 2003
控制仪表与装置课程设计
课题名称双容水箱液位控制系统设计
学院(系)信息工程与自动化
专业班级 08自动化
姓名杨宝贵
学号 080711018
指导老师于剑
设计日期 2011.6.20。

相关文档
最新文档