C语言位域操作方法_第1页
C语言位域操作方法_第2页
C语言位域操作方法_第3页
C语言位域操作方法_第4页
C语言位域操作方法_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言位域操作方法#include <avr/io.h>#ifndef _Use_AdvancedPortCommand# define _Use_AdvancedPortCommand# define PAInUse0xff# define PBInUse0xff# define PCInUse0xff# define PDInUse0xff# define PEInUse0x00# define PFInUse0x00# define PGInUse0x00# define PHInUse0x00# define PIInUse0x00# define PJInUse0x00

2、# define PKInUse0x00# define PLInUse0x00# define PMInUse0x00# define PNInUse0x00# define POInUse0x00# define PPInUse0x00# define PQInUse0x00# define PRInUse0x00# define PSInUse0x00# define PTInUse0x00# define PUInUse0x00# define PVInUse0x00# define PWInUse# define PXInUse# define PYInUse# define PZI

3、nUse# define Read_PA0# define Read_PA1# define Read_PA2# define Read_PA3# define Read_PA4# define Read_PA5# define Read_PA6# define Read_PA7# define Read_PB0# define Read_PB1# define Read_PB2# define Read_PB3# define Read_PB4# define Read_PB5# define Read_PB6# define Read_PB7# define Read_PC0# defin

4、e Read_PC1# define Read_PC2# define Read_PC3# define Read_PC40x000x000x000x00(PINA<<7)>>7)(PINA<<6)>>7)(PINA<<5)>>7)(PINA<<4)>>7)(PINA<<3)>>7)(PINA<<2)>>7)(PINA<<1)>>7)(PINA>>7)(PINB<<7)>>7)(PINB<

5、;<6)>>7)(PINB<<5)>>7)(PINB<<4)>>7)(PINB<<3)>>7)(PINB<<2)>>7)(PINB<<1)>>7)(PINB>>7)(PINC<<7)>>7)(PINC<<6)>>7)(PINC<<5)>>7)(PINC<<4)>>7)(PINC<<3)>>7)# define Read_PC5(

6、PINC<<2)>>7)(PINC<<1)>>7)(PINC>>7)(PIND<<7)>>7)(PIND<<6)>>7)(PIND<<5)>>7)(PIND<<4)>>7)(PIND<<3)>>7)(PIND<<2)>>7)(PIND<<1)>>7)(PIND>>7)# define Read_PC6# define Read_PC7# define Rea

7、d_PD0# define Read_PD1# define Read_PD2# define Read_PD3# define Read_PD4# define Read_PD5# define Read_PD6# define Read_PD7 typedef struct BYTE_BITunsigned Bit0:1;unsigned Bit1:1;unsigned Bit2:1;unsigned Bit3:1;unsigned Bit4:1;unsigned Bit5:1;unsigned Bit6:1;unsigned Bit7:1;PORTBIT;# define PORTA_B

8、IT (*(volatile PORTBIT *)PORTA)# define PORTB_BIT (*(volatile PORTBIT *)PORTB)# define PORTC_BIT (*(volatile PORTBIT *)PORTC)# define PORTD_BIT (*(volatile PORTBIT *)PORTD)# define DDRA_BIT (*(volatile PORTBIT *)DDRA)# define DDR_PC7DDRC_BIT.Bit7# define DDRB_BIT(*(volatile PORTBIT *)DDRB)# define D

9、DRC_BIT(*(volatile PORTBIT *)DDRC)# define DDRD_BIT(*(volatile PORTBIT *)DDRD)DDRA_BIT.Bit0DDRA_BIT.Bit1DDRA_BIT.Bit2DDRA_BIT.Bit3DDRA_BIT.Bit4DDRA_BIT.Bit5DDRA_BIT.Bit6DDRA_BIT.Bit7DDRB_BIT.Bit0DDRB_BIT.Bit1DDRB_BIT.Bit2DDRB_BIT.Bit3DDRB_BIT.Bit4DDRB_BIT.Bit5DDRB_BIT.Bit6DDRB_BIT.Bit7DDRC_BIT.Bit0D

10、DRC_BIT.Bit1DDRC_BIT.Bit2DDRC_BIT.Bit3DDRC_BIT.Bit4DDRC_BIT.Bit5DDRC_BIT.Bit6# define DDR_PA0# define DDR_PA1# define DDR_PA2# define DDR_PA3# define DDR_PA4# define DDR_PA5# define DDR_PA6# define DDR_PA7# define DDR_PB0# define DDR_PB1# define DDR_PB2# define DDR_PB3# define DDR_PB4# define DDR_PB

11、5# define DDR_PB6# define DDR_PB7# define DDR_PC0# define DDR_PC1# define DDR_PC2# define DDR_PC3# define DDR_PC4# define DDR_PC5# define DDR_PC6# define DDR_PD0DDRD_BIT.Bit0DDRD_BIT.Bit1DDRD_BIT.Bit2DDRD_BIT.Bit3DDRD_BIT.Bit4DDRD_BIT.Bit5DDRD_BIT.Bit6DDRD_BIT.Bit7# define DDR_PD1# define DDR_PD2# d

12、efine DDR_PD3# define DDR_PD4# define DDR_PD5# define DDR_PD6# define DDR_PD7# define _PC2PORTC_BIT.Bit2# define _PA0# define _PA1# define _PA2# define _PA3# define _PA4# define _PA5# define _PA6# define _PA7# define _PB0# define _PB1# define _PB2# define _PB3# define _PB4# define _PB5# define _PB6#

13、 define _PB7# define _PC0# define _PC1PORTA_BIT.Bit0PORTA_BIT.Bit1PORTA_BIT.Bit2PORTA_BIT.Bit3PORTA_BIT.Bit4PORTA_BIT.Bit5PORTA_BIT.Bit6PORTA_BIT.Bit7PORTB_BIT.Bit0PORTB_BIT.Bit1PORTB_BIT.Bit2PORTB_BIT.Bit3PORTB_BIT.Bit4PORTB_BIT.Bit5PORTB_BIT.Bit6PORTB_BIT.Bit7PORTC_BIT.Bit0PORTC_BIT.Bit1# define_P

14、C3PORTC_BIT.Bit3# define_PC4PORTC_BIT.Bit4# define_PC5PORTC_BIT.Bit5# define_PC6PORTC_BIT.Bit6# define_PC7PORTC_BIT.Bit7# define_PD0PORTD_BIT.Bit0# define_PD1PORTD_BIT.Bit1# define_PD2PORTD_BIT.Bit2# define_PD3PORTD_BIT.Bit3# define_PD4PORTD_BIT.Bit4# define_PD5PORTD_BIT.Bit5# define_PD6PORTD_BIT.Bi

15、t6# define_PD7PORTD_BIT.Bit7# define PORTDefine();#endif2 第二种位操作方法typedef unionunsigned char value;structunsigned int bit0:1;unsigned int bit1:1;unsigned int bit2:1;unsigned int bit3:1;unsigned int bit4:1;unsigned int bit5:1;unsigned int bit6:1;unsigned int bit7:1; bit_field; PORT;用法:声明: PORT pa;位操作: pa.bit_field.bit0=p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论