3_C语言基本构和AVR单片机IO口介绍.pptVIP

  • 5
  • 0
  • 约7.79千字
  • 约 34页
  • 2016-12-18 发布于贵州
  • 举报
AVR单片机的C语言编程 Embedded C Programming 1. C语言体系结构 2. 变量和常量 3. AVR单片机I/O端口特性 简单跑马灯的设计 Flash LED Design 设计内容:共有8个LED需要每隔500MS同时点亮或熄灭,LED接在PORTA口,输出高电平灯亮 ,输出低电平时灯灭。 要求1:自行编程。 要求2:采用自动引导程序进行配置生成软件初始化代码框架,然后填入自己的程序代码。通过CodeVision编译,注意时钟频率。 分组轮流闪烁的跑马灯 实训1:要求按照如下所示的方式1点亮,间隔500ms后,再换成方式2点亮,依此类推,周而复始。 方式1: 方式2: 要求:采用自动引导程序进行配置生成软件初始化代码框架,然后填入自己的程序代码。要求设置时钟频率为2M。下载程序时要求采用内部RC振荡器的熔丝配置。 AVR的IO端口特性 Input Output Port I/O接口及其应用 AVR的IO端口特性 Input Output Port 每个端口为具有可选上拉电阻的双向I/O端口。 每个并行端口有三个相关的I/O寄存器: 数据方向寄存器DDRx 数据寄存器PORTx 端口输入引脚寄存器PINx (其中x对应A、B、C、D四个端口 ) 当端口的某位DDRxn=1 时,则此位定义为输出模式。且输出值等于PORTxn。?(其中n代表位的序号) 当端口的某位DDRxn=0 时,则此位定义为输入模式。 不论如何配置DDRxn,都可以通过读取PINxn寄存器来获得引脚电平。 AVR的IO端口特性 Input Output Port 所有AVR I/O端口都具有真正的读-修改-写的功能:可以通过软件任意设置任何一位的输入、输出模式。并且输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。 所有的端口引脚都具有与电压无关的上拉电阻。并有保护二极管与VCC 和地相连。 如果有引脚未被使用,建议这些引脚赋予一个确定电平,使能内部上拉电阻。 上拉转换 口线输出 AVR单片机I/O口是真正的I/口 仿真器编程下载与熔丝配置的使用 Program Download Fuse Config JTAGICE 可以对支持的器件的FLASH、EEPROM、熔丝位和加密位编程,可以执行芯片擦除、编程、校验、加密的操作 AVRStudio中点击命令: TOOLS-Program AVR/CONNECT 或TOOLS-Program AVR/AUTO CONNECT 注意:如果正在调试,那么也必须点击DEBUG-Stop Debugging 来退出仿真调试程序对JTAGICE 的占用。 仿真器编程下载与熔丝配置的使用 Program Download Fuse Config Program 选项卡 注意,只有带JTAG口功能的AVR才支持JTAGICE 编程 FLASH缓冲区和EEPROM缓冲区可以支持的文件格式: Atmel .rom和.eep Intel HEX 二进制.bin 仿真器编程下载与熔丝配置的使用 Program Download Fuse Config Fuse 选项卡: 功能熔丝位的配置: BOOT区熔丝位的配置:支持引导加载程序的芯片有更多的安全位,可以锁定存储器中的引导加载区。 FLASH锁定位:选择芯片编程使用的安全级别。 注意,请保证“JTAG Interface Enable”一项始终有效,否则目标芯片就将失去与JTAGICE 的通信能力,只有通过并行编程的办法才能重新激活该熔丝位 4. LockBits 选项卡——加密锁定位的设置 注意,如果想要将加密位删除,那么只能对芯片做擦除操作。 仿真器编程下载与熔丝配置的使用 Program Download Fuse Config 实战演练 实训2:如图所示电路,要求按照如下所示的方式1点亮,间隔0.2s后,再换成方式2点亮,依此类推,周而复始。 方式1: 方式2: 设计要求:采用自动引导程序进行配置生成软件初始化代码框架,然后填入自己的程序代码。通过CodeVision编译,要求下载程序时要求采用外部时钟的熔丝配置。 (led2.c) 应用延时函数的详细介绍 Delay Function 使用延时函数前要用#includedelay.h预处理命令。 下面延时函数使用程序循环产生延时,调用它们之前要关闭中断,否则会比预期的延时要长。 要在CodeVisionAVR软件的Project→Configure→C Compiler菜单中设定准确的

文档评论(0)

1亿VIP精品文档

相关文档