文档库 最新最全的文档下载
当前位置:文档库 › 打印机接口设计程序

打印机接口设计程序

打印机接口设计程序
打印机接口设计程序

8.7 中断应用举例——打印机接口设计

打印机功能:计算机的主要外围设备之一,用来把测量、运算结果或程序清单打印出来,有些打印机还可以打印表格和图形。

打印机的种类:有字符式、针式、激光、笔描和热灼式等,工作原理也各不相同,价格由100元到几万元不等,其内部由一些单片机、集成电路、机械机构和微电机等部分组成的机电一体化系统。但其与计算机接口方法基本上是相近的。

目前打印机与单片机的接口大多采用标准的Centronic打印机接口。Centronic接口的打印机一般采用:

8位数据线

和三根基本的应答控制线:、BUSY、。

为选通信号,由单片机发出,可把数据线上的

打印机数据存入打印机的缓冲区中,送满一行后启动打印机打印一行字符。BUSY表示打印机是否处于忙的状态,如它等于1(处于忙状态),则不能接受新的数据,如等于0(处于空闲状态),则可

以接收新的打印数据。是打印机完成一次打印后的应答信号。

以PP40彩色绘图打印机为例,PP40与主机的通讯接口时序如图8.1所示。如下:

图8.2 8535与PP40接口电路

若打印如下两行字符:t: 32 ℃

P: 102kPa

则要把以下ASCⅡ码送给打印机:$74(t)、$3A(:)、$20(空格)、$33(3)、$32(2)、$6F(°)、$43(C )、$0A(换行)、$50(P)、$3A(:)、$20(空格)、$31(1)、$30(0)、$32(2)、$6B(k)、$50(P)、$61(a)、$0A(换行)。

事先已将这些ASCⅡ码放在SRAM中$100开始的单元中。

一、采用查询的方法

给打印机送数据可以采用查询的方法,单片机每送一个数据,发选通脉冲后,打印机忙线变高,同时接收处理该数据,完成后忙线变低,单片机查到忙线变低后再送下一个数据。采用查询的方法程序如下:

采用查询的方法程序如下:

.include "8535def.inc"

RESET: ldi r16,low(ramend) ;栈指针置初值 out spl,r16

ldi r16,high(ramend)

out sph,r16

ldi r16,$ff;定义C口为输出

out ddrc,r16

ldi r16,$01 ;定义PD0为输出,PD2为输入 out ddrd,r16

sbi portd,0;先使PD0输出为高()

ldi xh,$01;X指向打印缓冲区首址

ldi xl,$00

ldi r25,18 ;要打印的字符数

loop: ld r24,x+ ;向打印机数据口送一个字符 out portc,r24

cbi portd,0 ;发选通脉冲()

rcall t1us

sbi portd,0

rcall t1us ;延时3us

rcall t1us

rcall t1us

loop1: sbic pind,2;等待忙线变低

rjmp loop1

dec r25 ;字节数是否发完

brne loop;没发完再发下一个

here: rjmp here

二、采用中断的方法

打印机中的微电机和机械的动作是一个慢过程,需要几十ms才能传送一个字节数据,用查询的方法送一组数据给打印机有时需要数秒钟。这样单片机在这段时间内就不能干别的事情,有些情况是不允许的,常采用中断的方法,其工作过程如下。

主程序送第一个数据给打印机数据口,接着发选通脉冲,打印机接收处理该数据时,忙线变高,

直到处理好此数据后忙线变低,BUSY的下降沿产生一个INT0中断;

在中断服务子程序中再送下一个数据,发送选通脉冲后立即返回主程序。这样,送字符和发选通信号是在外中0服务子程序中完成,单片机主程序照常执行,每送一个字符,只打断几微秒。

采用中断的方法主程序如下:

.include "8535def.inc"

.org $000

rjmp RESET

rjmp EXT_INT0

RESET: ldi r16,low(ramend);栈指针置初值 out spl,r16

ldi r16,high(ramend)

out sph,r16

ldi r16,$ff ;定义C口为输出

out ddrc,r16

ldi r16,$01 ;定义PD0输出,PD2输入 out ddrd,r16

sbi portd,0 ;先使PD0输出为高

ldi r16,$02;定义INT0下降沿申请中断 out mcucr,r16

clr r16 ;清中断标志寄存器

out gifr,r16

ldi xh,$01;X指向打印缓冲区首址 ldi xl,$00

ldi r25,17;要打印的字符数

ld r24,x+ ;向打印机数据口送第一个字符 out portc,r24

cbi portd,0 ;发选通脉冲()

rcall t1us

sbi portd,0

ldi r24,$40 ;使能INT0中断

out gimsk,r24

sei ;开中断

here: rjmp here

采用中断的方法中断服务程序如下: EXT_INT0:in r1,sreg;保护标志寄存器 ld r24,x+ ;向打印机数据口送字符 out portc,r24

cbi portd,0;发选通脉冲()

rcall t1us

sbi portd,0

dec r25 ;是否发完

brne ext_int01

ldi r24,$00;发完则关INT0中断

out gimsk,r24

ext_int01:

out sreg,r1 ;恢复标志寄存器

reti;中断返回

接口与程序设计作业(附答案)

习题1(教材P56) 1.8086/8088微处理器地址总线有多少位?寻址范围是多少? 答:20位 A019。寻址范围00000 2.8086/8088微处理器分哪两部分?各部分主要由什么组成? 答:执行单元和总线接口单元。 包括:、寄存器组、暂存器、标志寄存器、控制单元。 包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。 4.8086/8088微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器? 答:8个通用寄存器、、、、、、、。2个变址寄存器、。2个指针寄存器、。、、、段地址寄存器。 5.8086/8088微处理器中有哪些标志位?它们的含义和作用如何? 答:零标志位、进位标志、溢出标志位、辅助进位标志位、奇偶标志位、符号标志位、方向标志位、中断允许标志位、跟踪标志。 6.试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别? 12783469H 答:0001 0010 0111 1000 +0011 0100 0110 1001 0100 0110 1110 0001 0;0;0;0;1;1。 54E3H-27A0H 答:0101 0100 1110 0011 +1101 1000 0110 0000(-27A0的补码) 10010 1101 0100 0011 0;0;1;0;0;0。 H 答:0011 1000 1000 0001 +0011 0101 1001 0111 0110 1110 0001 1000 0;0;0;0;0;1。 01E301E3H 答:0000 0001 1110 0011 +1111 1110 0001 1101(-01E3H的补码) 10000 0000 0000 0000 1;0;1;0;1;1。 进位表示最高位产生进位。

API应用程序编程接口

1.应用程序编程接口 API windows API Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。

站点在推出基于开放API 标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API 提供的服务整合到自己的应用之中。同时,这种整合API 带来的服务应用,也会激发更多富有创意的应用产生。 为了对外提供统一的API 接口,需要对开发者开放资源调用API 的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。 当然,开放API 的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。 视频云技术提供商CC视频开放API接口,用户可以在自己的网站后台轻松完成视频的上传、视频播放控制操作,并可批量获取视频及平台信息。 API 声明 正如在"什么是API"中所说,API函数包含在位于系统目录下的DLL文件中。你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用API Text Viewer。要想在你的工程中声明API函数,只需运行API Text Viewer,打开Win32api.txt或MDB。如果你已经把它转换成了数据库的话,这样可以加快速度。使用预定义的常量和类型也是同样的方法。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 常见问题 假设你想在你的窗体模块中声明一个函数,粘贴然后运行,VB会告诉你:编译错误...Declare 语句不允许作为类或对象模块中的Public(公共的) 成员。..看起来很糟糕,其实你需要做的只是在声明前面添加一个Private(私有的)。不要忘了,可是这将使该函数只在该窗体模块可用。. 在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数、常量或其他的什么东西共用了一个名称。由于绝大多数的函数都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行。 程序类型 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 API与GUI

API应用程序编程接口详解

API应用程序编程接口 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。另外,也是美国石油协会、空气污染指数、医药、空中位置指示器的英文简称。 Windows API是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数.用户的每个动作都会引发一个或几个函数的运行以告 诉Windows发生了什么.

这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法. 这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows.例如,Form1.Print...VB 将会以一定的参数(你的代码中提供的,或是默认参数)调用TextOut 这个API函数。同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体(这对于你来说是隐藏的),VB获取这个调用并经过分析后生成一个 特定事件(Button_Click). API函数包含在Windows系统目录下的动态连接库文件中(如User32.dll,GDI32.dll,Shell32.dll...). 更易理解地说:Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外,她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application),所以便称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。 凡是在Windows 工作环境底下执行的应用程式,都可以 调用Windows API。 API的历史与现状

接口技术及其程序设计复习题

一、填空10*2' 1. 写出下面英文缩写在接口中的中文意义 ISO 国际标准化组织IEEE 美国电子与电气工程师学会 OSI开放系统互联ANSI 美国国家标准学会HANDLE句柄 NULL空操作OVERLAPPED 重叠方式 Semaphore信号量 Event事件 Mutex互斥体RXD 串行数据接收信号线 TXD 数据串行发送信号线CTS清除发送RTS 请求发送 DTR数据终端就绪DSR 数据装置就绪CD 载波检测到 RI振铃指示BUSY 忙信号(打印机忙) SELECT联机控制ACK应答信号USB 通用串行总线PID 进程控制符(数据包标识字段)DLL动态链接库PLL锁相环CRC 循环冗余码校验 2. 在IEEE1284 总线中,1284Active 信号的作用是进入协商工作模式。 3. 在IEEE1284 总线中,ACK 信号的作用是外设应答信号。 4. 在IEEE1284 总线中,INIT 信号的作用是初始化。 5. 在PC 机上,并行口1 的设备文件名为 LPT1 。 6. 在PC 机上,串行口1 的设备文件名为 COM1 。 7. 在PC 机上,串行口2 的设备文件名为 COM2 。 8. 在Windows 的Win32 API 中设备文件读操作的函数是 ReadFile 。 9. 在Windows 的Win32 API 中设备文件写操作的函数是 WriteFile 。 10. 在Windows 的Win32 API 中打开设备文件操作的函数是CreateFile 。 11. 在RS232 中,使用100 波特率传输一个字节的内容至少需要 0.08s 时间 12. 在Win32 中,DLL 表示动态链接库。 13. 如果采用奇校验,则发送内容为30H 时,校验位为 1 。 14. 如果采用偶校验,则发送内容为30H 时,校验位为 0 。 15. USB 接口低速方式工作时,理想的带宽为 1.5Mbps 。 16. USB 接口全速方式工作时,理想的带宽为 12Mbps 。 17. 在多线程同步方法中,Event 中文称为事件。 18. 在多线程同步方法中,Semaphore 中文称为信号量。

接口编程体

1. 接口编程题: (1) 所有的可以拨号的设备都应该有拨号功能(Dailup) (2) 所有的播放设备都可以有播放功能(Play)。 (3) 所有的照相设备都有拍照功能(takePhoto)。 (4) 定义一个电话类Telephone,有拨号功能。 (5) 定义一个Dvd类有播放功能。 (6) 定义一个照相机类Camera, 有照相功能。 (7) 定义一个手机类Mobile, 有拨号,拍照,播放功能。 (8) 定义一个人类Person(具有姓名、性别、年龄属性), 有如下方法: <1> 使用拨号设备use (拨号设备) <2> 使用拍照设备use(拍照设备) <3> 使用播放设备use(播放设备) <4> 使用拨号播放拍照设备use(拨号播放拍照设备) (9) 编写测试类Test ,分别创建人,电话,Dvd,照相机,手机对象,让 人使用这些对象。 首先创建一个具有这些的功能的接口 package First; public interface Call { //定义一个具有拨号、播放、拍照功能的接口void Dailup(); //拨号 void Play(); //播放 void takePhoto(); //拍照 } package First; public class Camera implements Call { //定义一个照相机类继承接口,实现拍照功能 public void Dailup() { // TODO Auto-generated method stub } public void Play() { // TODO Auto-generated method stub } public void takePhoto() { // TODO Auto-generated method stub System.out.println("照相机拍照!"); } } package First; public class Dvd implements Call { //定义一个DVD类继承接口,实现播放功能 public void Dailup() {

接口技术及其程序设计复习题.docx

一、填空 10*2' 1. 写出下而英文缩写在接口中的屮文意义 OST 开放系统互联 ANST 美国国家标准学会HANDLE OVERLAPPED 重叠方式Semaphore 信号量 Event 事件 Mutex 互斥体 RXD 串行数据接收信号线 TXD 数据串行发送信号线CTS ________ RTS 请求发送 DTR 数据终端就绪 I )SR 数据装置就绪 CD 载波检测到 RT 振铃指示 BUSY 忙信号(打印机忙) SELECT 联机控制ACK 应答信号USB 通用串行总线 PID 进程控制符(数据 2. 在IEEE1284总线屮,1284Active 信号的作用是 进入协商工作模式。 3. 在IEEE1284总线中,ACK 信号的作用是—外设应答信号。 4. 在IEEE1284总线中,INIT 信号的作用是 初始化 ° 5. 在PC 机上,并行口 1的设备文件名为LPT1 。 6. 在PC 机上,串行口 1的设备文件名为COM1 。 7. 在PC 机上,串行口 2的设备文件名为COM2 。 8. 在Windows 的Win32 API 中设备文件读操作的函数是ReadF 订e 。 9. 在Windows 的Win32 APT 屮设备文件写操作的函数是WriteF 订e 。 10.在Windows 的Win32 API 中打开设备文件操作的函数是CreateF 订e 。 11. 在RS232中,使用100波特率传输一个字节的内容至少需要0?08s 时间 12. 在Win32中,I 儿L 表示动态链接库 。 13. 如果采用奇校验,则发送内容为30H 时,校验位为 _。 14. 如果采用偶校验,则发送内容为30H 时,校验位为 _o 15. USB 接口低速方式工作时,理想的带宽为1?5Mbps 。 16. USB 接口全速方式工作时,理想的带宽为12Mbps 17. 在多线程同步方法中,Event 中文称为事件 。 在多线程同步方法中,Semaphore 中文称为信号量 ISO 国际标准化组织 IEEE 美国电子与电气工程师学会 NULL 空操作 包标识字段) DLL 动态链接库PLL 锁相环CRC 循环冗余码校验 18.

软件接口设计指南

软件接口设计指南 拟制人日期 审核人日期 批准人日期

目录 1目的 (1) 2适用范围 (1) 3参考文件 (1) 4定义和缩写 (1) 5规定 (1) 5.1JAVA接口设计方法 (1) 5.2C++接口设计方法 (5) 5.3接口设计对软件性能的影响 (7) 5.4面向对象设计中,接口设计的一般原则 (10) 6附件 ............................................................................................................................... 错误!未定义书签。

1目的 为大家在进行软件接口设计时提供一些指导,以帮助大家更好的理解软件接口设计的方法和原则。 2适用范围 适用于公司软件开发的接口设计过程。 3参考文件 本过程文件中的过程裁剪应依据《组织标准过程裁剪指南》的规定。 4定义和缩写 本过程文件的编写依据是美国软件工程研究院(SEI)的集成成熟度模型软件分支1.2版本(CMMI-DEV V1.2)。 5规定 5.1JAVA接口设计方法 我们在设计系统接口时,经常会遇到这样的问题: 我们的接口应该提供多少方法才合适? 我们的接口应该提供"原子方法"还是"复合方法"? 我们的接口是否应该封装(或者,能否封装)所有的细节? 接口的设计需要考虑用户的使用习惯、使用的方便程度、使用的安全程度,根据我的编程经验,下面会详细讨论接口设计的2个需要权衡的方面:接口的单一化 & 复合化。 接口 接口提供了不同系统之间或者系统不同组件之间的界定。在软件中,接口提供了一个屏障,从而从实现中分离目标,从具体中分离抽象,从作者中分离用户。 站在用户的角度看,一个接口建立并命名了一个目标对象的使用方法。一些约束(例如:编译时的类型系统、运行时的异常机制及返回值)使得类作者的目的得以体现和加强。供给(affordances)指事物的被感知的真实的属性,这些属性可以决定事物使用的可能方法,供给提供了对事物操作的线索。 类设计者的一个职责便是在接口中减小约束与供给之间的隔阂、匹配目标以及一定程度上的自由度,尽可能减小错误使用目标对象的可能。 封装 对于封装来说,远不止数据私有那么简单。在设计中,封装往往会涉及到自我包含(self-containment)。如果一个类需要你知道如何调用它方法(e.g. 在一个线程的环境中,在一个方法调用后调用另一个方法,你必须明确地同步对象),那么它的封装性就不如将所有这些全部包含并隐藏的类(e.g. 这个类是thread-safe的)好。前一个设计存在着设计的漏洞,它的许多限定条件是模糊的,而且把部分责任推给了用户,而不是让类提供者做这些工作来完成类的设计。 在空间或者时间上分离方法的执行(例如,线程,远程方法调用,消息队列),能够对设计的正确性和效率产生意义深远的影响。这种分离带来的结果是不可忽视的:并发引入了不确定性和环境(context)选择的开销;

C语言接口编程技术..

第二节C语言接口编程技术 一、C语言特点 C语言以其简洁、灵活、表达能力强、产生的目标代码质最高、可移植性好为其基本特点而著称于世,详细归纳起来,它具有以下几个特点: ? C语言兼容了其他计算机语言的一些优点,其程序结构紧凑、简洁、规整,表达式简练、灵活、实用。用C语言编写的程序可读性强、编译效率高。 ? C语言具有丰富的数据类型。在系统软件中,特别是操作系统中,对计算机的所有软件、硬件资源要实施管理和调度,这就要求有相应的数据结构作为操作基础。C语言具有5种基本的数据类型和多种构造数据类型(数组、结构、联合、枚举)以及复杂的导出类型。C 语言还提供了与地址密切相关的指针及其运算符。 ? C语言具有丰富的运算符,多达科种。丰富的数据类型与丰富的运算符相结合,使C 语言具有表达灵活和效率高等特点。 ?语言是一种结构化程序设计语言,特别适合于大型程序的模块化设计: ? C语言是处于汇编语言和高级语言之间的一种中间型程序设计语言,它既具有高级语言面向用户、可读性强、容易编程和维护等特点,又具有汇编语言面向硬件和系统,可以直接访问硬件的功能,C语言的运行效率可以与汇编语言媲美。 ? C语言具有较高的可移植性。在C语言的语句中,没有依赖于硬件的输人输出语句,程序的输人输出功能是通过调用输人输出函数实现的,而这些函数是由系统提供的独立于C 语言的程序模块。从而便于硬件结构不同的计算机之间实现程序的移植。 二、C语言端口操作编程 利用C语言进行计算机的接口编程,主要是利用C语言对端口输人输出操作的支持,PC/XT/AT微型计算机上运行的几种C语言版本,都支持对端口的输人输出操作。C语言对这些端口的输人输出函数以库函数的形式进行了封装,这些库函数实际上调用了汇编语言中的INI}UT指令,开发者不必自己开发C语言的接口函数,简化了开发难度。 1.端口操作函数 C程序为了要访问端口(即口地址),专门设计了端口输人输出函数,它们是 int inport() int inpartb() int outport() int outportb() 这四个函数的函数原型都在函数库"dos. h"中,所以在使用这四个函数之前,需要在程序中包含进库函数"dos. h。 (1)端口读函数C语言中的读端口的函数有两个:inport()和inportb()。他们都是从指定的端口读人数据。其调用形式为: int inpart(int port int inportb(int port) inport()函数从指定的端口port读人一个字长的值,其长度为l6位;inportb()函数从指定的端口part读人一个字节,其长度为8位。 如:下列语句将从口地址2F0H中得到一个字长的数: unsigned int c; c=import (Ox2f0); (2)端口写函数C语言中向端口输出数据的函数有两个:outport()和outportb()。他们都是向指定的端口输出数据。其调用形式为:

电子天平通讯接口程序设计

Sartorius电子天平通讯接口程序设计 引言 随着传感器技术和微处理器技术的发展,高性能的电子天平相继产品化。例如:Sartorius AG 公司生产的BS210S型的称量为210g,读数精度为0.1mg,BS21S型的称量为21g,读数精度为0.01mg,属标准型精密天平;超微量天平的读数精度最高可达一亿分之一克(0.0lμg),比最佳的机械式微量分析天平高出3个数量级。 电子天平最大特点是操作简单;测量快捷,数秒钟便可显示称量结果。它还具有多种功能,例如:自动故障检查、全自动校准功能、超载自动保护、RS-232通讯接口等。 本设计在分析Sartorius电子天平RS-232通讯接口的条件下,给出了电子天平和计算机通讯线缆连接方法,利用可视化编程语言Delphi 7.0设计了电子天平和计算机通讯接口程序,实现了电子天平与计算机之间的双向数据传输,把称量信息输入计算机、进行数据处理和远程显示等,构成了植物营养液成份测定、水培花卉等园艺工程中的自动定量测试、存储系统,为实验室研究和科学研究提供方便可靠的自动采集数据功能,测量结果能够更好地融入相关的测量系统。 通讯接口连线设计 artorius电子天平的数据接口采用RS-232C串行接口,通讯握手方式可设为硬件方式或软件方式,数据接口使用25引脚的D-Sub Female连接器;而计算机上一般有RS-232串行接口,采用9引脚的D-Sub Male连接器。根据电子天平和计算机通讯握手方式的要求,硬件方式需要有TxD(发送数据)、Rxd(接收数据)和GND(接地线),还要辅助数据线CTS(清除发送)、DTR(数据终端准备)才能实现;软件方式仅需要TxD、RxD和GND就可以通讯,所以选购25引脚的D-Sub Male连接器和9引脚的D-Sub Female连接器,各引脚之间按照图1所示接线方法连接,就可以满足上述两种握手方式的要求,数据电缆的屏蔽线和两端连接器的金属外壳相连(电缆长度一般不能超过15m),就可以构成用于Sartorius电子天平和计算机通讯的连接电缆,其中电子天平数据接口的8和15引脚可以连接一个远程按钮,用于远程控制电子天平的数据输出、校正等。

4x4矩形键盘接口与编程

单片机教程第二十五课:键盘接口与编程 键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘, 非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点, 因此被广泛应用于单片机系统。 按键开关的抖动问题 组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在下图中,当开 图1 图2 关S 未被按下时,P1。0输入为高电平,S 闭合后,P1。0输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按键有时灵,有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。 为使CPU 能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法,因此,对于硬件方法我们不介绍。软件法其实很简单,就是在单片机获得P1。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。而在检测到按键释放后(P1。 0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般 情况下,我们通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按键的要求也是千差万别,要根据不同的需要来编制处理程序,但以上是消除键抖动的原则。 键盘与单片机的连接 图3 图4 1、通过1/0口连接。将每个按键的一端接到单片机的I/O 口,另一端接地,这是最简单的方法,如图3所示是实验板上按键的接法,四个按键分别接到P3.2 、P3.3、P3.4和P3.5。对于这种键各程序可以采用不断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键处理。下面给出一个例程。其功能很简单,四个键

OPC规范数据接口编程方法

OPC规范数据接口编程方法 一、单选题(选择一项正确的答案,共10题,每题5分) 1、OPC是一种( )标准规范。 A.软件协议 B.硬件设备 C.网络协议 D.无线协议 考生答案:A 具体得分:5 2、OPC用来开发和标准化处理报警和( )的接口。 A. 通讯 B.呼叫 C.监控 D.事件 考生答案:D 具体得分:5 3、OPC包括一整套完整接口.属性和( )的标准集,其用于过程控制和制造业自动化系统。 A.读取 B.访问 C.方法 D.链接 考生答案:C 具体得分:5 4、下列能够提供服务器间的数据传输的是。 A.OPC B.ODBC C.OCP D.PDF 考生答案:A 具体得分:5 5、OPC是一种工业标准,其中O代表( )。 A.对象链接和嵌入 B.过程 C.连接 D.控制 考生答案:A 具体得分:5 6、OPC 规范了接口函数,不管现场设备以何种形式存在,客户都以( )的方式去访问. A.统一 B.多样 C.重构 D.标准 考生答案:A 具体得分:5 7、OPC的配置与管理与下列哪种软件配置有关( )。 A.IIS B.DCOM C.网络打印 D.收发邮件 考生答案:B 具体得分:5 8、( )是OPC基金会的一个成员,已给予OPC基金会强有力的支持。 A.IBMS B.Microsoft C.OFFICE D.AUTOCAD 考生答案:B

9、OLE/COM 是一种( )模式,具有语言无关性.代码重用性和互换性等优点。 A.客户/服务器 B.服务器/浏览器 C.客户/浏览器 D.服务器/服务器 考生答案:A 具体得分:5 10、IBMS管理系统与BA系统集成通常采用( )接口进行数据交换与控制。 A.C-Bus B.OPC C.ODBC D.DDE 考生答案:B 具体得分:5 二、多选题(选择多项正确的答案,共3题,每题10分) 1、通过OPC标准协议,可以将( )进行集成完成数据交换。 A.不同厂商设备 B.不同的集成系统 C.不同的操作系统 D.不同的传感器 E.不同的DDC 考生答案:A、B、C、D 具体得分:10 2、OPC的操作与网络访问的规则存在一定关系,其主要表现在( ). A.操作系统内嵌的网络防火墙 B.第三方的病毒防火墙 C.网络连接 D. 管理权限 E.用户管理 考生答案:A、B 具体得分:10 3、使用OPC协议可以很好解决工业过程控制中( )的问题. A.设备异构 B.网段间异构 C.数据交换 D.系统升级 E.设计与生产分开 考生答案:A、B、C、D、E 具体得分:10 三、判断题(选择一项正确的答案,共4题,每题5分) 1、OPC是用于过程控制的OLE是一个工业标准。 考生答案:正确 具体得分:5 2、OPC配置工具可以用来进行验证配置是否正常使用。 考生答案:正确

单片机接口及C语言程序设计

广东机电职业技术学院自编教材 《单片机接口及C程序设计实习》 指导书 查鸿山、李建波、万加福主编 李建俊、高立新主审 计算机与信息工程系 智能电子教研室 2007.12

注意事项 一严禁光脚或穿拖鞋进入实训室,实训指导教师发现,可以命令其离开实验室,并登记旷课; 二严禁随意开合电源开关:实验时,合上电源开关前必须知会有关实训指导教师;实训告一段落、操作完毕、讨论问题、离开岗位或实验结束时,必须断开电源;一旦发生事故,实训教师或其他同学应立即断开实验室总电源,迅速抢救或拨打120急救电话,事后记录发生原因、追究当事人责任。 三实训前应知事项 1、实训前必须了解本次实验内容 2、进入实训室前,必须上交实训预习报告 3、班级安排的值日生提前10分钟进入实验室,协助实训管理教师检查设备是否齐全,并签字;如果设备不齐全,请记录,否则下个班级值日生清点,发现缺少了设备,由本次实验班级负责赔偿。 四实训中 实训为带电设备,时刻注意桌面清理,防止实验电路板短路。人为原因引起电路板烧毁、实验芯片烧毁或仪器损坏,由进行实验的人员按价赔偿。所以实习前,仔细检查实验用品是否良好,分清责任; 五实训结束 1、各组成员进行桌面清洁、按规定摆放键盘鼠标椅子等; 2、每个学生必须独立完成实验报告。 3、值日生协助教师,检查各组设备是否齐全,关窗锁门,并签字。

目录 注意事项 (2) 综合设计1 步进电机的控制 (4) 1 设计任务 (4) 2 设计原理 (4) 3 编写程序 (11) 4 结论 (11) 综合设计2 电机转速测量与显示 (12) 1 设计任务 (12) 2 设计原理 (12) 3 编写程序 (15) 4 结论 (15)

相关文档
相关文档 最新文档