作业帮 > 综合 > 作业

请问用在51单片机上的程序直接编程到AVR的单片机里可以吗?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/05/24 16:41:19
请问用在51单片机上的程序直接编程到AVR的单片机里可以吗?
如果不可以,
请问用在51单片机上的程序直接编程到AVR的单片机里可以吗?
不可以,连长的最像51的mega16都不可以,首先avr不可以直接位寻址.如p1.1=0;可以这么写,但不可以写pa.1=0;虽然都可以用C语言编写.
AVR端口是真正的双向端口,不像51伪双向.这也是AVR的一项优势,只是操作时大家注意DDRn就可以了.真正双向端口在模拟时序方面不如伪双向的方便.
DDRn PORTn PINn n为端口号:ABCDE
DDRn:控制端口是输入还是输出,0为输入,1为输出.个人记忆方法:一比零大所以往外挤,即1为输出,0为输入.
PORTn:从引脚输出信号,当DDRn为1时,可以通过PORTn=x等端口操作语句给引脚输出赋值.
PINn:从引脚读输入信号,无论DDRn为何值,都可以通过x=PINn获得端口n的外部电平.
当引脚配置为输入时,若PORTxn 为"1“,上拉电阻将使能.内部上拉电阻的使用在键盘扫描的时候还要说到.
端口更详细功能及介绍以及端口第二功能请参考数据手册.
端口引脚配置
DDxn PORTxn PUD (in SFIOR) I/O 上拉电阻说明
0 0 X 输入 No 高阻态 (Hi-Z)
0 1 0 输入 Yes被外部电路拉低时将输出电流
0 1 1 输入 No高阻态(Hi-Z)
1 0 X 输出 No输出低电平 ( 漏电流)
1 1 X 输出 No输出高电平 ( 源电流)