求单片机ATmega32一个简单的程序PB口输出0X55、0Xaa。

求单片机ATmega32一个简单的程序PB口输出0X55、0Xaa。,第1张

mega的端口控制比51略复杂

主要三个寄存器 PORTx DDRx PINx

PORTx是输出寄存器

DDRx 是方向寄存器,0是输入,1是输出

PINx是输入寄存器

输出的逻辑关系是 DDRx对应位=1为推挽输出,=0为高阻态输入

在DDRx=0时,PROTx对应的位表示接通内部上拉电阻

如DDRA=0x0fPORTA=0x3A;tmp=PINA;

则低四位输出1010

高四位为输入,PA.4和PA.6内部上拉

tmp为PA的电平状态

int main(void)

{DDRA=0xff

while(1)

{PORTA=0xaa

delayms(1000)

PORTA=0x55

delayms(1000)

}

}

另外51和avr主要是cpu架构不一样,其他没觉得太多差别。

你是要编单片机程序的hex文件,还是要把hex文件下载到单片机中。

前者可以用ICCAVR、WINAVR、AVRSTUDIO等,后者可以用广州双龙SLISP,ICCAVR和AVRSTUDIO里面也有下载功能。

把hex文件下载到单片机里必须有下载线。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11120882.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存