- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR单片机(C语言)项目开发实践教程项目4 ATmega16单片机IO接口应用
【知识目标】 了解LED发光二极管的驱动控制方法 了解ATmega16单片机数字I/O口的结构 了解ATmega16单片机数字I/O口的相关寄存器功能 【项目知识点与技能点】 掌握单片机控制LED发光二极管驱动电路的连接方法 掌握ATmega16单片机数字I/O口的相关寄存器功能的设置 掌握单片机控制数字I/O口进行开关量控制的程序编写、调试方法 任务一 项目知识点学习 ATmega16单片机的外部引脚: 二、I/O接口的寄存器 数据方向寄存器:DDRX(DDRA)-----可读写 二、I/O接口的寄存器 端口输入寄存器:PINX(PINA)-----只读 ATmega16单片机的IO引脚结构图: AVR I/O口引脚配置表 三、通用数字I/O接口的设置与读写操作 首先要根据系统的硬件设计情况,设定各个I/O口的工作方式:输入或输出工作方式,即先正确设置DDRx方向寄存,再进行I/O接口的读/写操作。当将I/O接口定义为数字输入口时,还应注意是否需要将该口内部的上拉电阻设置为有效。在设计电路时,如果能利用ATmega16单片机内部的I/O接口上拉电阻,则可节省外部的上拉电阻。 在GCCAVR中,可以直接使用C语言对I/O接口寄存器进行操作。 C语言:位操作 “按位或”用于打开某一位或某几位,即置位 C语言:位操作 “按位取反”用于关闭某一位或某几位,即清零 “按位异或”用于翻转(取反)某一位或某几位 C语言:位操作 “按位与”用于检查某一位或某几位是否为1 DDRA=0xFF;//PA口的0~7位设置为输出 PORTA=0x0F;//PA口的0~3位输出为高电平,4~7位输出为低电平 在GCCAVR的头文件中定义 #define _BV(PXx) (1 (x)) 1(x)表示逻辑“1”左移x位,_BV(PX1)为逻辑“1”左移1位,结果为0_BV(PX7)为逻辑“1”左移7位0 DDRA|=_BV(PA1)|_BV(PA7);//PA口的第1位和第7位置高电平输出 PORTA|=_BV(PA1);//PA口第1位输出高电平 PORTA=~BV(PA7);//PA口第7位输出低电平 2、设置I/O接口为输入方式 DDRA=0x00;//PA口的0~7位设置为输入 PORTA=0xF0;//PA口的4~7位设置内部上拉电阻使能,0~3位的内部上拉电阻没有使用,外部引脚呈现三态高阻输入状态 if(PINA0x80) //判断PA口第7位的高低电平状态 四、举例 任务2 LED闪烁灯控制 一、任务要求: 利用ATmega16单片机数字I/O口,编程实现控制一个LED发光二极管的闪烁亮灭,通过编写程序,可改变LED发光二极管闪烁的频率。 二、硬件电路 三、程序流程 任务3 LED开关灯控制 一、任务要求: 利用ATmega16单片机数字I/O口,编程实现用一个开关控制LED发光二极管的亮灭,开关闭合时LED亮,开关断开时LED熄灭。 二、硬件电路 三、程序流程 任务4 汽车转向灯控制 一、任务要求: 利用ATmega16单片机数字I/O口,编程实现模拟汽车转向灯的控制,当开关在中间原位时左右两个转向灯均不亮,当开关拨到上面时右转向灯闪烁点亮,当开关拨到下面时左转向灯闪烁点亮。 二、硬件电路 三、程序流程 任务5 霓虹灯控制 一、任务要求: 利用ATmega16单片机数字I/O口,编程实现8个LED灯的左右来回循环点亮,形成走马灯形式。(也可根据需要编程实现多种花样的LED灯点亮形式) 二、硬件电路 三、程序流程 任务6 继电器控制照明设备 一、任务要求: 利用ATmega16单片机数字I/O口驱动继电器,控制照明系统。 二、硬件电路 * * 《单片机应用技术》 任务一 项目知识点学习 任务二 LED闪烁灯控制 任务三 LED开关灯控制 任务四 汽车转向灯控制 任务五 霓虹灯控制 任务六 继电器控制照明设备 项目四 ATmega6单片机I/O口应用 ATmega16单片机有32个通用I/O接口,分为PORTA、PORTB、PORTC、PORTD四个8位接口,分别对应于芯片上的32个I/O引脚。所有的I/O接口都有复用功能。第一功能均作为数字通用I/O接口使用,而复用功能分别用于中断、定时/计数器、USART、I2C、SPI、模拟比较、捕捉等应用。 Vcc, GND 2 XTAL1, XTAL2 2 RESET 1 AVCC,GND 2 AREF 1 PA0—PA7 8 PB0—PB7
您可能关注的文档
- 面向对象的Java与UML课件Chapter 08The primary models output.ppt
- 面向对象的Java与UML课件Chapter 16Inputs and outputs of the construction process.ppt
- 经济法实务第七章 劳动法律制度.ppt
- 经济法10-2消费者法.ppt
- 电气控制与PLC应用技术第七章西门子S7-200PLC.ppt
- 电气控制与PLC应用技术第九章PLC网络通信.ppt
- 电气控制与PLC应用技术第八章西门子S7-300PLC.ppt
- 财务会计第五章 固定资产(二稿完).ppt
- 宽带接入网技术基础第17章 Cable Modem基本安装与操作实训.ppt
- 财务会计第七章 负债(二稿).ppt
文档评论(0)