1 / 40

2012 年 04 月 25 日

机电控制工程. AVR 单片机基础实验. 2012 年 04 月 25 日. 内容. 认识开发板. 1. 硬件连接. 2. 程序编写. 3. 实现功能. 4. 课程回顾. 5. 1. 认识开发板. 1. 认识开发板. 1. 认识开发板. 输入 按键 PD2 PD3 AD 采集 AD7 输出 LED PC0-PC3 L298 PB1-PB4 ZLG7289 PD5-PD7 通信

Download Presentation

2012 年 04 月 25 日

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 机电控制工程 AVR单片机基础实验 2012年04月25日

  2. 内容 认识开发板 1 硬件连接 2 程序编写 3 实现功能 4 课程回顾 5

  3. 1.认识开发板

  4. 1.认识开发板

  5. 1.认识开发板 • 输入 • 按键 PD2 PD3 • AD采集 AD7 • 输出 • LED PC0-PC3 • L298 PB1-PB4 • ZLG7289 PD5-PD7 • 通信 • 串口 Max3232PD0(RXD), PD1(TXD)

  6. 内容 认识开发板 1 硬件连接 2 程序编写 3 实现功能 4 课程回顾 5

  7. USB口 串口 ISP 串口通信 220V +12V 2.硬件连接

  8. 2.硬件连接 • 注意事项 • 硬件 • 与电脑硬件连接的设备都需要安装驱动:下载线,USB转串口;若安装完成后仍有问题,则重启系统。 • 插拔电源线、下载线、串口线时先关闭开发板电源,关闭上位机软件(串口调试助手) • 下载线可以给开发板供5V电,变压器供12V电,不能采用两种方式同时供电,有可能会烧掉电脑的USB口。使用步进电机时,只能用12V供电。 • 串口和ISP(USB下载)请勿同时使用。 • 软件 • 编译程序之前,配置单片机型号。 • 烧写程序时,选择正确的单片机型号,配置以及熔丝位 • 调入Flash之前,可以查看.hex文件生成的时间来判断是否调入正确

  9. 内容 认识开发板 1 硬件连接 2 程序编写 3 实现功能 4 课程回顾 5

  10. 3.程序编写 • 编程软件 • ICCAVR • AVRStudio(仿真) • 烧写软件 • Progisp • 通信软件 • 串口调试助手

  11. 3.程序编写 • 注意事项 • 三种逻辑运算符:左右两边是关系表达式或者逻辑量 • && 逻辑与(and) • || 逻辑或(or) • ! 逻辑非(NOT) • 位运算:二进制位的运算 • & 按位与 • | 按位或 • ^ 异或 • ~ 取反 • << 左移 >> 右移

  12. 3.程序编写 • 注意事项 • 数制 • 二进制数 0b开头 不区分大小写 0b10100101 • 十六进制数 0x开头 不区分大小写 0xA5 • 十进制数 直接写 165 • 文件 • .c文件:编译的文件,实现功能 • .h文件,头文件:宏定义、全局变量、结构体、函数声明、外部调用

  13. 内容 认识开发板 1 硬件连接 2 程序编写 3 实现功能 4 课程回顾 5

  14. 4.实现功能 • 任务: • I/O输入/输出 • Timer定时计数器 • AD模数转换 • 数码管显示 • 串口通信

  15. 4.1 I/O 输入/输出 • 功能: • 按下按键S1,LED2与LED4亮,LED1与LED3灭; • 按下按键S2,LED2与LED4灭,LED1与LED3亮。 • 所用资源: • PC0-PC3 共阳极 LED1-LED4 • INT0(PD2),INT1(PD3) 下降沿 SW1,SW2 • 其他配置: • 单片机型号:ATMega8 • 晶振:11.0592MHz

  16. 4.1 I/O 输入/输出 1.新建Project,在指定的文件夹内

  17. 4.1 I/O 输入/输出 2.输入文件名,保存

  18. 4.1 I/O 输入/输出 • 3.使用向导 对程序进行初始化 • 设置CPU、晶振频率和中断 • 设置IO口 • 在“Options”中选择 • “Include “main()”” • 用“Preview”预览自动 • 生成的初始化函数和主函数

  19. 4.1 I/O 输入/输出 4.保存生成的.c文件

  20. 4.1 I/O 输入/输出 5.将新建的.c文件添加到Project的Files中,编译

  21. 4.1 I/O 输入/输出 6.在工作区域添加自己的程序 bit 7654 3210 PORTC = 0x05; (0b 0000 0101) bit 7654 3210 PORTC = 0x0A;(0b 0000 1010)

  22. 4.1 I/O 输入/输出 7. Project->Options…->Target->Device Configuration 选择单片机的型号

  23. 4.1 I/O 输入/输出 8.编译程序 编译成功

  24. 4.1 I/O 输入/输出 • 9.烧写程序 • 选择ATmega8 • 编程位选择 • 熔丝位 • 调入.hex文件 • (注意生成时间)

  25. 4.1 I/O 输入/输出 • 编程步骤 • 1. 新建Project,保存 • 2.使用向导配置资源,生成初始化函数,“include main()” • 3. 保存为.c文件 • 4. 添加.c文件到Files中,编译 • 5. 编写自己的代码 • 6. 设备配置,选择单片机型号 • 7. 将.hex文件烧写到单片机中

  26. 4.2 Timer定时计数器 • 功能: • 5Hz的速度控制流水灯LED1-LED4,即每个灯亮0.2s,依次循环 • 所用资源: • PC0-PC3 共阴极 LED1-LED4 • 16位Timer1工作在普通模式下,定时时间5Hz,1024分频,中断使能 • 其他配置: • 单片机型号:ATMega8 • 晶振:11.0592MHz

  27. 4.2 Timer定时计数器 • 向导生成初始化程序

  28. 4.2 Timer定时计数器 • 添加自己的代码 • 单片机主频:f=11.0592MHz • 16位Timer1计数范围:0-65535 • 经1024分频后,Timer1频率为f1=11.059MHz/1024=10799Hz • Timer1计数个数Count=f1/5Hz=2159 • Timer1初值= • 65536-Count=63377=0xF791 • 全局变量step控制灯亮顺序

  29. 4.3 AD模数转换 • 功能: • 采集模数转换的输入(10bit, 0-1023),采集值ad • 所用资源: • PC0-PC3 共阴极 LED1-LED4 • AD7为输入通道,AREF为参考电压源,使能AD开始连续转换,使能中断,选择分频,默认右对齐 • 其他配置: • 单片机型号:ATMega8 • 晶振:11.0592MHz 0<=ad<200 全灭 200<=ad<400 LED4亮 400<=ad<600 LED43亮 600<=ad<800 LED432亮 800<=ad<=1023 LED4321均亮

  30. 4.3 AD模数转换 • 向导生成初始化程序

  31. 4.3 AD模数转换 • 添加自己的代码 • 全局变量 int temp=1023; • 选择通道7:ADMUX • 默认右对齐,temp=ADCL+(ADCH<<8)

  32. 4.4 数码管显示 • 功能: • 按下按键S1,数码管显示“1234”; • 按下按键S2,数码管显示“5678”; • 按下复位,数码管显示“0000”。 • 所用资源: • PC0-PC3 共阴极 LED1-LED4 • INT0(PD2),INT1(PD3) 下降沿 SW1,SW2 • PD5-PD7为数码管驱动芯片提供控制信号 #include “g7289.h” • 其他配置: • 单片机型号:ATMega8 • 晶振:11.0592MHz

  33. 4.4 数码管显示 • 向导生成初始化程序

  34. 4.4 数码管显示 • 添加自己的代码 • #include "g7289.h" • 头文件< >与“”的区别: • 寻找头文件时候的路径顺序不同 • 使用尖括号,先去找系统库目录 • 使用分号,先去找当前目录 • 为了更快的找到头文件,加快编译速度, • 建议系统头文件用尖括号 • 自定义头文件用引号

  35. 4.5 串口通信 • 功能: • 上位机(笔记本)通过串口调试助手发送数据给下位机(单片机),下位机返回同样的数据到上位机显示。 • 所用资源: • UART0:TXD0, RXD0 • 波特率:9600 • 使能发送、接收以及接收中断 • 其他配置: • 单片机型号:ATMega8 • 晶振:11.0592MHz

  36. 4.5 串口通信 • 向导生成初始化程序

  37. 4.5 串口通信 • 添加自己的代码 • 在串口接收中断中,将收到的数据发送出去。

  38. 回顾我们今天学习的内容: AVR开发工具 实验样例 单片机开发板 输入输出实验 编译器ICC 开发板架构 仿真软件AVR Studio 定时器实验 各个功能模块 下载软件progisp 模数转换实验 电源 最小系统 LED 数码管实验 按键 AD采集 数码显示 串口实验 串口通信 电机模块

  39. 下周内容: • 步进电机基础知识与控制 • 时间地点: • 下周四(5月3日)上午10点 B307,带上实验箱与笔记本 • 复习课件内容,爱惜设备!

  40. 谢谢大家

More Related