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

发布者:心满意足最新更新时间:2016-10-21 来源: eefocus关键字: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
#include
#include
#include
#include
#include "io_test.h"

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




/* *******************************************
* 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端口操作  测试程序 引用地址:编程点滴:AVR的I/O端口操作测试程序

上一篇:编程点滴:AVR外部中断测试程序
下一篇:AVR编程感悟

推荐阅读最新更新时间:2024-03-16 15:16

大联大品佳集团推出基于NXP i.MX8QM的AI影像辨识车辆识别方案
2021年5月13日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下品佳推出基于恩智浦(NXP)i.MX8QM的AI影像辨识与车辆识别方案。 当今社会正逐渐发展成为一个以多媒体为中心,并且高度依赖数据和自动化的经济体系。而汽车产业作为体系中重要的一环,在众多科技的推进下,也正经历着前所未有的智能化升级。随着自动驾驶和辅助驾驶技术愈发成熟,如何帮助客户开发AI应用程式成为新的课题。 由大联大品佳推出的基于NXP i.MX8QM的AI影像辨识与车辆识别方案,采用eIQ 2.0软件开发环境,整合了多家不同算法并提供对应的API供客户开发使用。本方案核心的芯片i.MX8QM可以稳定处理影像辨识、机器学习、资
[物联网]
大联大品佳集团推出基于NXP <font color='red'>i</font>.MX8QM的AI影像辨识车辆识别方案
s3c2440 存储系统和I/O空间认识
用友善之臂的板子已经有一段时间了.对于存储系统和I/O空间的认识也渐渐淡忘了,原因是在做其他开发时,一直用着自带的启动代码,从不关心板子的储存空间配置.最近在做网卡驱动,突然间就不知道网卡的地址是什么了,于是花点时间总结一下.废话少说.开始吧. 1,板上的存储资源 两个32M的SDRAM. 一个2M的NOR FLASH 一个128M(有些是64M)的NAND FLASH 以上这些资源看原理图便知. 2,板上的I/O资源 这块板子上(准确的说是S3C2440)的I/O空间是用存储映射的方法映射到存储空间上的,也就说I/O空间是要占用存储空间的. 3,各种存储器的区别与各自的用途 为什么这块板子上有那么多存储设备呢?原
[单片机]
3.4.2内核下I2C驱动之24CXX实例
at24cxx_dev.c部分: #include linux/kernel.h #include linux/module.h #include linux/platform_device.h #include linux/i2c.h #include linux/err.h #include linux/regmap.h #include linux/slab.h static struct i2c_board_info at24cxx_info = { I2C_BOARD_INFO( at24c08 , 0x50), }; static struct i2c_client *at2
[单片机]
谷歌I/O大会总结:人工智能冲破障碍 未来有更多潜力
  如果要给 谷歌 今年的I/O开发者大会寻找一个主题,那么就是 人工智能 (AI)已经融入了公司所有要做的事情中。从让人印象深刻的Duplex到全新的第三代Cloud TPU,包括在下一代Android P系统中整合的很多功能,机器学习技术将会继续扮演非常重要的角色,而 谷歌 每年在这个领域都会保持对竞争对手的优势。下面就随网络通信小编一起来了解一下相关内容吧。   在这次I/O开发者大会上,许多 谷歌 公司知名的代表人物都纷纷分享了自己对 人工智能 领域的看法。包括Greg Corrado, Diane Greene和Fei-Fei Li谈话,以及Alphabet董事长John Hennessy的演讲,都展示了谷歌最近的突破
[网络通信]
基于AVR的LED数字大屏幕的设计与实现
   1引言   LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,应用越来越广泛。ATMEGA16L单片机是一款基于AVR RISC 的、低功耗CMOS 8 位单片机,具有16K字节的自编程FLASH, 512字节的EEPROM, 1K字节的SRAM, 通过AVR单片机来控制LED的显示,结构简单,应用灵活,并且易于扩展。   2 系统设计原理   2.1 编码设计   编码设计有两个过程:字库提取以及字模编码转换。字库的提取涉及到的两个字库文件,一个为ASC16,专门存放ASCII编码;另一个为HZK16,专门存放汉字字库编码。要提取字库,首先要对它进行初始化,即打开字库。然后根据一个字符提取它相应的编
[应用]
DIALOG半导体为飞思卡尔I.MX 6双核 四核处理器优化电源
德国Kirchheim/Teck和中国北京--(美国商业资讯)--高集成度和创新的电源管理、音频和近距离无线技术解决方案提供商Dialog 半导体有限公司(法兰克福股票交易所代码:DLG)宣布:该公司的单芯片系统电源管理芯片(PMIC)被用于优化基于飞思卡尔多核i.MX 6系列应用处理器的平板电脑、信息娱乐系统、媒体中枢以及其它智能设备的供电需求。 公司的旗舰性PMIC处于飞思卡尔i.MX 6双核/四核应用处理器的电源管理原始设计电路的核心位置,现可通过Dialog DA9053得以实现对i.MX 6Solo/SoloLite的支持,该器件以前曾应用于飞思卡尔i.MX53多媒体平台。飞思卡尔是Dialog战略性合作伙伴之一,并得
[电源管理]
i.MX536打造的电网输电线智能监测设备
  在国民经济的快速发展的形式下,高压输电线路的分布越来越广。迅速增长的输电线路给线路运行人员带来越来越多的巡视维护工作,但对交叉跨越、人员活动密集地、自然灾害区域等地的线路危险点的观察巡视又是必不可少的。目前大多情况仍采用的是定期人工巡视手段,一般巡视期为一个月,而在巡视期内线路及周边的环境情况是不得而知的,这就为输电线路的运行埋下了巨大的安全隐患。近年来事故逐年上升,说明了传统的人工巡视方式已不能满足现有的安全需求。因此急需采用新的技术手段来进行线路的巡视维护工作。在数目繁多的输电线路的情况下,实行状态线路检修手段,维护保障电网的安全运行。   在科技高速发展的今天,我们必须积极开发应用科技技术来提高输电线路的管理水平,输电
[单片机]
用<font color='red'>i</font>.MX536打造的电网输电线智能监测设备
第019课 I2C协议详解及裸机程序分析
第001节_I2C协议与EEPROM I2C协议 I2C在硬件上的接法如下(图19-1)所示,主控芯片引出两条线SCL,SDA线,在一条I2C总线上可以接很多I2C设备,我们还会放一个上拉电阻(放一个上拉电阻的原因以后我们再说)。 我们怎么传输数据,我们需要发数据从主设备发送到从设备上去,也需要把数据从从设备传送到主设备上去,数据涉及到双向传输。 举个例子: 体育老师:可以把球发给学生,也可以把球从学生中接过来。 1.发球:a.老师说:注意了(start) b.老师对A学生说我要球发给你(地址)。 :: c.老师就把球发出去了(传输)。 :: d.A收到球之后,应该告诉老师一声(回应)。 :: e.老师说下
[单片机]
第019课 <font color='red'>I</font>2C协议详解及裸机程序分析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved