欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    红外控制交通灯的设计与实现微机课程设计 精品Word文档下载推荐.docx

    • 资源ID:7723964       资源大小:428.05KB        全文页数:43页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    红外控制交通灯的设计与实现微机课程设计 精品Word文档下载推荐.docx

    1、然后南北方向左转绿灯(6号灯)闪烁6次,延迟3S,东西方向继续直行红灯左转红灯(3号灯和4号灯)亮,再跳到一开始,如此循环。2 解决方法与思路1) 硬件部分使用到STAR ES598PCI实验仪的模块包括:A3区:CPU总线、片选区B2区:逻辑笔、单脉冲、频率发生器C1区:电源区 C5区:8253、8251B4区:8255电路D2区:05V电压输出G2区:红外通讯G6区:发光管、按键、开关CPU 通过8251的TXD端口将红外控制信息的发送到红外通讯的IN端口,经过红外无线通讯将控制信息输出端口,然后将信息送到8251的RXD端口。送到CPU进行判断,根据收到的信号选择相应的模式。8255是用

    2、来控制交通灯的,通过8255的A口来控制。需要A3区的3个端口用来接8251、8255、8253。B2区提供脉冲频率。D2区提供电源。G6区提供发光管用来模拟交通灯。2) 软件部分(汇编语言编写程序) 首先要对8255进行初始化设计,设置8255的工作方式并确定8255的端口地址。 编写发光二极管的编码,交通灯控制程序,两种模式的选择。对8253进行初始化,定时器的选择,工作方式的选择,以及编码方式。对8251进行初始化,设置方式控制字及命令控制字。编写红外通讯设备的数据发送子程序。二、硬件设计1选择芯片8255A1) 8255A在本设计中的作用8255用来并行的发送交通灯编码,接发光二极管,

    3、用来控制程序所控制要求的交通灯闪烁2) 8255A的功能分析 CS: 片选信号,低电平有效;A0、A1: 地址信号。JP52: PC口;JP53: PB口;JP56: PA口。图2-1 8255A的内部框图8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、口和口。三个端口都可以作为输入端口或输出端口。口有三种工作方式:即方式、方式和方式,而口只能工作在方式或方式下,而口通常作为联络信号使用。8255A的工作只有当片选CS效时才能进行。而控制逻辑端口实现对其他端口的控制。8255A的操作功能表 A1 A0操 作数 据 传 送 方 式0 0 1 0 0读 A 口A口数据 数据总

    4、线0 0 1 0 1读 B 口B口数据 数据总线0 0 1 1 0读 C 口C口数据 数据总线0 1 0 0 0写 A 口数据总线数据 A口0 1 0 0 1写 B 口数据总线数据 B口0 1 0 1 0写 C 口数据总线数据 C口0 1 0 1 1写控制口数据总线数据 控制口表2-1 8255A的操作功能表8255A有三种工作方式,用户可以通过编程来设置。本设计用到工作方式0。3) 8255A的技术参数 与外设相连的PA7PA0:A口数据信号线。PB7PB0:B口数据信号线。PC7PC0:C口数据信号线。 与CPU相连的RESET:复位信号。当此信号来时,所有寄存器都被清除。同时三个数据端口

    5、被自动置为输入端口。D7D0:它们是8255A的数据线和系统总线相连。CS:片选信号。在系统中,一般根据全部接口芯片来分配,若低位地址(比如A5、A4、A3)组成各种芯片选择码,当这几位地址组成某一个低电平,8255A被选中。只有当其有效时,读信号写才对8255A进行读写。RD:读信号。当此信号有效时,CPU可从8255A中读取数据。WR:写信号。当此信号有效时,CPU可向8255A中写入数据。A1、A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,共4个端口。规定:A1、A0为00时,选中A端口;A1、A0为01时,选中B端口;A1、A0为10时,选中C端口;A1、A0为11时

    6、,选中控制口。 参数说明:输入最低电压:min-0.5V,max0.8 V输入最高电压:2.0 V输出最低电压:0.45 V输出最高电压:2.4 V8255A的方式控制字 D7 D6 D5 D4 D3 D2 D1 D011:工作方式 A口方式0输出 B口方式0输出 C口高4位输入 C口低4位输入图2-2 8255A的方式控制字表方式0的工作特点:这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。通道的功能为:两个8位通道:通道A和B。两个四位通道:通道C高4位和低四位,任何一个通道可以作输入/输出,输入是不锁存的,输出是锁存的,在方式0时各个通道的输入/

    7、输出可有16种不同的组合。X写入位编码写入内容 写入位 编码 0写入0 D0-D7 000-111 1写入1图2-3 8255A的置位/控制字表2选择芯片82531) 8253 在本设计中的作用8253在本实验中的用作方波发生器,可编程通信接口8251A串行发送和接受数据时需要脉冲时钟,8253的作用是为8251提供收发时钟。2) 8253 的功能分析 片选信号,低电平有效;地址信号;1片8253内部有3个计数器,分别称计数器0、1、2,其结构完全相同,互相之间工作完全独立。每个计数器有三个引脚和外部联系:CLK:计数脉冲输入,计数器对该引脚出现信号进行计数,最高计数速率为2.6MHZ。Gat

    8、e:门控输入,用于控制计数器是否对CLK计数。OUT:输出信号端。每个计数器内部都有1个8位的控制寄存器,三个控制寄存器使用同一端口地址,在编程结构图中,画为1个控制寄存器;每个计数器内部还有1个计数初值寄存器、1个计数执行部件,执行部件(CE)是1个16位减法计数器,其起始值等于初值寄存器(CR)的值。CR的值通过程序设置。输出寄存器(OL)用来锁存执行部件(CE)的值,以便CPU读出。(CE)和1个输出锁存器,它们都是16位的。计数器0,计数器1,计数器2 这3个计数器互相独立,各自可按不同的方式工作。计数器的内部结构如前面所述,每个计数器包含一个16位的初始寄存器,一个计数执行部件和一个

    9、锁存器。计数执行部件从初始值寄存器中获得计数初值,便进行减1计数,此时,锁存器跟随记数执行部件的内容而变化,当有一个锁存命令来到时,锁存器便锁定当前计数,直到被读走以后,又跟随计数执行部件的动作。各计数器的外部输入输出信号如图所示。CSRDWRA1A0功能00对计数器0设置计数初值01对计数器1设置计数初值10对计数器2设置计数初值11设置控制字或给一个命令从计数器0读出计数值从计数器1读出计数值从计数器2读出计数值当A1A0=11时,通过读/写控制逻辑电路选中控制积存器,此时,CPU可以写入控制字。左表是CPU对8253各积存器访问时,信号和功能之间的对应关系。对左表,我们作两点说明:(1)

    10、除了这七组组合外,其他组合下,数据总线为高阻抗状态。(2)当A1=A0时,第一次写入的一定作为控制字,此后写入的作为命令。读/写电路从系统控制总线接收输入信号,经过组合,产生对8253各部分的控制。具体为:A1、A0用来对3个计数器和控制积存器进行寻址。RD读信号。当RD为低电平时有效,此时,表示CPU正在对8253的一个计数器进行读操作。WR写信号。当WR为低电平时有效,此时,表示CPU正在对8253的几个计数器进行写操作。CS片选信号。只有在CS为持续低电平的情况下,RD和WR才会受到确认,否则会被忽略3) 8253的技术参数因为8253的控制积存器和3个计数器分别具有独立的编程地址,并且

    11、控制字本身的内容又确定了所控制的积存器序号,所以,队8253的编程没有太多严格的顺序规定,可以非常灵活.但是,编程有两条原则必须严格遵守:(1)对计数器设置初始值前必须先写控制字.(2)初始值设置时,要符合控制字中的格式规定,即只写低位字节还是写高位字节,或者高低位字节都写,控制字中一旦规定,具体初始值设定时就要一致.A1A0写(WR)读(RD)计数器0, 初值寄存器(CR)输出寄存器, ( 输出锁存器OL) 计数器1, 初值寄存器(CR) 输出寄存器, ( 输出锁存器OL)计数器2, 初值寄存器(CR)控制寄存器 8253无状态寄存器8253有两根地址线A1A0,对应4个端口地址,各寄存器的

    12、端口地址分配如下:(PC机中口地址B0H-BFH)。初始化工作有2点: (1)写入控制字;(2)按控制字的要求写入计数初值。8253有六种工作模式(05),每种工作模式决定以下内容:1.计数初值何时起作用?2.门控信号的影响。3.OUT信号的状态4.计数操作是否可以重复,或称计数初值是否可以自动装入。 不可重复 自动重复 条件重复5.计数器的工作模式:计数器在CLK的下降沿使计数值减1,计数值减至0时,“计数到”。写入初值0时,代表最大初值65536。下面分别为8253在各种模式下的时序。模式0:计数结束产生中断模式1:可重复触发的单稳态触发器 模式2:分频器, 模式3:方波发生器模式4:软件

    13、触发的选通信号发生器 模式5:硬件触发的选通信号发生器3.选择芯片82511) 8251 在本设计中的作用本实验中选择8251作为可编程串行接口,主要的作用的是将红外编码串行的发送出去,通过红外的无线传输,在红外的接收端再将数据串行的发送回8251,8251将数据发回cpu进行判断2) 8251 的功能分析 CS 片选信号,低电平有效 RxC、TxC: 收发时钟;C/D: 命令/数据;RXD、TXD: 串行收发。 时钟。8251A由7个模块组成,这7个模块为接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、数据总线缓冲器、读写控制逻辑电路和调制解调控制电路。A.读/写控制逻辑:它用来配合数据

    14、总线缓冲器工作。即:a.接收写信号WR,并将来自数据总线的数据和控制字写入8251A;b.接收读信号/RD,并将数据或状态字从8251A读往数据总线;c.接收控制数据信号C/-D,将此信号和读写信号合起来通知8251A,当前读写的是数据还是控制字、状态字;d.接收时钟信号CLK,完成8251A的内部定时;e.接收复位信号RESET,使8251A处于空闲状态。B.接收缓冲器:对应于编程结构中的“接收移位寄存器”对外引脚为RxD。功能:从RxD引脚上接收串行数据,并按照相应的格式转换为并行数据。C.接收控制电路:配合接收缓冲器工作,管理有关接收的所有功能。a.在异步方式下,芯片复位后,先检测输入信

    15、号中的有效“1”,一旦检测到,就接着寻找有效的低电平来确定启动位。b.消除假起动干扰。c.对接收到的信息进行奇偶校验,并根据校验结果设置相应的状态位。d.检测停止位,并按检测结果,设置状态位。D.发送缓冲器:从功能上来看,它对应于编程结构图中的的“发送移位寄存器”。发送缓冲器把来自CPU的并行数据,加上相应的控制信息,然后转换为串行数据,并从TXD引脚发出去。E.发送控制电路:它和发送缓冲器配合工作,它控制和管理所有与串行发送有关的功能。a.异步方式下,为数据加上起始位、校验位和停止位;b.同步方式下,插入同步字符,在数据中插入校验位。F.数据总线缓冲器:数据总线缓冲器用来把8251A和系统数

    16、据总线相连,在CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据,此外,控制字、命令字和状态信息也通过数据总线缓冲器传输。所以,从功能上看,数据总线缓冲器是编程结构中数据输入缓冲器、数据输出缓冲器、控制寄存器和命令寄存器的综合。G.调制/解调器控制电路:它用来简化8251A和调制解调器的连接。在进行远程通信时,要用调制器将串行接口送出的数据信号变为模拟信号,再发送出去,接收端则要用解调器将模拟信号变为数字信号,再由串行接口送往计算机主机。在全双工通信情况下,每个收发站都要连接调制解调器。有了调制解调控制电路,就提供了一组通用的控制信号,使得8251A可以直接和调制器连接。它为Mode

    17、m提供一组通用控制信号(DSR、DTR、RTS、CTS)。注意:8251未提供DCD(数据载波检测信号)和RI(振铃信号),如需使用DCD和RI,必须另加接口电路来提供。3) 8251的技术参数1.8251与CPU之间的连接信号 8251A和CPU之间的连接信号可以分为4类,具体如下:(1)片选信号 /CS片选信号/CS是CPU的地址信号通过译码后得到的。/CS为低电平时,8251A 被选种。反之,/CS为高电平时,8251A未被选中,这种情况下,8251A的数据线处于高阻状态,读信号/RD和写信号/WR对芯片不起作用。(2)数据信号 D7D08251A有8根数据线D7D0,通过它们,8251

    18、A与系统的数据总线相连。实际上,数据线上不止传输一般的数据,而且也传输CPU对8251A的编程命令和8251A送往CPU的状态信息。(3)读/写控制信号/RD读信号/RD为低电平时,用来通知8251A,CPU当前正从8251A读取数据或者状态信息。/WR写信号WR为低电平时,用来通知8251A,CPU当前正在往8251A写入数据或者控制信息。 C/-D控制数据信号C/-D也是CPU送往8251A的信号,用来区分当前读写的是数据还是控制信息或状态信息。具体地说,CPU在读操作时,如C/-D为低电平,则读取的是数据,如C/-D为高电平,则读取的是8251A当前的状态信息;CPU在写操作时,如C/-

    19、D为低电平,则写入的是数据,如C/-D为高电平,则写入的是CPU对8251A的控制命令。归纳起来,/RD、/WR、C/-D这三个信号和读写操作之间的关系如下表所示:需要简要说明一点,8251A只有两个连续的端口地址,数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。在8086/8088系统中,利用地址线A1来区分奇地址端口和偶地址端口。于是,A1为低电平时,正好选中了偶地址端口,在与/RD或/WR配合,变实现了状态信息的读取和控制信息的写入。这样,地址线A1的电平变化正好符合了8251A对C/-D端的信号要求,因此,在8086/8088系统中,将地址线A1和82

    20、51A的C/-D端相连。(4)收发联络信号 TxRDY TxRDY发送器准备好信号TxRDY用来告诉CPU,8251A已经准备好发送一个字符。具体地讲,当/CTS为低电平而TxEN为高电平,并且发送缓冲器为空时,TxRDY为高电平,于是,CPU便得知,当前8251A已经作好发送准备,因而CPU可以往8251A传输一个数据。实际使用时,如果8251A和CPU之间采用中断方式联系,则TxRDY可以成为一个联络信号,CPU通过读操作变能检测TxRDY,从而了解8251A的当前状态,进一步决定是否可以往8251A输送一个字符。不管是用中断方式还是查询方式,当8251A从CPU得到一个字符后,TxRDY

    21、变变为低电平。TxE TxE发送空信号TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,它实际上指示了一个发送动作的完成。当8251A从CPU得到一个字符时,TxE便成为低电平。需要指出一点,即在同步方式时,不允许字符之间有空隙,但是CPU有时却来不及往8251A输送一个字符,此时TxE变为高电平,发送器在输出线上插入同步字符,从而填补了传输空隙。RxRDY RxRDY接收器准备好信号RxRDY用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,正等待CPU取走。因此,在中断方式时,RxRDY可用来作联络信号。当CPU从8251A读取一个字符后,RxRDY便变

    22、为低电平,等到下一次接收到严格新的字符后,又升为高电平,即有效电平。SYNDET SYNDET同步检测信号SYNDET只用于同步方式。SYNDET引脚可工作在输入状态,也可工作在输出状态,这决定于8251A工作在内同步状态还是工作在外同步情况,而这两种情况又决定于8251A的初始化程编程。当8251A工作在内同步情况时SYNDET作为输出端,如果8251A检测到了所要求的同步字符,则SYNDET便变为高电平,用来表明8251A当前已经达到同步。在双同步情况下,SYNDET信号会在第二个同步字符的最后一位被检测到后,在这一位的中间变为高电平,从而表明已经达到同步。当8251A工作在外同步情况时,

    23、SYNDET作为输入端,从这个输入端进入的一个正跳变,会使8251A在/RxC的下一个下降沿时开始装配字符。这种情况下,SYNDET的高电平状态最少要维持一个/RxC周期,以便遇上/RxC的下一个下降沿。在复位时,SYNDET变为低电平。在内同步情况下,SYNDET作为输出端,会在CPU执行依次读操作后,变为低电平;在外同步情况下,SYNDET作为输入端,它的电平状况决定于外部信号。2.8251与外部设备之间的信号连接 收发联络信号 数据信号(1)收发联络信号DTR、DSR、RTS、CTS 注意,RS-232-C标准的对应信号是:DTR、DSR、RTS、CTS。/DTR数据终端准备好信号/DT

    24、R是由8251A送往外设的,CPU通过命令可以使/DTR变为低电平即有效低电平,从而通知外部设备,CPU当前已经准备就绪。/DSR数据设备准备好信号/DSR是由外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当/DSR端出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对/DSR信号的检测。例如,数据通信设备(Modem)准备好,该信号是外部设备(数据通信设备Modem)送给8251的。8251收到该信号后,使状态寄存器的DSR位置1。CPU可以查询状态寄存器的DSR位,以了解外部设备的状态。RTS请求发送信号/RTS

    25、是8251A送往外设,低电平时有效,CPU可以通过编程命令使/RTS变为有效电平,以表示CPU已经准备好发送。CTS清除请求发送信号/CTS是对/RTS的响应信号,它是由外设送往8251A的,当/CTS为低电平时,8251A才能执行发送操作。数据信号TXD、RXDTxD发送数据信号端TxD用来输出数据。CPU送往8251的并行数据被转换为串行数据后,通过TxD送往外设。RXD接收器数据信号端RxD用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端CLK、TXC、RXC。其中,时钟端CLK用来产生8251A器件

    26、的内部时序,要求CLK的频率在同步方式下大于接收数据或发送数据的波特率的30倍,在异步方式下,则要大于数据波特率的4.5倍;发送器时钟TxC控制发送字符的速度,在同步方式下,TxC的频率等于字符传输的波特率,在异步方式下TxC的频率可以为字符传输波特率的1倍、16倍或者64倍,具体倍数决定于8251A编程时指定的波特率因子;接收器时钟RxC控制接收字符的速度,和TxC一样,在同步方式下RxC的频率等于字符传输的波特率,在异步方式下,则可为波特率的1倍、16倍或者64倍。在实际使用时,RxC和TxC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。4选择发光二极管1) 发光二极管在本设计中的作用本设计利用二极管能发光的特性,用于模拟交通灯有规律的闪烁。


    注意事项

    本文(红外控制交通灯的设计与实现微机课程设计 精品Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开