- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲AVR单片机位操作.ppt
第三讲 AVR单片机位操作 黄文恺 一、 位操作基础知识 1、位的概念 2、位逻辑运算符 3、位移运算符 1、位的概念 ???? 我们知道,在单片机或计算机系统中,一字节占8位,这样表示的数的范围为0-255,也11111111。位就是里面的0和1。???????? char c=100;???? 实际上c应该正好是64H。其中高位在前,低位在后。????????????????? |?????? |??????????????? 第7位?? 第0位 以我们的MEGA8为例子,PC端口有6个,从PC0到PC5,我们直接赋值过去,PORTC=0XF0;则实际上是设置了1111 0000,PC0~PC3为低电平,PC4~PC5为高电平,而PC6和PC7引脚在MEGA8中不存在。 2、位逻辑运算符 ??? 符号????????? 描述 ????????? ??????????? 位逻辑与 ????????? |??????????? 位逻辑或 ????????? ^??????????? 位逻辑异或 ????????? ~??????????? 取补(取反),该符号是波浪号,不要写 成负号。 位逻辑与运算 运算的规则是当两个位都为1时,结果为1,否则为0;(小提示:你可以在心中默念乘法来代替它,真与真,就是1乘以1,真与假,就是1乘以0,假与假,就是0乘以0) 在单片机中,常用于某一位清0,其他位不变 例:将PC4口清零,我们写出二进制 0XEF PC4 PORTC =0xEF (等价于PORTC=PORTC0xEF) 或PORTC=0 |????? 位逻辑或 ?? | 运算的规则是当两个位都为0时,结果为0,否则为1;(小提示,你可以理解为加号,只有假的加假的等于假,即0加0等于0,其余情况,只要有1个是真的,结果都为真) 在单片机中,常用于某一位的置位。 例:我们将PB3和PB0口置为高电平。 0X09 PB3 PB0 PORTB |=0X09 (等价于PORB=PORTB|0X09) ? ^?????位逻辑异或 ^ 运算的规则是当两个位相同时,结果为0,否则为1;此逻辑符常用于比较是否相同。 ~??? 取补(取反) ? ~ 运算的规则是当为1时结果为0,当为0时,结果为1。 例如,将PA口全部取反。则 PA^=PA; 3、位移运算符 ????????? 符号????????????? 描述?????????? ?????????????? 左移?????????? ?????????????? 右移???? 位移运算符作用于其左侧的变量,其右侧的表达式的值就是移动的位数,运算结果就是移动后的变量结果。???????? b=a2;???? 就是a的值左移两位并赋值为b。a本身的值并没有改变。???????????????????? 向左移位就是在低位上补0,向右移位就是在高位上补0。右移时可以保持结果的符号位,也就是右移时。如果最高位为1,是符号位,则补1而不是补0。 例如: 当a 若b=a2; 结果为 b 若b=a2; 结果为 b 当a 若b=a2; 结果为 b 若b=a2; 结果为 b???? 程序员常常对右移运算符来实现整数除法运算,对左移运算符来实现整数乘法运算。其中用来实现乘法和除法的因子必须是2的幂次。 二、AVR端口的控制 1、AVR端口介绍 2、AVR端口状态的定义 3、端口操作 4、按位进行操作 1、AVR端口介绍 AVR单片机拥有多个I/O口(input/output),其作用是读取数据,或者输出数据。不同型号的单片机的I/O口数量是不一样。如下图所示,MEGA8和MEGA128的引脚图。 2、AVR端口状态的定义 I/O作为输入(读取)还是输出,都必须事先定义。 以MEGA128为例,定义其PD端口(从PD0~PD7)为读取,则: DDRD=0x00; 此时定义为读取状态。可以读取按键信号,或者脉冲信号,或者用于计数器数脉冲等用途。如果是A/D功能引脚,还可以把模拟信号
文档评论(0)