- 1
- 0
- 约6.04千字
- 约 14页
- 2016-12-03 发布于贵州
- 举报
WinAV 开源且免费 开发必备
单片机AVR的编程工具很多,有C,ASM,PASCAL,BASIC等等。除ASM由ATMEL公司免费提供外,其它大多数的工具都是需要收费的。而C编译器更是其中收费最高的编译器。但也有例外,那就是GCC——它不但免费而且功能也几乎是“最强”的。所以我作为入门者,就开始学习它了!
一、 单片机编程
1、 单片机与电脑的编程有些许不同,它除一些必要地算法外,更重要的是对端口的操作。如开关量采集、开关量控制输出、模拟量的输入、通讯的操作、显示器与键的控制等等都需要操作端口。2、 电脑存储永久数据一般都在硬盘等介质中。而单片机则存放在EPROM、EEPROM、FLASH等存储器中。3、 通讯接口的编程对单片机来说是至关重要的,特别在工控、网络等的应用中犹为重要。4、 单片机的编程与电脑编程相比有诸多限制。这就要求编程者对单片机硬件有一定的了解。
二、 AVR单片机编程
1、 AVR单片的硬件:我们以ATMega 16为例为说明一下AVR单片机吧!
这是ATMEGA 16的引脚及其功能图(来自其DataSheet)
A、 从图中我们可以看出有4个8位端口共32个引脚,大多有双重功能。它们分别命名为PORTA、PORTB、PORTC、PORTD。
B、 PORTA具备普通IO口功能外还有AD转换功能,其精度可以达到10位,即采集到的ADC的值最大不超过1023(0-1023),对应外面实际电压值的精度需要一定的简单换算(主要看其参考电压)。如参考电压为2.5V,则有2.5V为1023,则其精度为2.5V/1023就是0.00244V。如参考电压为5V,则有5V/1023也就是0.0049V。
C、 PORTB口除了基本的IO功能外,特别要提的是PB4、5、6、7的功能,它是SPI(同步串行接口),更重要的是,它可以用来下载程序。
D、 其它的暂且不说,必竟不是AVR单片机的介绍文章嘛。
2、 AVR单片机的软件:
软件当然是用来控控制这些接口的运作及其代表的含义的。这也是个非常大的问题,如果你一点都不懂软件,请也找本计算机编程的书看看吧。
三、 开始AVRGCC编程吧
好了,下面我们来看一个简单的程序吧。
在WinAVR的Programmer NotePad 2中的图:
图2
执行Make All后,生成HEX文件(本例中的文件名2.HEX)。以下是它的全过程。
make.exe all
-------- begin --------avr-gcc (GCC) 3.4.1 //告知avr-gcc的版本号Copyright (C)2004 Free Software Foundation,Inc. //编译器所属于公司及其版权信息This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//这是ELF文件的一些信息,ELF文件用于调试。Size before: //转换前的ELF文件信息2.elf :section size addr.text 208 0.data 0 8388704.bss 0 8388704.noinit 0 8388704.eeprom 0 8454144.stab 780 0.stabstr 1469 0Total 2457
Converting to AVR Extended COFF: 2.cof//将ELF文件转换成AVR Studio能够接受的格式avr-objcopy --debugging --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 -O coff-ext-avr 2.elf 2.cofDiscarding local symbol outside any compilation unit: .do_copy_data_startDiscarding local symbol outside any compilation unit: .do_copy_data_loopDiscarding local symbol outside any compilation unit: .do_clear_bss_startDiscardin
您可能关注的文档
- Strut2.1+Spring3.0+hibernate3.3全自动整合教程.doc
- Strut2的一些需要注意的问题.doc
- Strut2的拦截器.doc
- Stw22硅低碳钢的开发.doc
- staub铁锅说明书以及菜谱.doc
- SUJU王超级经典语录汇总.doc
- Surviin在胆管癌组织中的表达及其与VEGF关系的相关研究.doc
- SUV将成宾利最畅销车型?.doc
- SW804D高清播出切换器.doc
- Step y Step,我们一起学习函数与公式.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
- 2025年美容美发十年行业数据洞察报告.docx
- 护理交接班制度.pptx VIP
- 初中电学总复习初中电学总复习.doc VIP
- 北京邮电大学《机器学习》2023-2024学年期末试卷.doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 2024年锡林郭勒职业学院单招职业倾向性考试题库必考题.docx VIP
原创力文档

文档评论(0)