Board logo

标题: 编程点滴:AVR的I/O端口操作测试程序 [打印本页]

作者: yuchengze    时间: 2016-10-22 10:04     标题: 编程点滴: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端口操作  测试程序




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0