微机原理计数器DOCWord格式文档下载.docx
《微机原理计数器DOCWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机原理计数器DOCWord格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
摘要
计数器是一种基础测量仪器,到目前为止已有30多年的发展史。
早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量电子计算器的技术水平,决定电子计数器价格高低的主要依据。
目前这些基本技术臻完善,成熟。
应用现代技术可以轻松地将电子计数器的测频上限扩展到微波频段。
利用8253定时/计数器和8255接口电路,设计一个十进制计数器,对外部事件进行计数,计满100即清0,并在八个发光二极管或七段led.显示器上显示计数值。
按下开关K0开始对外部事件计数,按下开关K1停止计数,按下开关K2显示器清零。
关键词
8253定时/计数器、8255接口电路、八个发光二极管、控制LED显示器
目录
一.前言3
1.1设计背景3
1.2系统设计目的3
1.3设计任务与要求3
二.总体方案设计分析、讨论3
2.1总体方案设计分析3
2.1.1问题描述分析3
2.1.2问题的解决方案分析3
2.2系统的主要功能3
三.详细设计5
3.1硬件设计5
3.1.1芯片选择5
3.1.2系统电路图6
3.1.3电路图说明分析6
3.2软件设计6
3.2.1程序流程图7
3.2.2程序设计源代码与注释8
四.系统调试与实现12
4.1实验步骤12
4.2调试结果与分析12
4.3、设计模拟电路仿真14
五.总结14
5.1课程设计小结14
5.2课程设计体会15
致谢15
参考文献16
一、前言
1.1设计背景
1.2设计目的
2.1.1进一步撑握8255可编程并行接口芯片的工作原理及控制LED显示电路的编程方法。
2.1.2进一步撑握8253定时器\计数器的工作原理和编程方法。
1.3设计任务与要求
二、总体方案设计、讨论
2.1总体方案设计
课程设计是计算机应用、电子类专业较重要的一个实践性环节。
其目的和作用是使学生能将已学过的模拟电路、数字电路、微机原理与接口技术、EDA等知识综合运用于电子系统的设计中,从而培养学生对电子系统的设计能力,这是在所有实践性课程中最具活力,最能培养学生的自主学习、实践能力,最能培养学生创新思维的实践课程之一。
同时课程设计是对学生的一种基本素质训练较好方式。
通过课程设计,使学生能运用已学过的计算机软件硬件知识来进行微机接口应用系统开发和调试。
了解微机接口应用开发的全过程:
分析需求,设计原理图,选用元器件,布线,编程,调试,撰写报告等。
培养学生的动手能力和解决实际问题的能力,为今后从事微机接口应用和开发方面的工作打下坚实的基础
三、详细设计
硬件设计
3.1设计方案
3.1.1系统框图及其描述
(1)系统框图如图1所示
系统框图
图1
(2)系统框图描述
8086通过地址译码器选中8253、8255芯片,通过数据总线D0~D7对8253及8255进行数据的读写。
8253的定时器0工作在方式3,CLK1接外部事件(单脉冲),GATE0接开关K0,控制计数器的开始和暂停。
OUTO接PB0。
8255的PA、PB、PC三个端口均工作于方式0,PA、PC作为输出口,PB作为输入口。
PC口通过3-8译码器选中对应的数码管,PB0接OUT0的输出,检测电平的跳变从而实行计数,PB1接开关K1,对清零信号进行检测。
PA0~PA7接数码管的LED-A~LED-DP,控制数码管数字的显示。
3.1.2方案实现原理
设定计时器0工作在方式3,计数器初值设定为2,外部事件脉冲通过计数器0CLK0输入,将OUT0接到PB0,外部事件每触发一次,则在OUTO上发生一次电平的跳变,8086通过检测PB0口累计电平的跳变的次数,将值存放在寄存器CL中,每当CL中的值等于10,将CH中的值加1,实现十进制的进位,最后通过查表,将CL和CH的值显示到对应的数码管中。
开关K0通过GATE0控制计数器的工作状态,实现开始和暂停的功能,开关K1通过控制PB1端口的电平实现清零的功能。
3.2硬件原理
3.2.1硬件原理图
硬件原理图
图2
3.2.2硬件原理图描述
(1)外部连线
8086通过地址总线A3~A7接地址译码器输入端,Y1(F210H)接8253片选,Y3(F218H)接8255片选。
8253计数器0CLK0接单脉冲触发器(外部事件),OUT0接8255PB0,PB1接开关K1,GATE0接开关K0,8255PC3~PC5分别接LED-SA~LED-SC,8255PA0~PA7分别接LED-A~LED-DP。
(2)原理图描述
8086的地址线低位接在地址译码器74LS138上,8253、8255的片选端都接在地址译码器的输出上,从而决定了8253、8255的各端口地址。
从图上可以看出8253的片选地址是F210H,8255的片选地址是F218H。
8086的数据总线与8255、8253的数据端接起来,对8253及8255进行数据读写。
8086将运算结果送到PA端口上,实现计数器的功能。
3.3模块电路的介绍及分析
3.3.18253芯片
(1)8253的引脚及其功能
8253是双列直插式24脚芯片,标准封装为DIP24,引脚如图
(2)8253的内部结构
Intel8253芯片由数据总线缓冲器(8位)、读/写控制逻辑电路、控制字寄存器和3个结构完全相同的计数器组成。
数据总线缓冲器用于将8253与系统数据总线相连,CPU读写8253的所有数据都经过这个缓冲器,包括CPU写入方式控制字、CPU写入计数值和CPU读出计数值。
读/写控制逻辑电路接收来自系统总线的输入信号,将其转换成8253内部的操作和控制信
号,选择读写操作对象,决定内部总线上数据的传送方向。
控制字寄存器接收来自CPU的方式控制字,控制相应计数器的工作方式。
三个独立的计数器通道计数器0、计数器1和计数器2都是16位减1计数器,减1操作由每个计数器/定时器的时钟输入脉冲下降沿触发启动。
与16位减1计数器对应的还有一个16位预置寄存器和输出锁存器。
预置寄存器存放计数初值,输出锁存器用于写入锁存命令时锁定当前计数值。
每个计数器在CLK输入频率一定的情况下,可编程GATE的控制方式和OUT的输出方式生成6种信号发生器:
1基本计数器,
2可重复触发的单稳态触发器,
3分频器,
4方波发生器,
5软件触发的选通信号发生器,
6硬件触发的选通信号发生器。
8253引脚图
图3
8253引脚功能图
图4
(3)8253方式控制字
8253的控制字包括4项不同的编程信息:
D7D6D5D4D3D2D1D0
SC1
SC0
RW1
RW0
M2
M1
M0
BCD
计数器选择读写格式工作方式选择数制
计数器选择:
00为计数器0,01为计数器1,10为计数器2,11为非法。
读写格式:
00为计数器锁存命令,01为只读写低字节,10为只读写高字节,11为先读写低字节,再读写高字节。
工作方式选择:
由3位确定6种工作方式。
000为方式0,001为方式1,x10为方式2,x11为方式3,100为方式4,101为方式5。
数制:
0为二进制计数,1为BCD计数。
3.3.28255芯片
(1)8255的引脚及其功能
8255是双列直插式40脚芯片,标准封装为DIP40,引脚如图
(2)8255的内部结构
8255A由数据总线缓冲器、读/写控制逻辑电路、A组和B组控制电路以及数据端口A、B和C组成。
数据总线缓冲器是8255A与系统数据总线的接口,CPU输入输出的数据、CPU输出的控制字和外设的状态信息都是通过这个缓冲器传送的。
读
/写控制逻辑电路把CPU的控制命令或输出数据送至相应的端口,把外设的状态信息或输入数据通过相应的端口送至CPU。
数据端口PA和PB都包含一个8位输出锁存器/缓冲器和一个8位输入锁存器,PC
口包含一个8位输出锁存器/缓冲器和一个8位输入缓冲器(不锁存输入信号)。
在工作方式1或方式2下,PC口分成高4位和低4位两个输入口作为PA和PB的控制信号输出或状态信号输入。
、A、A、和决定端口的地址。
8255引脚图
图5
8255引脚功能图
图6
(3)8255方式控制字
①方式控制字
方式控制字决定端口A、B和C的工作方式。
②按位操作控制字
端口C的任一位可用这个控制字来置位或复位。
3.3.374LS138译码器
74LS138是3—8译码器,本设计中利用它来做地址译码以及数码管的位选。
通过它选中8253和8255的片选端以及应该显示字符的数码管
1.1.18086芯片
8086通过数据总线、地址总线、控制总线完成对8253和8255的读写工作,与接口部件实现数据传送,让接口部件实现预计的功能。
软件设计
3.1程序流程图
3.1.1主程序流程图
如图7
3.1.2脉冲累计模块
如图8
3.1.3显示模块
如图9
3.2框图描述
3.2.1主程序框图描述
(1)8253及8255的初始化,将00010110B写入8253控制字,设置定时器0工作在方式3,将10000010B写入8288控制字,设置PA、PC口为输出口,PB口为输入口。
(2)判断清零开关K0是否为高电平,若是,则清零;
若否,则继续。
(3)判断暂停开关K1是否为低电平,若是,则暂停;
(4)累积外部事件触发的次数,将个位值存储在CL中,将十位值存储在CH中。
(5)通过查表,将CL和CH中的值显示到数码管中。
3.2.2脉冲累计模块程序框图描述
检测PB.0端口是否有电平跳变,如有,将CL中的值加1,然后判断CH中的值是否为10,若是,将CL中的值清零,同时将CH中的值加1,再判断CH中的值是否为10,若是,将CH中的值清零,最后通过查表,将CL和CH中的值显示到数码管中。
3.2.3显示模块程序框图描述
通过PC.3~PC.5选择数码管1,通过查表将CL中的值显示到数码管1中,调用延时程序,再选择数码管你2,通过查表将CH中的值显示到数码管2中。
主程序流程图
图7
N
N
显示模块流程图
图9
脉冲累计模块流程图
图8
3.3源程序
3.3.1程序代码
;
FOREAT598
82538255电子计数器(0~99)
P53_CTLE