首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

编程点滴:AVR的I/O端口操作测试程序

编程点滴:AVR的I/O端口操作测试程序

下面是操作AVR
I/O端口的代码。

测试程序、操作程序及头文件组成。


/* *******************************************
* File name: main.c
* Function: AVR的I/O端口操作测试程序
* Description: 控制I/O端口的输入输出
* Author & Date: Joshua Chan, 2012/03/23
* *******************************************/
#include <ioavr.h>
#include
#include
#include
#include
#include "io_test.h"

/* 利用PA 0~5 输入状态控制PE, PF相关端口输出 */
void main(void)
{
input2output_setdir();
while (1) {
input2output_setbit();
_WDR();
}
}</io

/* *******************************************
* File name: io_test.h
* Function: AVR的I/O端口操作测试程序
* Description: 控制I/O端口的输入输出
* Author & Date: Joshua Chan, 2012/03/23
* *******************************************/
#ifndef _IO_TEST_H
#define _IO_TEST_H

/* 设置PA 0~5 及PE, PF相关端口方向 */
extern void input2output_setdir(void);

/* 设置PA0~5端口控制PE, PF相关端口输出 */
extern void input2output_setbit(void);

#endif


/* ******************************************* * File name: io_test.c * Function:  AVR的I/O端口操作测试程序 * Description: 控制I/O端口的输入输出 * Author & Date: Joshua Chan, 2012/03/23 * *******************************************/#include #include #include #include #include #include "io_test.h"/* 设置PA 0~5 及PE, PF相关端口方向 */void input2output_setdir(void){    DDRA &= ~0x3F;              /* PA 0~5 输入 */    DDRE |= 0x0C;               /* PE 5~6 输出 */    DDRF |= 0x0F;               /* PF 1~4 输出 */}/* 设置PA0~5端口控制PE, PF相关端口输出 */void input2output_setbit(void){    PORTF_Bit3 = PINA_Bit0; /* IN1的状态传至PF3 */    PORTF_Bit2 = PINA_Bit1; /* IN2的状态传至PF2 */    PORTF_Bit1 = PINA_Bit2; /* IN3的状态传至PF1 */    PORTF_Bit0 = PINA_Bit3; /* IN4的状态传至PF0 */    PORTE_Bit2 = PINA_Bit4; /* IN5的状态传至PE2 */    PORTE_Bit3 = PINA_Bit5; /* IN6的状态传至PE3 */ }

关键字:AVR  I  O端口操作  测试程序
返回列表