编辑: 枪械砖家 2019-12-17
远程监控系统

1 题义分析及解决方案 1.

1 题义需求分析 用STAR ES598PCI单板开发机,设计一个远程监控系统,并编程实现其功能:采用串口调试助手,通过串口进行控制,输入0001时,蜂鸣器鸣叫,输入0002,LED灯亮,输入0003LED灯灭,输入0004后,再输入想要在LED灯上显示的数字或字母,控制LED显示器显示输入的数据. 问题归纳: 接口问题,选用何种芯片.这是关键的一步,这将直接影响到整个功能的实现;

如何通过串口助手控制蜂鸣器鸣叫;

如何通过串口助手控制继电器常开端闭合,常闭端开合;

如何通过串口助手控制LED显示数据;

1.2 解决问题方法及思路 1.2.1 硬件部分: 本程序用8251芯片提供串行接口输入和输出,采用8255芯片来提供并行接口的输入和输出,由8253芯片来提供8251的收发时钟,利用串口调试助手模拟上位机,从键盘接收命令由8251传送给上位机,经由程序体分析后将命令传给8255,即由8255相应的连接线路执行相应的命令实现功能.在8255芯片的应用中,PC0口连接蜂鸣器,PC7口连接继电器,PA口连接LED位选,PB口用于控制LED的段选,硬件部分连接结束,其控制处理部分由程序来实现. 1.2.2 软件部分: 对8253的初始化(定时器0,方式3,BCD码计数,CLK0/26),对8251初始化(波特率系数为16,8个数据位,一个停止位,偶校验),对于8255芯片,主要用于将CPU的命令输出,故PA、PB、PC三口均设置为方式0状态下工作.由PA0~PA7来控制LED灯的位选,由PB0~PB7口来控制LED灯的段选.当PC0口为低电平时蜂鸣器鸣叫,为高电平时蜂鸣器禁止鸣叫,PC7口对继电器的控制也同理.从下位机的键盘键入命令字,通过命令字的判断,执行相应的功能,反复测试串口的接收,若有数据输入,判断并执行,如此反复循环下去.

2 硬件设计 2.1 芯片(1)--8255A 2.1.1芯片(1)在本设计中的作用 通过8255接收上位机处理后传来的命令,由PA0~PA7来控制LED灯的位选,由PB0~PB7口来控制LED灯的段选,PC0口控制蜂鸣器的鸣叫,PC7口控制继电器的开合工作. 2.1.2芯片(1)的功能分析 8255A是一种通用的可编程的并行I/O接口芯片,可用与连接PCI卡与外设,实现数据的的输入输出功能,可以对输入/输出的数据进行数据锁存和数据缓冲,有中断请求信号,可以向cpu发出中断请求,能进行单向和双向通信. 8255A有三个8位端口,其中A口具有数据输入锁存和数据输出锁存和缓冲功能,B口具有数据输入缓冲和数据输入/输出锁存/缓冲功能,C口具有数据出入缓冲和数据输出锁存/缓冲功能.各口中含有控制电路,它还具有读写控制逻辑.共有三种工作方式,通过初始化控制字的不同设置,决定8255A的工作方式和3个端口所具有的功能. 2.1.3 芯片(1)的技术参数 达林顿驱动电流最大为4.0mA,LED工作电流为20mA,8255A的工作电流为低时,最大为0.45V,工作电流为高时,最小为2.4V,而LED为5V,因此需要一个驱动器来驱动,使工作电流和电压相匹配. 8255A技术参数表 参数名称 符号 测试条件 最大 最小 输入低电平电压 Vol 0.8 -0.5V 输入高电平电压 Vih Vcc 2.0V 输出低电平电压 (数据端口) Vol Iol=2.5mA 0.45 输出低电平电压 (外部端口) Vol Iol=1.7mA 0.45 输出高电平电压 (数据端口) Voh Ioh=-400mA 2.4V 输出高电平电压 (外部端口) Voh Ioh=-200mA 2.4V 达林顿驱动电流 Idar Rrxt=750v -4.0mA -1.0mA 电源电流 Icc Vrxt=1.5V 120mA 输入负载电流 Ill Vin +10/-10mA 输出浮动电流 Iofl Vofl +10/-10mA 2.2 芯片(2)8253 2.2.1 芯片(2)在本设计中的作用 为了实现8251A与PC机的串行通讯,使用8253作为分频器提供8251的收发时钟. 2.2.2 芯片(2)的功能分析 8253A是一种可编程的定时器/计数器芯片,它可用于计数、分频、定时器等的方面.它分频工作的功能:CLK引脚获得初始频率,此时若GATE为高电平,十六位计数初值寄存器中的数据装入计数执行单元CE中,它对CLK脉冲计数,每出现一个CLK脉冲,计数对执行单元CE的值减小.当减为0时,通过OUT输出指示信号,表明计数执行单元已为0.这时OUT输入的信号频率是CLK频率的1/N.这样就达到了分频的目的.8253A有5种工作方式:门脉冲控制时钟输入,用门脉冲重新启动计数器,用门脉冲停止计数器工作,单次计数,循环计数等8253的主要性能为:内有三个独立的16位计数器,工作方式可编程控制,计数脉冲频率为0MHZ-2.6MHZ,可以按二进制或BCD码计数,使用单一+5电源 2.2.3 芯片(2)的技术参数 输入低电压的范围是-0.5―0.8,输出低电压的范围0.45―2.4,输入高电压的范围是2.2―Vcc+0.5.而测试条件均为Vin=Vcc―0V,Vout=Vcc―0.45V 8253A的技术参数 参数名称 符号 测试条件 最大规范值 最小规范值 输入低电平电压 VIL 0.8 -0.5V 输入高电平电压 VIA Vcc+0.5 2.2V 输出低电平电压 VOL Vin=Vcc--0V 0.45 输出高电平电压 VOH Vout=Vcc--0.45V 2.4V 输入负载电流 IIL +/-10 输出浮动漏电流 IOFL +/-10 电源电流 Icc

140 2.3 芯片(3)8251 2.3.1 芯片(3)在本设计中的作用 芯片8251A用于实现设备间的串行通信,利用串口调试助手模拟上位机,由8251来实现计算机与串口之间的通信. 2.3.2 芯片(3)的功能 Intel8251是一种通用的同步异步接收/发送器,可以通过编程选用同步/异步通信方式.8251具有独立的发送器和接收器,能够以单工、半双工或全双工方式进行通信,并提供相应的控制信号,方便的与调制解调器连接. 表2-1:8255A与8251芯片的比较 比较内容 8255A芯片 8251A芯片 通信方式 并行 串行 数据传送方式 数据的各位同时传送, 数据一位一位地顺序传送,,

内部组成 8155内有256字节RAM和一个定时计数器. 8255没有 特点 通信线路较8251复杂 通信线路简单,利用电话或电报线路就可实现通信 输入/输出 编程较为灵活 编程较8255不够灵活 应用范围 使用十分方便,传输距离近,成本较高 传输距离远,使用不方便,但传输速度慢,降低成本 , 初始化特点 8255A直接位清0/置1功能简化了接口控制 8251在初始化时,必须重新设置模式寄存器的格式. 2.4 LED显示器 七段LED显示器通过汇编语言控制,可以控制在哪几位数位上,哪几个发光二极管亮,从而现实数字.其工作原理是:如果发光二极管共阳极,则输入为0,则发光;

当为1时,不发光.反之,如果发光共阴极,则输入1为发光,0时为不发光.发光二极管是一种外加电压超过额定电压时发生击穿,并因此能产生可发光的器件.数码显示器通常有多个发光二极管来组成,七段或八段笔画来显示器.当段组合发光时,便会显示某一个数码管或字符.七段代码的各位用作a-g和DD输入. 技术参数: PCW LF Vr Ir If p 对应变量 散射颜色 BT235

70 25

5 ≥1.5 ≤2.5

200 SEL-10 红BT144

100 40

5 ≥0.5 ≤2.5

565 绿BT134

100 40

5 ≥0.5 ≤2.5

585 蓝 主要参数:此时的驱动电流为25 mA. LED数码显示真值表: 定义的十六进制 发光二极管 显示的数字 3FH

00111111 0 06H

00000110 1 5BH

01011011 2 4FH

01001111 3 66H

01100110 4 6DH

01101101 5 7DH

01111101 6 07H

00000111 7 7FH

01111111 8 6FH

01101111 9 77H

01110111 A 7CH

01111100 B 46H

01000110 C 5EH

01011110 D 7BH

01111011 E 71H

01110001 F LED数显 2.5 蜂鸣器 蜂鸣器原理图 扬声器是将电能转化成声能,并将声能辐射到空气中去的一种电声转换器件.当输入端输入一定频率的方波时,在RC震荡电路的作用下,蜂鸣器会发出一定频率的声音. 蜂鸣器的技术参数:一般包括灵敏度、频率响应、额定功率、额定阻抗、指向性、失真、音质听感评价等.本实验只关心工作电压,其工作电压为5V. 2.6 继电器 2.7 硬件总逻辑图及其说明 硬件接线图: 在上图中8251A芯片的地址是由CS1 和A0决定的,其数据地址为00F0H,其控制字及状态字地址为00F1H,其芯片的TxCLK和RxCKL是连接在8253的OUT0上,用以提供8251的时钟频率,并将TxD和RxD与E7区的分别相连,其CLK与B2 区的4M相连提供自身的频率. 对于8253芯片的地址是由CS4 和A

0、A1决定的,其控制字地址为00C3H,计数器0的地址为00C0H,其GATE0接C1区的VCC. 对于8255芯片的地址是由CS2和A

0、A1共同决定的,其控制字地址为00E3H,PA口偏移........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题