微机原理计数器.docx
- 文档编号:27114615
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:24
- 大小:298.29KB
微机原理计数器.docx
《微机原理计数器.docx》由会员分享,可在线阅读,更多相关《微机原理计数器.docx(24页珍藏版)》请在冰豆网上搜索。
微机原理计数器
1.计数器的发展、应用及前景
1.1概述
计数器是一种基础测量仪器,到目前为止已有30多年的发展史。
早期,设计师们追求的目标主要是扩展测量范围,再加上提高测量精度、稳定度等,这些也是人们衡量电子计算器的技术水平,决定电子计数器价格高低的主要依据。
目前这些基本技术臻完善,成熟。
应用现代技术可以轻松地将电子计数器的测频上限扩展到微波频段。
1.2基础知识简介
电子计数器是一种多功能的电子测量仪器。
它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。
通常电子计数器按照它的功能可分为以下三类:
(1)通用计数器
是利用数字电路技术数出给定时间内所通过的脉冲数并显示计数结果的数字化仪器。
通用计数器是其他数字化仪器的基础。
在它的输入通道接入各种模-数变换器,再利用相应的换能器便可制成各种数字化仪器。
通用计数器特点:
测量精度高、量程宽、功能多、操作简单、测量速度快、直接显示数字,而且易于实现测量过程自动化。
通用计数器按功能可分3类:
1、频率计数器:
专门用于测量高频和微波频率的计数器。
2、计算计数器:
具有计算功能的计数器,可进行数学运算,可用程序控制进行测量计算和显示等全部工作过程3、微波计数器:
是以通用计数器和频率计数器为主配以测频扩展器而组成的微波频率计。
应用领域:
通用计数器在工业生产和科学实验中得到广泛应用。
(2)频率计数器
电子工程师经常需要测量频率、时间间隔、相位和对事件计数,精确的测量离不开频率计数器或它的同类产品,如电子计数器和时间间隔分析仪。
这些仪器为研发提供高精度和分析能力,为大批量生产提供高效率并为维修提供低成本和便携性。
最早的电子计数器是为了对诸如原子现象之类的事情进行计数而设计出来的。
在发明计数器之前,频率的测量都是用频率计(一种精度很低的协调装置)完成。
频率计数器是以数字方式对信号参数进行精密测量的首批仪器之一。
衡量频率计数器主要指标是测量范围、测量功能、精度和稳定性,这些也是决定价格高低的主要依据。
随着电子测试技术的发展,频率计数器日趋成熟。
目前,频率计数器已经能轻松测量射频、微波频段信号。
除频率测量外,大多数频率计数器还综合了以下功能:
频率比、时间间隔、周期、上升/下降时间、相位、占空比、正/负脉冲宽度、总和、峰值电压以及时间间隔平均等。
频率计功能延伸的最高境界就是综合了调制域分析仪的功能。
(3)计算计数器
一种带微处理器的具有计算功能的计数器,除了具有通用计数器的功能之外,能进行数学运算,求解比较复杂的方程式,可靠程序控制进行测量计算和显示等全部工作。
(4)频率计数器
以通用计数器或频率计数器为主体,配以测频扩展器而组成的微波频率计。
它的测频上限已进入毫米波段,有手动、半自动、全自动三类。
系列化微波计数器是电子计数器发展的一个重要方向。
频率扩展技术将微波测频转换为较低的测频,按其原理主要有置换法、取样法和变频法等。
各种方法的主要性能评定项目包括测量速度、准确度、灵敏度、动态范围、允许信噪比、允许调频量、允许调幅量和幅度甄别等。
1置换法:
利用零拍原理,用与被测频率fx有一定关系的低频f0来置换fx,用计数器测出f0,从而求出fx。
这种方法灵敏度高、动态范围大、允许调幅量大、幅度甄别显示最强分量,测量上限频率达26吉赫。
2取样法:
以取样技术为基础,应用锁相原理将微波频率转换为低频来测量。
它兼具置换法和变频法的优点,但测量频率上限受微波取样技术的限制。
③变频法:
利用变频技术,将微波频率与频标谐波差频变换成低频,测量低频而算出被测频率。
变频法的优点是允许信噪比高,允许调频量大,幅度甄别显示最弱分量等。
2.设计要求
利用8253定时/计数器和8255接口电路,设计一个十进制计数器,对外部事件进行计数,计满100即清0,并在八个发光二极管或七段led.显示器上显示计数值。
按下开关K0开始对外部事件计数,按下开关K1停止计数,按下开关K2显示器清零.
2.1设计目的
进一步撑握8255可编程并行接口芯片的工作原理及控制LED显示电路的编程方法。
进一步撑握8253定时器\计数器的工作原理和编程方法。
2.2设计意义
课程设计是计算机应用、电子类专业较重要的一个实践性环节。
其目的和作用是使学生能将已学过的模拟电路、数字电路、微机原理与接口技术、EDA等知识综合运用于电子系统的设计中,从而培养学生对电子系统的设计能力,这是在所有实践性课程中最具活力,最能培养学生的自主学习、实践能力,最能培养学生创新思维的实践课程之一。
同时课程设计是对学生的一种基本素质训练较好方式。
通过课程设计,使学生能运用已学过的计算机软件硬件知识来进行微机接口应用系统开发和调试。
了解微机接口应用开发的全过程:
分析需求,设计原理图,选用元器件,布线,编程,调试,撰写报告等。
培养学生的动手能力和解决实际问题的能力,为今后从事微机接口应用和开发方面的工作打下坚实的基础
3.硬件设计
3.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,控制数码管数字的显示。
方案实现原理
设定计时器0工作在方式3,计数器初值设定为2,外部事件脉冲通过计数器0CLK0输入,将OUT0接到PB0,外部事件每触发一次,则在OUTO上发生一次电平的跳变,8086通过检测PB0口累计电平的跳变的次数,将值存放在寄存器CL中,每当CL中的值等于10,将CH中的值加1,实现十进制的进位,最后通过查表,将CL和CH的值显示到对应的数码管中。
开关K0通过GATE0控制计数器的工作状态,实现开始和暂停的功能,开关K1通过控制PB1端口的电平实现清零的功能。
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模块电路的介绍及分析
8253芯片
(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计数。
8255芯片
(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的任一位可用这个控制字来置位或复位。
74LS138译码器
74LS138是3—8译码器,本设计中利用它来做地址译码以及数码管的位选。
通过它选中8253和8255的片选端以及应该显示字符的数码管
1.1.18086芯片
8086通过数据总线、地址总线、控制总线完成对8253和8255的读写工作,与接口部件实现数据传送,让接口部件实现预计的功能
4.软件设计
4.1程序流程图
如图7
如图8
如图9
4.2框图描述
(1)8253及8255的初始化,将00010110B写入8253控制字,设置定时器0工作在方式3,将10000010B写入8288控制字,设置PA、PC口为输出口,PB口为输入口。
(2)判断清零开关K0是否为高电平,若是,则清零;若否,则继续。
(3)判断暂停开关K1是否为低电平,若是,则暂停;若否,则继续。
(4)累积外部事件触发的次数,将个位值存储在CL中,将十位值存储在CH中。
(5)通过查表,将CL和CH中的值显示到数码管中。
检测PB.0端口是否有电平跳变,如有,将CL中的值加1,然后判断CH中的值是否为10,若是,将CL中的值清零,同时将CH中的值加1,再判断CH中的值是否为10,若是,将CH中的值清零,最后通过查表,将CL和CH中的值显示到数码管中。
通过PC.3~PC.5选择数码管1,通过查表将CL中的值显示到数码管1中,调用延时程序,再选择数码管你2,通过查表将CH中的值显示到数码管2中。
主程序流程图
图7
N
N
N
显示模块流程图
图9
脉冲累计模块流程图
图8
4.3源程序
;-------------------------------------------------------------------------------
;FOREAT598
;82538255电子计数器(0~99)
;-------------------------------------------------------------------------------
P53_CTLEQU213H;8253的控制端口地址
TIMER0EQU210H;8253的计数器0端口地址
MODE03EQU00010110B;8253的计数器0工作方式3
P55_CTLEQU21BH;8255的控制端口地址
P8255AEQU218H;8255的A口地址
P8255BEQU219H;8255的B口地址
P8255CEQU21AH;8255的C口地址
;-------------------------8253和8255端口初始化--------------------------
DATASEGMENT
SAVEDB01H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,0
MOVCX,0FFH
MOVAX,DATA
MOVDS,AX
CLI
MOVDX,P53_CTL
MOVAL,MODE03;定时器0工作于方式3
OUTDX,AL
MOVDX,TIMER0
MOVAL,02H
OUTDX,AL
MOVDX,P55_CTL
MOVAL,82H;设定8255的工作方式0,B口输入,A,C口输出
OUTDX,AL
;------------------------判定清零开关是否按下------------------------------
KS:
MOVDX,P8255B;读取PB.1端口,判定是否清零
INAL,DX
ANDAL,02H
CMPAL,02H
JNZTJ
MOVCX,0
CALLDISP
JMPKS
;-------------------------累计外部事件---------------------------------
TJ:
MOVDX,P8255B;检测是否有脉冲是否有跳变
INAL,DX
ANDAL,01H
CMPSAVE,AL
MOVSAVE,AL
JEDISPLAY
INCCL;脉冲下降沿,CL加1
CMPCL,10;到十回零,同时向高位进位
JNZDISPLAY
MOVCL,0
INCCH
CMPCH,10
JNZDISPLAY
MOVCH,0
DISPLAY:
CALLDISP
JMPKS
;-------------------------数码管显示------------------------------------
DISPPROC
PUSHCS
POPDS
MOVAL,00H;选择第一个数码管
MOVDX,P8255C
OUTDX,AL
MOVAL,CL
LEABX,LED
XLAT
MOVDX,P8255A
OUTDX,AL
CALLDELAY
MOVAL,08H;选择第二个数码管
MOVDX,P8255C
OUTDX,AL
MOVAL,CH
LEABX,LED
XLAT
MOVDX,P8255A
OUTDX,AL
CALLDELAY
RET
DISPENDP
;--------------------------延迟程序------------------------------------------
DELAYPROC
PUSHCX
MOVCX,1000H
LOOP$
POPCX
RET
DELAYENDP
;---------------------------查表---------------------------------------------
LED:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管显示所要查的表
CODEENDS
ENDSTART
(1)显示子程序中,个位数和十位数的入口参数分别是CL和CH
(2)延时子程序中,循环的次数的入口参数CX
5.系统调试及分析
5.1硬件调试
5.118253的调试
将CLK0接150HZ的频率源,OUTO接CLK1,OUT1接CLK2。
CLK0,OUTO,OUT1,OUT2分别接L1,L2,L3,L4,观测这四个LED灯亮灭情况,如果8253运行正常的话,L2灯亮灭的频率是1HZ,每当L1亮灭10后,L3灯灭一次,每当L1亮灭100次后(L2灯亮灭10次)。
5.128255的调试
通过初始化8255控制字,设定C口高4位为输入口,C口低4位为输出口,将C口低4位接到开关K0~K3,C口高四位接到二极管L1~L3,运行后观察L1~L4灯的情况。
5.13数码管的调试
将数码管的七个输入接口LED-A~LED-DP接到开关K0~K7,LED-SA~LED-SB接地,选择第一个数码管,将K0~K7分别置为00111111,观察数码管的显示情况。
5.2软件调试
在ADEK88平台上调试已经编好的程序,检查语法错误,再通过单步调试检查程序的逻辑错误。
5.3运行结果及分析
检查好通讯口后,运行程序。
将K1置为高电平,开始累积外部事件,计数器从0开始计数,当将K1置为低电平后,外部事件触发无效,暂停计数。
当将K0置为高电平后,数码管置零。
将K0置为低电平后,清零无效,计数器继续计数。
数码管运行正常,从0开始计数到99后,计数器自动清零。
5.4故障原因分析
(1)程序通过查表给数码管赋值,在没有写PUSHCS,POPDS之前,试用XLAT查表时,经常出现错误。
(2)在使用存储单元暂存脉冲个数时,当需要查表时,使用MOVAL,SAVE时,值会改变,造成查表错误。
由于是通过3-8译码器选择数码管,每次只能显示一个数码管,没有加延时程序时,数码管会显示会出现余辉,看不清楚。
(1)由于方案一采用定时器1和定时器2来计数,初始化设定定时器1和2工作在方式0,每当定时器1的计数值减到0时,OUT1产生一个脉冲,定时器2的计数值减一,当个位数码管显示9时,十位数码管进位加1,造成错误。
比如当数码管为08时,当下一个外部事件触发时,数码管为19,再一个外部事件时,数码管为10。
(2)由于定时器工作在方式0,每次计数器从初值9减为0时,需要从新装入初值,需要两个脉冲,所以每次当个位数码管为0时,都需要两次外部事件触发,计数器才能计数。
6.心得体会
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
这次实验并不是很难,主要的困难来自对程序的理解。
功夫不负有心人,经过十个人的合作和努力,我们最后对实验的原理有了清晰的认识。
虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。
这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。
虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。
这次实验不但提高了我动手实践的能力,而且还提高了我统筹规划的能力,这次担任我们组的组长,我深深明白,实验中个人的力量是不及群体的力量的,我们十个人分工合作,做事的效率高了很多。
作为组长,我不但要自己把握思路,引领全队前进。
还要针对各个组员的实际情况,给各个组员分配不同的任务,确保整个小组一起进步,一起前进。
虽然我们有时候会为了一些细节争论不休,但最后得出的总是最好的结论。
而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。
总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。
感谢老师的悉心指导。
参考文献
[1]张小鸣.微机原理与接口技术[M].北京:
清华大学出版社,2009,257-290
[2]周炯如,张小鸣.微机原理与接口技术实验指导书[M]江苏:
江苏工业学院200969-71
[3]杨斌.微机原理与接口技术实验及课程设计[M].成都:
西南交通大学出版社,2005,25-33
[4]范学峰.微机与接口[M].上海:
同济大学出版社,1996,269-343
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 计数器