- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
出租车计价器设计报告 出租车计价器硬件说明
硬件分析与说明
一、信号采集
出租车的实际距离无法测量,在实验中我们用电动机转数来代替世纪车轮的转数 ,轮子的距离有我们自己来确定或真实测量得到。试验中,将电动机与8253的CLK0相连,就将电动机转一圈看作“轮子转动了一圈”,并将这个信号以脉冲形式传给了8253。
二、总体电路图
二、硬件的分析——8255A、8253
8255A:
一种通用的可编程并行I/O接口芯片,通过对它进行编程,芯片可工作与不同的工作方式,在微型机算机系统中,用8255A作接口时,通常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道。8255A内部包含3个8位的输入输出端口A,B和C,通过对外部的24根输入输出线与外设交换数据或进行通信联络。端口A和端口B都可以用作一个8位的输入口获8位的书出口,C口既可以作为一个8位的输入口或输出口用,又可作为两个位的输入输出口使用,还常常用来配合A口和B口工作,分别用来产生A口和B口的端口状态信号。在8255A的初始化编程中,需要把控制字写入控制字寄存器中,用于定义各个端口的工作方式。8255A具有种基本的工作方式,它们分别是:
方式0——基本输入输出方式
方式1——选通输入输出方式
方式2——双向总线I/O方式
端口A可工作在3种方式种任意一种;端口B只能工作在方式0和方式1而不能工作在方式2;端口C多用来配合A口和B口工作,为这两个端口的输入输出操作提供联络信号。对8255A的初始化完成之后,它就能开始正常工作了。
8253:
内部具有个独立的6位计数器通道,通过对他进行编程,每个计数器通道均可按6种不同的方式工作,并且都可以按2进制或10进制格式进行计数,最高计数频率能达到2MHZ,它还适用在许多其它场合,如用作可编程方波频率产生器,分频器,程控单脉冲发生器等等。在适用芯片之前,必须用程序将其初始化为所需的特定模式,对8253进行初始化编程时,需按下列步骤进行:(1)写入控制字。用输出指令向控制字寄存器写入一个控制字,已选定计数器通道,规定该计数器的工作方式和计数格式。(2)写入计数初值。用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置是要符合控制字中有关格式的规定。对3个计数器通道的编程没有先后顺序的规定,可以选择任意一个计数器通道进行,只要满足险些如控制字,后写入计数初值的规定即可。在工作过程中,门控信号会对芯片的工作方式产生控制作用。
8253有6种工作方式,使用的场合也各不相同。简单归纳如下:
对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端有低变高,常用该输出型号作为中断源。该方式可用来实现定时或对外部事件进行计数。
方式1用来产生单脉冲。
方式2用来产生序列夫脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。
方式3用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行N分频。
方式4和方式5的波形相同,都在计数器回0后,从OUT端输一个负脉冲,器宽度等于一个时钟周期。但方式4由软件触发计数,而方式5由硬件(门控信号GATE)触发计数。
这6种工作方式中,方式0,1和4,计数初值壮锦计数其后,仅一次有效。如果要通道再次按此方式工作,必须重新装入计数值。对于方式2,3和5,在计数到0值后,8253回自动将计数值重新装进计数器。
5 源代码:
MOV DX,30BH
MOV AL,B
OUT DX,AL
TEST: MOV DX,308H
IN AL,DX
MOV DX,309H
OUT DX,AL
JMP TEST
上面是总程序中的关于8255的输入输出的一部分,其主要功能是负责8255对从8253芯片中采集到的数据进行处理后送交CPU进行计算机其他一些处理。
6 结论
在8255的通道选择中,由于我们所要的频率40Hz是一个通道所不能产生的,所以我们这里需要级联来进行频率的缩小。同时,我们所用的数据通信是需要8位的数据线来传输的,所以,我们选择A口为输入,然后级联到B口作为我们的输出端。
就两个输入输出端口而言,其工作方式都是方式0——基本输入输出方式,这样有利于我们控制和操作。
在程序的调试中,我们是没有编译错误的,只是在链接的时候出现了一个警告错误。不过对这个程序没什么影响。最后,我们的程序还是能够顺利执行的,而且对硬件的控制很成功,对我们制定的指令能没有错误的执行出来,正确的算出我们所需要的结果。在输入不同的数值时,我们可以看到相应的结果,而且和人工计算的没有出入。
文档评论(0)