出版时间:2009-4 出版社:机械工业出版社 作者:王彤 页数:205
前言
C语言是广泛应用的一种程序设计语言,许多计算机控制的实时测控系统的软件是由C语言实现的。C语言应用在实时测控系统时,必然要涉及端口输入/输出控制、硬件中断程序设计和软件中断程序设计。而且,实时测控系统程序设计还经常遇到对一些常用芯片的控制,如串行口、并行口及A/D转换器(模/数转换器)、D/A转换器(数/模转换器)接口的编程等方面的问题。但是,现在C语言程序设计的课程和教材通常不涉及这方面的内容,使许多学过C语言程序设计的理工科学生却不会编写控制硬件的程序。本书就是想要帮助读者解决这样一些问题。
内容概要
本书由浅人深地从编程实践的角度介绍了C语言在测量与控制领域应用的基本方法。这些内容通常是一般c语言程序设计书籍所不涉及,却是测控领域工程技术人员需要掌握的。本书主要包括输入/输出端口的控制,硬件中断程序设计,软件中断程序设计,精确定时程序设计,串口通信程序设计,曲线的绘制,并行接口的使用与步进电动机的控制,数据采集与处理程序设计,闭环控制系统程序设计等内容。书中举了大量的实例,程序简单实用。由于编程涉及测控系统中的硬件设备,所以对一些常用芯片、器件、装置的原理和使用方法进行了简单的介绍。本书还介绍了数据采集与处理系统、计算机闭环控制系统的基本工作原理和设计方法。 本书还包括了实验指导书的内容。实验内容包括基本实验和扩展实验两部分,以利于根据学生的情况因材施教。 本书可作为理工科专业研究生或电类专业本科生的教材,授课40学时左右,实验16学时。本书也可作为工程技术人员的一本实用性较强的参考书。
书籍目录
前言第1章 绪论1.1 C语言的特点1.2 工业PC第2章 端口、内存输入/输出与位运算2.1 端口输入/输出函数2.2 位运算2.2.1 按位与运算的应用2.2.2 按位或运算的应用2.2.3 按位异或运算的应用2.2.4 按位非运算的应用2.2.5 按位左移运算和按位右移运算的应用2.3 位操作赋值运算2.4 内存单元读/写函数第3章 硬件中断程序的设计3.1 Intel86系列CPU实模式下的中断系统3.1.1 实模式与保护模式的概念3.1.2 实模式下的中断系统3.2 有关硬件中断的几个函数3.3 8259A中断控制器3.3.1 8259A的结构和原理3.3.2 8259A的编程3.3.3 8259A连接的硬件中断源3.4 8254定时器/计数器3.4.1 8254的结构3.4.2 8254的编程3.5 可屏蔽中断响应的大致过程3.6 实时中断程序设计举例3.7 定时中断程序的另一种结构3.8 CMOS实时钟硬件中断程序的设计3.8.1 实时钟的工作原理3.8.2 CMOS.RAM单元的读/写3.8.3 实时钟的中断功能3.9 定时器中断实验第4章 数据的采集与存储4.1 A/D转换与D/A转换4.1.1 A/D转换4.1.2 D/A转换4.1.3 连续信号与离散信号的频谱4.1.4 被测信号与A/D量程的匹配4.2 接口的编码与变换4.2.1 计算机内机器数编码的概念4.2.2 几种常见定点数的编码规则4.2.3 几个接口编码变换举例4.2.4 分数二进制码与分数补码4.2.5 格雷码及其变换4.3 计算机的总线与功能扩展板卡及模块4.3.1 总线的概念4.3.2 总线的标准4.3.3 ISA总线及扩展板卡4.3.4 PCI局部总线及扩展板卡4.3.5 uSB串行总线及扩展板模块4.4 HY一1232A/D、D/A接口板4.4.1 HY一1232的主要性能指标4.4.2 HY一1232的基地址4.4.3 HY一1232的板内地址分配及寄存器描述4.4.4 HY一1232的A/D和D/A编码4.4.5 HY一1232的A/D、D/A程举例4.5 用位字段结构处理二进制位字段数据4.5.1 结构4.5.2 位字段结构4.6 用结构与联合的嵌套处理字节(BYTE)与字(WORD)数据4.6.1 联合4.6.2 结构与联合的嵌套4.7 数据采集程序及A/D温度漂移的补偿4.7.2 A/D通道温度漂移的补偿4.8 数据采集时的在线滤波4.9 磁盘数据文件的建立4.9.1 C语言文件概述4.9.2 文件的打开与关闭4.9.3 文件的读/写4.10 模拟量输入/输出与磁盘数据文件实验第5章 数据的处理与绘图5.1 测量数据的预处理5.1.1 标度变换5.1.2 非线性特性的修正5.1.3 去除奇异项5.1.4 零均值化5.1.5 数据平滑5.1.6 趋势项的提取5.2 曲线的绘制5.2.1 概述5.2.2 图形系统的初始化5.2.3 画曲线的几个函数5.2.4 图形方式下的字符输出5.2.5 曲线的动画效果5.2.6 实时曲线的绘制5.2.7 TC屏幕图形的截取5.3 频谱分析与快速傅里叶变换5.3.1 傅里叶变换的概念5.3.2 快速傅里叶变换子程序的使用5.3.3 快速傅里叶变换的应用5.4 相关分析5.4.1 自相关函数与互相关函数5.4.2 相关系数函数5.4.3 相关函数的应用5.5 数据采集与处理系统举例5.6 数据处理与绘图实验第6章 计算机的串行通信6.1 概述6.1.1 并行通信和串行通信6.1.2 同步通信和异步通信6.1.3 串行通信的传送制式、联络方式、通信速率及调制解调的概念6.2 串行通信的接口标准6.2.1 RS一232C标准6.2.2 RS-485标准6.3 Intel8250可编程异步串行接口芯片6.3.1 8250的结构6.3.2 8250的寄存器6.4 TurboC的串口通信函数6.5 近距离无联络线简单三线通信6.6 串口硬件中断方式通信6.6.1 中断方式通信所涉及的一些寄存器6.6.2 中断方式通信的程序举例6.7 串口通信实验第7章 并行接口的使用与步进电动机的控制7.1 并行I/0接口概述7.2 8255A并行接口芯片简介7.2.1 8255A的结构7.2.2 8255A的工作方式7.2.3 8255A的控制字及初始化7.2.4 8255A在PC系列微机中的应用7.2.5 扬声器发声程序7.3 HY一6160数字量输入/输出接口板7.4 打印机的接口7.4.1 打印机的并行接口标准7.4.2 打印机的适配器7.5 步进电动机及驱动器7.5.1 步进电动机概述7.5.2 步进电动机与配套的驱动器7.6 步进电动机的位置与速度控制7.6.1 用打印机口控制步进电动机7.6.2 用HY-6160接口板控制步进电动机7.6.3 步进电动机的加速与减速控制7.7 并行接口的使用与步进电动机控制实验第8章 闭环控制系统实时控制程序的设计8.1 闭环负反馈控制系统的构成8.2 控制系统的性能指标8.2.1 系统的时域性能指标8.2.2 系统的频域性能指标8.2.3 时域指标与频域指标之间的关系8.3 控制系统的校正8.3.1 系统综合校正的概念8.3.2 基本控制规律8.4 模拟化设计方法的概念和步骤8.5 离散化的原则与方法8.6 数字控制器的模拟化设计举例8.7 数字PID控制程序的设计8.7.1 数字PID控制算法的实现8.7.2 数字PID控制算法的改进8.8 计算机控制系统数字校正实验第9章 软件中断与伪变量的使用9.1 软件中断的概念9.2 DOS功能调用9.2.1 DOS功能调用函数bdos9.2.2 通用DOS功能调用函数intdos9.2.3 通用DOS功能调用函数intdosx9.3 通用软件接口函数int86()和int86x()9.4 伪变量与产生软中断函数geninterrupt9.4.1 伪变量的概念9.4.2 伪变量的使用9.4.3 产生软中断函数geninterrupt9.4.4 日时钟与实时钟对表程序9.4.5 实时钟报警中断的开发附录快速离散傅里叶变换程序mt2.C清单参考文献
章节摘录
第1章绪论 1.1C语言的特点 C语言是目前使用最广泛的一种程序设计语言,也是测量、控制和通信等领域中最常用的一种程序设计语言。 C语言有如下一些特点: 1)语言表达能力强。C语言表达能力强而灵活,它既有面向硬件和系统,像汇编语言那样可以直接访问硬件的功能,又有高级语言面向用户,容易理解,便于阅读和书写的优点。 2)模块化能力强。C语言程序由函数形式组成,十分有利于把整个程序分割成若干个功能相对独立的程序模块,并且为程序模块之间相互调用和参数传递提供了方便。 3)数据类型丰富。C语言具有现代语言的各种数据类型,基本的数据类型有字符型(Char)、整型(int)、长整型(10ng)、浮点型(float)、双精度型(double),还有无符号字符型(unsignedChar)、无符号整型(unsignedint)、无符号长整型(unsignedlong)等。在这些基础上可以产生各种构造类型,如数组、指针、结构、联合等。利用这些数据类型可以实现复杂的数据结构,如链表、树等。 4)运算符丰富。C语言的运算符包括的范围很广,除了包括一般高级语言中的算术运算符、逻辑运算符、关系运算符之外,还具有位运算符、指针运算符等。所以C语言的数据处理能力强,具有其他高级语言难以实现的一些功能。 5)可移植性好。C语言本身不依赖于机器硬件,在使用不同CPU的计算机上,C语言程序差别不是很大。这一点与汇编语言不同,汇编语言是一种面向机器的低级语言,汇编语言的许多指令是针对CPU的结构而设计的。因而,不同CPU的汇编语言指令差别较大,移植比较麻烦。
编辑推荐
《C语言在测量和控制中的应用》注意软件与硬件结合、理论与实践结合,由浅入深地讲解了C语言在测控领域应用的方法和特点。书中的计算机采用使用数量最多的PC系列微机,并尽量利用PC本身的硬件资源,如8259A中断控制器、8254定时器/计数器、打印机接口、串行口等。编程主要采用使用人数最多的TurboC2.0版本,使《C语言在测量和控制中的应用》内容的通用性更好。这样的内容安排,可以使读者动手实践的条件比较容易实现。
图书封面
评论、评分、阅读与下载