作业帮 > 综合 > 作业

AVR端口操作?PORTA = 0x03;DDRA = 0x03;因为系统上电默认DDRA = 0x00;而且先定义了P

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 12:25:22
AVR端口操作?
PORTA = 0x03;DDRA = 0x03;因为系统上电默认DDRA = 0x00;而且先定义了PORTA=0x03,PA1和PA0的内部上拉电阻也使能了.但后来DDRA = 0x03;上拉电阻是不是也就不使能了?还是只要使能整个过程上拉电阻都会使能,不管之后DDRA是输入还是输出
PORTA = 0x03;DDRA = 0x03;
初始化使用了这两条语句,就可以保证上拉电阻使能(当然还有一条指令必须要:SFIOR&=~(1
再问: 为什么一般初始化IO端口的时候,都要有使能上拉电阻的操作?比如驱动LCD,不管是与LCD的控制端口连接还是数据端口,初始化都是能了上拉电阻?
再答: 使用上拉电阻或下拉电阻是为了使IO口状态稳定可靠,使单片机处理不容易出问题。 比如单片机(大部分单片机默认高阻,也有的是有默认高低电平状态但很少)iO口,如果不使用上拉电阻,则默认高阻状态,在输入状态下,如果口线有高频尖峰或下陷,则会是单片机输入产生误码,甚至损坏IO。而加入上拉或下拉则会避免这种情况。