- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 端口、内存I/O与位运算 2.1 端口输入/输出函数 8位端口输出函数 outportb( ) 16位端口输入函数 inport( ) 16位端口输出函数 outport( ) 2.2 位运算 (1)按位与运算符 (2)按位或运算符 | (3)按位异或运算符^ (4)按位非运算符~ (5)按位左移运算符?? (6)位右移运算符 2.4 内存单元读/写函数 (1)peekb( )函数 (2)peek( )函数 (3)pokeb( )函数 (4)poke( )函数 * 哈尔滨工业大学 《C语言在测量与控制中的应用》系列课件 计算机的CPU要与外设间传递信息,必须通过硬件的接口电路来进行。接口电路通常包含一些寄存器,如数据寄存器、状态寄存器、控制寄存器等。一般称这些寄存器为I/O(输入/输出)端口。 PC系列微机用10条地址线对端口寻址 寻址范围为 0x00 ~ 0x3ff C语言为了控制端口的输入/输出扩展了一些非标准的系统函数 8位端口输入函数 inportb( ) 函数原型: unsigned char inportb(int portid); 功能: 从地址为 portid 的8位端口输入一个字节(8位), 所读的值是该函数的返回值,由头文件 dos.h 说明。 用法: #include dos.h unsigned char b; … b = inportb(端口地址); 函数原型: void outportb(int portid ,unsigned char value); 功能:向地址为 portid 的8位端口输出一个字节 (8位),其值为 value,由头文件 dos.h 说明。 用法: #include dos.h … outportb(端口地址,无符号字符型数据或变量); 函数原型:int inport(int portid); 功能:从地址为 portid 的16位端口输入一个字(16位), 所读的值是该函数的返回值,由头文件 dos.h 说明。 用法: #include dos.h int w ; … w = inport(端口地址); 函数原型: void outport(int portid , int value); 功能:向地址为 portid 的16位端口输出一个字(16位),其值为 value,由头文件 dos.h 说明。 用法: #include dos.h … outport(端口地址,整型数据或变量); 位运算是直接对操作数的二进制位(bit)进行操作。 按二进制位的逻辑运算对控制计算机硬件非常有用。 C语言的位运算符有: 按位与 ,按位或 | , 按位异或 ^,按位取反~ ,左移 ,右移 。 位运算符只能用于 有符号或无符号的字符型、整型、长整型数据的运算,不能用于浮点数和双精度数据的运算。 运算规则: 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, 其它位不变. 运算规则: 0|0=0 , 0|1=1 , 1|0=1, 1|1=1 若 a=0x55 ,b=0xf0 c=a|b= ? 0 1 0 1 0 1 0 1 (a=0x55) | ) 1 1 1 1 0 0 0 0 (b=0xf0) 1 1 1 1 0 1 0 1 (c=0xf5) 规律:跟1相或置1,跟0相或不变 用途:按位的或运算可使某些位置1, 其它位不变. 运算规则: 0^0=0 , 0^1=1 , 1^0=1 , 1^1=0 相同为0,不同为1 若 a=0x55 , b=0xf0 , c=a^b= ? 0 1 0 1 0 1 0 1 (a=0x55) ^ ) 1 1 1 1 0 0 0 0 (b=0xf0) 1 0 1 0 0 1 0 1 (c=0xa5) 规律:跟1相异或取反,跟0
您可能关注的文档
- C++程序设计与应用 周仲宁 1 courseware7-1新.ppt
- C++程序设计与应用 周仲宁 1 courseware7-2新.ppt
- C++程序设计与应用 周仲宁 1 courseware8新.ppt
- C++程序设计与应用 周仲宁 1 courseware9新.ppt
- C++程序设计与应用 周仲宁 2 courseware12新.ppt
- C++程序设计与应用 周仲宁 2 courseware15新.ppt
- C++程序设计与应用 周仲宁 2 courseware16新.ppt
- C++程序设计与应用 周仲宁 2 courseware18新.ppt
- C++面向对象程序设计 张德慧 周元哲 主编 第4章 进一步学习类和对象新.ppt
- C++面向对象程序设计 张德慧 周元哲 主编 第5章 堆与复制构造函数新.ppt
文档评论(0)