首页>问题汇总>端口基础知识 - 叶光伟
叶光伟 - 端口基础知识

一些端口操作的运算符总结,我初学时总结出来的东西,端口操作是单片机操作的基本要素。 以下给出不是完整的程序,只是对端口操作的一些理解。

一个简单的AVR程序
#include <iom16v.h>
#include <macros.h>

void main()
{
PORTA = 0x0F; //给PA口赋值,让PA口低四位为1,高四位为0
while(1)
;
}

 

本程序的作用是把PA口的值设为0x0F。
1、程序中以井号开头的语句#include <iom16v.h> 是包含特定的头文件,叫预处理指令,i0m16v表示使用的是mega16,macros.h包含了必须的avr操作命令。
2、C语言的程序是由函数构成的,如上面的那个void main(),前面的void表明函数没有返回值。每一个c程序里面里有且只有一个main()函数,系统启动后就从main()开始运行。
3、函数内部的内容以大括号“{”和"}"扩起来,每句语句用分号“;”结束,若分号前面没有内容,编译之后也无任何操作语句。
4、C程序中可以加入一些说明文字,单行以双斜扛“//”开始,如果是多行,就用"/*"开始,以“*/”结束,如 /*注释 */ 。
5、函数可以有参数,一律放在小括号内。
6、利用C语言可以轻松的对AVR的设备组件进行操作,如程序中的PORTA = 0x0F;
7、任何一个AVR C程序都必须是一个无限循环,否则程序会沿着程序存储区一直运行,直至溢出程序存储区,程序从头运行。

 

#include <iom64v.h>

void main(void)
{
PORTA=0xff; //在定义DDRA之前定义PORTA将影响上拉电阻的使用。 1为使用上拉电阻,0为不使用。
DDRA=0xff; //输出 模式 ,IO口上,1为输出,0为输入。

PORTA=0xf0; //等
PORTA&=~0xf0; //清零
PORTA|=0x77; //置一
PORTA^=0x70; //翻转
(P & 0x80)==0x80; //按位与 判断p的第七位是否是一,是则成立
}

 




Copyright © 2019 作者:张泽zzhang1@gzu.edu.cn. 大学教师. 网站备案号:黔ICP备18012493号