锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

AVR轻松学ICCAVR PORTUES仿真

时间:2024-04-30 22:37:09

Atmega16

IO相关寄存器 学习每种单片机要从控制各IO口的高低电平开始,avr系列与IO有关的寄存器每组有三类,PORTn ,n , PINn,及OR内PUD位,PORTn与DDRn是控制端口的状态,对应关系如图。
PINn为读端口当前高低电平状态。
现在以keil中51系列为例,定义端口然后对等关系定义端口在ICCARV中。 51 : Sbit led=P1^2; led=0; led=1; AVR: #define ledh PORTA|=(1<led=1; #define ledl PORTA&=~(1<led=0; PINn return PINn; if(PINn==XX) 中断向量及中断程序写法
ICCAVR中断函数书写格式;
#pragma interrupt_handler timer0_ovf:10 //定时器溢出 Void timer0_ovf(void) 中断源中断向量 {} 外部中断 外部中断有三个,分别为I0,INT1INT2;对应端口为PD2PD3PB2;首先设置端口状态INT0为例,PORTD|=(1< DDRD&=~(1< 中断产生条件设置 外部中断01CR Bit0:3 ISC00 ISC01 ISC10 ISC11
外部中断
2 MCUCSR Bit :6 ISC2



INT0于INT1 引脚中断产生条件是一样的如上表
INT2 ISC20时低电平触发,写1时高点批评触发 中断控制寄存器: GICR Bit 5:7 INT2,INT0,INT1
需要哪个中断时将其写1
GICR|=(1< 中断标志位寄存器:GIFR Bit5:7 INTF2/INTF0/INTF1
全局中断打开,中断控制位打开,引脚上发生合适的电平变化,对应的中断标志位就会置位,对其写1实现清零。
下边写个INT0的程序发生中断时将PORTA取反
本章到这里,不定期更新,后边有、定时器,UART,AD,I,、IIC总线。更有Atmega128等着你,不要走开,哈哈哈


精彩的生活怎么能没有你的存在MCU
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章