《C语言在测量与控制中的应用》01端口输入输出及位运算 1.pptVIP

《C语言在测量与控制中的应用》01端口输入输出及位运算 1.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言在测量与控制中的应用 哈尔滨工业大学航天学院控制科学与工程系 杨旭东 CYYCKXTCXSJ@163.com PW:123456 C语言在控制领域的应用 C语言是使用最广泛的一种程序设计语言, 是测量 ﹑控制﹑通讯领域中最常见的程序设计语言。 常用的C语言版本有: Turbo C 2.0,Borlande C++ ,Visal C++ 6.0,Win-tc 等。 1.实时测量系统程序设计。 2.实时通讯系统程序设计。 3.实时控制系统程序设计。 C语言在测控领域的应用: C语言的特点 2.模块化能力强 3.数据类型丰富 4.运算符丰富 5.可移植性好 6.提供丰富的库函数 7.执行速度快 8.控制硬件处理中断的能力强 9.绘图能力强 10.可与其它语言混合编程 1.语言表达能力强 端口输入/输出函数 1.端口输入/输出函数 计算机的CPU要与外设间传递信息,必须通过硬件的接口电路来进行。接口电路通常包含一些寄存器,如数据寄存器、状态寄存器、控制寄存器等。一般称这些寄存器为I/O(输入/输出)端口。 PC系列微机用10条地址线对端口寻址 寻址范围为 0x00 ~ 0x3ff (1024个) C语言为了控制端口的输入/输出扩展了一些非标准的系统函数 8位端口输入函数 inportb( ) 函数原型: unsigned char inportb(int portid); 功能: 从地址为 portid 的8位端口输入一个字节(8位), 所读的值是该函数的返回值,由头文件 dos.h 说明。 用法: #include dos.h unsigned char b; … b = inportb(端口地址); 8位端口输出函数 outportb( ) 函数原型: void outportb(int portid ,unsigned char value); 功能:向地址为 portid 的8位端口输出一个字节 (8位),其值为 value,由头文件 dos.h 说明。 用法: #include dos.h … outportb(端口地址,无符号字符型数据或变量); 16位端口输入函数 inport( ) 函数原型:int inport(int portid); 功能:从地址为 portid 的16位端口输入一个字(16位), 所读的值是该函数的返回值,由头文件 dos.h 说明。 用法: #include dos.h int w ; … w = inport(端口地址); 16位端口输出函数 outport( ) 函数原型: void outport(int portid , int value); 功能:向地址为 portid 的16位端口输出一个字(16位),其值为 value,由头文件 dos.h 说明。 用法: #include dos.h … outport(端口地址,整型数据或变量); 位运算 位运算是直接对操作数的二进制位(bit)进行操作。 按二进制位的逻辑运算对控制计算机硬件非常有用。 C语言的位运算符有: 按位与 ,按位或 | , 按位异或 ^,按位取反~ ,左移 ,右移 。 位运算符只能用于 有符号或无符号的字符型、整型、长整型数据的运算,不能用于浮点数和双精度数据的运算。 (1)按位与运算符 运算规则: 00=0 , 01=0 , 10=0 , 11=1 若 a=0x55 ,b=0xf0 ab= ? 0 1 0 1 0 1 0 1 (a=0x55) ) 1 1 1 1 0 0 0 0 (b=0xf0) 0 1 0 1 0 0 0 0 (c=0x50) 规律:跟1相与不变,跟0相与清零 用途:按位的与运算可使某些位清0, 其它位不变. 按位与运算的应用 欲使地址为0x61的8位端口D4位清零,其他位不变 X X X X X X X X D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 0 1 1 1 1 #include dos.h char b; …… b=inportb(0x61); b=b0xef; outpotb(0x61,b); (2)按位或运算符 | 运算规则: 0|0=0 , 0|1=1 , 1|0=1, 1|1=1 若 a=0x

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档