- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
avr单片机实验报告(共10篇)
avr单片机实验报告(共10篇)
AVR单片机测温实验报告
青岛科技大学
2012/2013 学年 第 二 学期
课程设计 实验报告
模 块 名 称 AVR单片机课程设计
专 业 电气工程自动化
学 生 班 级 电气121
学 生 姓 名 于呈宾
学 生 学 号 1218020130
学 生 姓 名 巩志成
学 生 学 号 1218020114
指 导 教 师 王泽华
AVR单片机课程设计报告
一.课程设计目的
1、设计要求
本课程着重于把理论学习的知识应用于实际,解决实际的工程问题,培养学生的系统设计能力,提高学生的科研动手能力。本次设计要求深入了解AVR单片机ATmega8a的功能,通过研究开发板的硬件设计,进行相关的硬件连接,选择合适的编程及程序植入方法,用开发板完成列出的各设计课题;初步学习撰写规范的设计文档;提交实验报告。
二.课程设计内容
1、基本要求:
1、 正确连接数LM35测温传感器,LCD JHD 162A液晶显示器或通过串口将数据传递至PC。
2、设定温度告警门限。
3、通过蜂鸣器、发光二极管进行告警显示。
三.课程设计过程
(一)、本实验可以分为三个部分来考虑:
1、LM35测温传感器采集温度显示在LED上。
2、设定温度告警门限。通过蜂鸣器、发光二极管进行告警显示。
3、添加按键控制温度警告门限和各功能汇总。
(二)硬件介绍
1、ATmega8
ATmega8主要特点:
具有8K程序和数据存储器(flash)
1KB内存(SRAM)
512B电擦除可编程只读存储器(EEPROM)
23个可编程的I/O接口
3路定时器/计数器
3通道PWM输出
8路10位ADC
TWI两线接口
USART通用异步串行口
SPI串行外设接口
ISP程序下载接口
ISP接口:在线可编程(in-system programming)接口,占用四条引脚,分别是:RESET,SCK,MOSI,MISO
I/O引脚:有B,C和D口,C,D为8位,B为6位。
2、LM35
是由National Semiconductor 所生产的温度传感器,其输出电压与摄氏温标呈线性关系,转换关系为:0 时输出为0V,每升高1℃,输出电压增加10mV。LM35 有多种不同封装型式,外观如图所示。在常温下,LM35 不需要额外的校准处理即可达到±1/4℃的准确率。其电源供应模式有单电源与正负双电源两种,本实验采用单电源模式,单电源模式在25℃下静止电流约50μA,工作电压较宽,可在4—20V的供电电压范围内正常工作非常省电。
3.LCD JHD 162A液晶显示器
4.电路图
(三)关键代码介绍。
/*******************************文件themo.c*********************/ #define F_CPU 1000000UL
#include util/atomic.h
#include avr/io.h
//lcd.h是lcd头文件
#include lcd.h
//ad.h是ad头文件
#include ad.h
#define SIZE 9 //滑动窗尺寸
#define buffSize 32 //显示缓冲区尺寸
//全局变量的定义
volatile int dataAD; //采样数据
volatile int flagT0 = 0; //中断Timer0运行标志
char dispBuff[buffSize]; //显示缓冲区
int count=0;//采样计数器,每隔0.2s采样一次
/********** 端口初始化 *****************************/
void initPin()
{
PORTB = 0xFF; //B口上拉电阻使能
DDRB = 0x00;
PORTC = 0xFF; //C口上拉电阻使能
DDRC = 0x00;
PORTD = 0xFF; //D口上拉电阻使能
DDRD = 0x00;
_NOP();
}
/**************************************************************************/ /****************定时器初始化和定时器中断入口函数************/
/**************************************************************************/ void
文档评论(0)