- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR单片机位操作的C语言编程实现
/2011 /1 /16 /015
AVR C
AVR
:PORT=(11) :PORTB
=oxfd PB1 :
PORTB1=(14) PB4
PORTBA=(14) PB4
flash
C
:
#define PAO 0
#define PAl 1
#define PA2 2
#define PA3 3
#define PA4 4
#deffine PA5 5
#define PA6 6
#define PA7 7
#define CPL_BIT(xy)(x^=(1y))
#define SET_BIT(xy)(xl=(1y))
#define CLR_BIT(xy)(x=(1y))
#define GET_BIT(xy)(x=(1y))
( ICC
ICC6.31A):MCU AT-MEGA48iom48V.h
:
CPLBIT(PORTA,PA2) //PB2
GET_BIT(PORTA,PA6) //PA6
CLR_BIT(PORTA,PA5) //PA5
SET BIT(PORTA,PAl) //PA1 1
C ICC6.31A
:Volatile
ICC6 31A in-elude
1 4
AVR iom48v.h
AVR ATMEGA48MCU iom48v.h :
/*PortB*/
#define PINB(*(volatile unsignedchar*)ox23)
#define DDRB(*(volatile unsignedchar*)oxx24)
#define PORTB(*(volatile unsignedchar*)ox25)
/*PORT C*/
#define PINC (*(volatile unsignedchar*)ox26)
#define DDRC(*(volatile unsignedchar*)ox27)
#define PORTC(*(volatile unsignedchar*)ox28)
/*Port D*/ #define PIND(*(volatile unsignedchar*)ox29)
#define DDRD(* (volatile unsignedchar*)ox2A)
#define PORTD(*(volatile unsignedchar*)ox2B)
:PINDDRPORT
:
Volatile C :
#define PORTB(*(volatile unSignedchar*)ox25)
iom48v.h
ox25 :PORTB
ox25 PORTBox25
C C
:
:
struct
{
}
;
BYTE_BITC
avr_bit.h (ATMEGA48 B )
//
tyoedef struct ByteBit
{
unsigned Bit0:1
unsigned Bitl:l
unsigned Bit2:1:
unsigned Bit3:1
unsigned Bit4:1
unsigned Bit5:1
unsigned Bit6:1
unsigned Bit7:1
文档评论(0)