HJ-2G AVR单片机学习笔记1 概述

合集下载

HJ-2G开发板使用说明书

HJ-2G开发板使用说明书

AVR单片机开发板使用说明书(V3.0版)HJ-22G单片机开发板简介第1章HJ-1.1前言尊敬的用户:您好!欢迎使用HJ-2G开发板!恭喜您成为慧净电子产品的用户!我们非常高兴您选择了本款产品。

我们将为你提供最真诚最优质的服务,让您在以后的日子里尽情发挥你的创意!为了让您更好的使用本款产品,并将它的功能发挥到极限,我们特意为您提供此产品的学习笔记,使用产品前请您详细阅读,重头学起。

该操作说明。

希望您通过此学习笔记能够将您手中的产品性能发挥到最优。

谢谢!慧净电子1.2免责声明1.2.1为了安全有效的使用该产品,请您使用前仔细阅读以下信息。

1.2.2本产品可以通过USB供电,供电电流<500mA,自行外接电源时请注意电源极性和电压参数。

电源适配器必须使用原装产品。

1.2.3请不要在带电时拔插芯片以及相关器件。

1.2.4自行扩展搭接导致不良故障,慧净电子不负任何责任。

1.2.5产品不定时升级,所有更改不另行通知客户,本单片机研究工人室有最终解释权。

1.3学习板使用的基本流程1.3.1学会使用HJ-ISP基础下载工具1.3.2学会使用ICC编程软件1.3.3认识板上各种器件并了解其基本作用1.3.4看懂HJ-2G电路图1.3.5了解数字电路基础1.3.6学习c语言1.3.7了解单片机结构1.3.8读程序并自己更改功能学习变通应用1.1.44产品概述本套开发板为慧净电子工程师综合市场上现有的多种AVR开发板的功能之优点,结合工程师们多年项目经验之需求,特别为AVR单片机爱好者们研制的具有强大功能的A VR单片机学习开发板。

该开发板集常用的单片机外围资源、集成多功能烧写器。

配合慧净电子出品的配套视频教程(在录制当中)及提供的资料和例程,可以让您在最短的时间内,全面的掌握AVR单片机编程技术。

板子的供电使用一根USB线与电脑连接,使用方便,性能稳定。

最大的特点是配套有慧净老师亲自讲解的视频教程,让学习者轻松上手。

学习笔记-avr单片机C编程1

学习笔记-avr单片机C编程1

学习笔记-avr单片机C编程1这几天在看AVR 单片机的书。

ASURO 的项目的编程是建立在已有的成熟函数上,所以导致我对AVR 单片机的运行机理(中断、定时器的使用)不甚了解。

突然一个个超声波模块的程序放在眼前,才发现我连AVR 单片机的了解基本上等于零。

另外一个项目需要用mega128 控制直流电机,还有和无线、有线遥控器的通信,电路(模块)需要自己搭起来,那么就必须知道AVR 单片机的原理和编程。

和已经学过的51 单片机相比,MEGA 系列单片机是十分高级的单片机,功能强大,因而在构造和使用上也复杂了一些。

存储器区别,AVR 分为5 个部分,访问指令上有区别。

输入输出,51 是准双向口,每个端口只有一个寄存器。

而AVR 的I/O 口是标准双向口,每个端口有三个寄存器,DDRX(输出使能),PORTX(输出数据,上拉使能?),PINX(输入管脚)。

定时器,51 的定时器两种用法,即以晶振频率的十二分频信号作为输入的定时器工作方式,或以外部引脚INT0,INT1 上输入信号的计数器工作方式。

而AVR 的定时器除了普通的定时/计数功能外,还有一些增强的功能,如:比较匹配(?),PWM 调制器,由ICP 引脚或模拟比较器触发的捕捉功能(?)。

在选择输入信号上,分频比有1、8、64、256、1024 几种,作为计数器使用,既可上升沿触发,也可以下降沿触发。

如下,一部分和定时器相关的寄存器T0: TCCR0: CS02 CS01 CS00 分频比T1: TCCR1A: COM1X1/0 PWM11/0 TCCR1B: ICNC1,CTC1,ICES1 TCNT1 OCIX 等等 C 中的一些位操作已经模块化了,如PORTB|=(1PWM 脉宽调制波PWM 是脉冲宽度调制的简称。

实际上,PWM 波也是一个连续的方波,但在一个周期中,其高电平和低电平的占空比是不同的。

一个典型PWM 的波形如图8-15 所示。

AVR学习笔记

AVR学习笔记

AVR学习笔记前言:学习一块单片机,我们要几项准备工作:1.开发软件(熟悉开发软件操作流程,基本上开发软件都差不多的,学会了一款,再学其它的就会很顺手了(新建工程、新建设计文件、把源文件加到工程里面、最后设置一些参数)2.编程语言(这个就不用说了,先学语法规则,能够熟练掌握到自己写的代码没有语法错误,然后再逐步把自己的想法驾驭到编程语言上)3.硬件(硬件包括的范围很广,不仅包括你所要学的单片机还有单片机的外围电路所用到的器件),最好要学一款仿真软件。

我们始终要记住学单片机绝对不可以纸上谈兵,一定要实践,就是把自己所写的代码下载到板上,看看实际效果。

开发板可以买,也可以自己做!我喜欢自己做。

实验一:点亮发光二极管1.avr单片机的i/o端口1)学习单片机的主要任务就是了解、掌握单片机i/o端口的功能,以及如何正确设计这些端口与外围电路的连接,从而能够组成一个嵌入式系统,并编程、管理和运用他们完成各种各样的任务。

2)atmega16有4个8位的双向i/o端口pa、pb、pc、pd,他们对外对应32个i/o引脚,每一位都可以独立地用于逻辑信号的输入和输出。

在5v工作电压下,输出高点平时,每个引脚可输出达20ma的驱动电流;而输出低电平时,每个引脚可吸收最大为40ma的电流,可以直接驱动发光二极管(一般的发光二极管的驱动电流为10ma)和小型继电器等小功率器件。

avr大部分的i/o端口都具备双重功能(有的还有第三功能)。

其中第一功能是作为数字通用i/o接口使用,而复用的功能可分别与片内的各种不同功能的外围接口电路组合成一些可以完成特殊功能的i/o口,如定时器、计数器、串行接口、模拟比较器、捕捉器、usart、spi等。

3)avr单片机的每组i/o口都搭载存有三个8为寄存器,分别就是:方向掌控寄存器ddrx、数据寄存器portx、输出插槽寄存器pinx(x=a/b/c/d).i/o口的工作方式和整体表现特征由这三个i/o寄存器掌控。

AVR单片机的概述

AVR单片机的概述

软件介绍:天祥电子历时2个月倾力打造“10天学会AVR单片机和C语言程序”,自从我们推出“10天学会51单片机和C语言”以来,受到了广大电子爱好者的好评,然而学会51单片机仅仅是给自己打下了一个良好的基础,后面还有AVR、PIC、ARM、DSP、SOPC在等着大家,为了能够帮助您尽快的过渡,我们这款视频教程已经为您架好了桥梁,学习AVR会起到事半功倍的效果。

AVR单片机无论从性价比和功能上都非常强大,很适合项目的设计开发,目前AVR在市场上的占有率已经非常高。

视频内容介绍:第一讲:开发板和软件的操作使用1、介绍配件。

2、安装软件(ICC AVR 和AVR STUDIO)及其使用,括新建工程、程序下载,仿真调试;整板测试;板上资源。

3、着重介绍一下USB接口的仿真器。

第二讲:AVR单片机的概述和C语言的基础知识1、AVR单片机的概述包括它的优点、片上资源。

2、C语言的基础包括电平特性、2进制与16进制的表示及转换、二进制数的逻辑运算,数据类型,运算符。

3、着重讲一下特有的BIT()操作,C中的各种语句。

4、介绍一下AVR单片机IO口的配置。

第三讲:点亮发光二极管、驱动蜂鸣器、继电器1、首先讲解一下原理图上开关电路、复位电路、时钟电路;2、讲解573工作原理,3、首先点亮一个发光二极管,然后让一个二极管亮灭变化。

4、编写函数证明573的工作原理:锁住后不导通就不能再更新数据。

5、编写延时函数,软件仿真查看延时的精确时间6 子函数的编写(分带形参和不带形参)。

7、编写流水灯函数。

8、蜂鸣器,继电器的工作原理并编写程序。

第四讲:数码管工作原理1、共阴共阳数码管内部结构,显示原理。

2、用数字万用表标定数码管的段选和位选3、编写程序使1个数码管上显示数字4、编写程序在6个数码管上滚动显示数字5、重点讲解动态显示,保持时间,以及扫描频率对闪烁和亮暗程度的影响。

第五讲:键盘检测原理(比较复杂)1、键盘作用,检测原理,如何消抖,独立键盘检测程序编写。

第3课 HJ-2G AVR单片机学习笔记 程序编写编译环境

第3课 HJ-2G AVR单片机学习笔记 程序编写编译环境

第3课ICC程序编写编译环境基于HJ-2G AVR学习板学习AVR单片机必需要安装的第二个软件:程序编写编译环境ICC AVR1、下面说一说安装方法,在配套资料(网上下载)找到ICC AVR直接点击按装,装好后输入正版注册码,这样就可以正常使用ICCAVR软件编写编译。

2、在桌面上打开ICCAVR软件,出现如下图片:请点开工程,并新建一个工程。

3、下图为新建一个工程,请保存在C盘目录下,输入工程名称(只能是中文),点击保存。

4、新建立一个C文件,在下图空白处输入你的C源码,输完后请保存C文件。

5、加入刚才建好的C文件到工程当中,方法如下图。

6、设置一下编译器,如下图。

7、芯片用ATmega168、最后一步了,只要你按上面的一步一步做,最后点一下编译键,就可以正常编译成功,如果不成功,请查一查你的C源码是否正确,还有工程是不是在中文目录下。

9、总结:本课主要学习了程序编写编译环境ICC AVR的安装,设置,还有编译方法,开始学单片机时,新手不会写C源码,可以复制慧净写好的C源码到项目中,练习多次,ICCAVR 软件你就会使用了,以后学习中,每一课都会用到本软件,只要你认真跟着《慧净1天入门AVR单片机学习笔记》学习,多多练习,相信你很快速学会AVR单片机。

慧净AVR单片机免费共享学习笔记目录(配有视频教程,请在慧净空间下载)第一部1天入门AVR单片机学习笔记第1课:AVR单片机学习基本流程第2课:AVR单片机程序烧写方法第3课:程序编写编译环境第4课:简单C语言基础知识第二部10天学会AVR单片机学习笔记第1课:IO端口操作第2课:流水灯第3课:单个数码管显示第4课:多个数码管同时显示第5课:独立按键第6课:定时器第7课:外部中断第8课:矩阵键盘第9课:继电器控制第10课:LED点阵第三部AVR单片机进阶学习笔记第1课:LCD1602液晶第2课:喇叭音乐播放第3课:IIC24c02第4课:无线发送接收红外解码第5课:PWM调光调速第6课:AD模数转换第7课:DA数模转换第8课:数字时钟DS1302第9课:串口通讯原理第四部AVR单片机扩展学习笔记第1课:18b20温度传感器第2课:PS2键盘协议第3课:4相步进电机第4课:5110液晶第5课:12864液晶第6课:TFT彩屏液晶第7课:DS卡应用第8课:16X32点阵第9课:HJ-JTAG仿真器应用第10课:用HJ-2G做51单片机实验HJ-2G AVR学习笔记全部33课(配有视频教程),想学AVR单片机的朋友,只要你花一点时间跟着上面的学习笔记一步一步来学习,相信你很快速学会AVR单片机,还有C语言知识。

AVR单片机一些学习笔记

AVR单片机一些学习笔记

AVR 单片机一些学习笔记
下面是自己在学习AVR 单片机时的学习经验,分享出来给大家,一起
学习。

1、AVR 单片机采用RISC 架构,8051 单片机采用CISC 架构。

前者速度为后者的2~4 倍,为流水线操作指令。

2、AVR 单片机有32 个通用寄存器(地址在RAM 区从$0000 开始到$001F),其中有6 个(最后6 个)合并为3 个16 位的X,Y,Z 寄存器,用来存放地址指针,Z 寄存器还可以寻址程序存储器。

3、哈佛结构,131 条机器指令。

4、延迟开机功能。

5、内部自带RC 振荡器,可提供1/2/4/8MHZ 的工作时钟。

6、FLASH+EEPROM+SRAM+SPI+USART+TWI+PWM+RTC+10 位ADC+模拟比较器+JTAG。

7、堆栈指针向下增长,51 单片机向上增长。

8、程序存储器按字来访问,擦除和写入以页为单位。

AVR第一章概述11年

AVR第一章概述11年
• ATtiny、AT90与ATmega分别对应低、中、高档三个系列 。 引脚从8脚到64脚,价格从几元到上百元人民币,内部配置 也大不相同,但其基本结构和编程方法是一样的 。
14
§1. 4 AT90S8535单片机
•AT90S8535片内有4k字的Flash程序存储器。程序存储器一 次读取一个字(16位),速度加快了,FLASH程序存储器 可反复擦写修改程序1000次以上不损坏,便于新产品开发。
• 单片机内部一般包含有中央处理器CPU、时钟电路 和中断控制电路、程序存贮器、数据存贮器、并行口、 定时器以及持殊I/O部件,CPU通过内部总线和其余的 模块相连。
• 根据CPU字长(即一次数据运算或数据传送的位数) 不同,单片机可以分为4位机、8位机、16位机和32位 机等。 • 根据用途存贮器可分为程序存贮器和数据存贮器, 单片机应用系统一般需要较大容量的程序存贮器和较少 的数据存贮器。
从市场发展的角度看 单片机即微控制器(MCU)与 微处理器(MPU)的区别。
MPU:推出新一代,便淘汰旧一代。 MCU:新旧交替不明显。市场表现如下:
1) 最早的4位机仍保持一定的增长; 2) 主流市场:8位机; 3) 未来市场16/32位机的占有率将会上升。
13
§1. 3 AVR系列单片机简介
11
§1. 2 单片机的主要应用领域
1.自动控制 2.智能仪器仪表 3.数据采集系统 4.计算机外设控制器 5.家用电器等 ……
• 单片机由于体积小、价格便宜、性能优越、可靠性高,
已广泛地渗透到了社会生产服务的各种领域,其应用前景 是无限光明的。
12
单片机的主要发展方向
有上百家厂商,生产几千种型号的单片机;单片机向 着高速度、低功耗、低成本、多档次、使用方便和外围接 口丰富等方向发展。

第1章AVR单片机概述

第1章AVR单片机概述

第1章A VR单片机概述A VR单片机是Atmel公司于20世纪90年代中后期开发出的一种8位单片机。

这种单片机采用RISC内核,具有使用灵活、高性能、低功耗等特点。

此外,在某些情况下,A VR 处理器甚至可以独自成为一种片上系统,完成极其复杂的功能。

目前,该型号单片机已经展示出极其强大的生命力,在国防、工业、农业、企业管理、交通运输、日常生活等各个领域得到了广泛应用。

本章主要介绍A VR单片机的发展历史及其主要应用,围绕A Tmega128(L)单片机,分析其结构、主要特点、性能封装和引脚定义。

1.1 AVR与51单片机单片机嵌入式系统的硬件基本构成分为两大部分:单片微控制器芯片和外围的接口电路。

其中,单片微控制器是构成单片机嵌入式系统的核心。

为了强调其控制属性,也可以把单片机称为微控制器MCU。

在国际上,“微控制器”的叫法似乎更通用一些,而我国比较习惯使用“单片机”这一名称。

单片机因将计算机的主要组成部分集成在一个芯片上而得名,具体地说就是把中央处理单元CPU、随机存储器RAM、只读存储器ROM、中断系统、定时器/计数器以及I/O接口电路等主要微型机部件集成在一块芯片上。

因此,一片芯片构成了一个基本的微型计算机系统。

由于单片机芯片的微小体积,极低的成本和面向控制的设计,使得它作为智能控制的核心器件被广泛地应用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域中的电子设备和电子产品中。

可以说由单片机为核心构成的单片机嵌入式系统已成为现代电子系统中最重要的组成部分。

早期的单片机都是8位或4位的,其中最成功的是Intel的8031,因为其简单可靠而性能不错获得了很大的好评。

此后,在8031上发展出了MCS-51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

20世纪90年代后随着消费电子产品的大发展,单片机技术得到了巨大的提高。

01-HJ-2G 概述

01-HJ-2G 概述

供电指示灯
11.0592Mhz 晶振
HJ-2G 开发板实物图 v0.01
以上是从 HJ-2G 手册载来的图片顺便表上一些指示(破解了改手册的 PDF 保护,真的很抱歉)。 老实说 HJ-2G 上的资源也是挺丰富的,作为入门,提高到开拓真的已经很足够了。如果你问本人, 它有什么好处?我会斩钉铁齿的回答~便宜(事实上,我加上邮费从中国飞来马来西亚,也不能算实 际 的 便 宜 )。
1.2.13 DA5615 - DA 转换芯片
原理图
手册中的实物图没有找到早它的身影,但是它确实是存在的。 1.2.14 各种接口
实物图
原理图
ISP 下载接口
实物图
原理图
JTAG 仿真接口
实物图
原理图
PS2 接口
实物图
原理图
18B20 接口
实物图
原理图
SHIT10 湿温传感器接口
1.2.15 复位电路&晶振接口
1.2.2 锁存器,8 位 LED
实物图
原理图
作为所有学习单片机的入门,流水灯,跑马灯,8 位 LED 再也熟悉不过了。继承郭老师 的 TX-1C 开发板的传统,锁存器 一是用来控制 LED 二是用来扩展 IO 口。
1.2.3 锁存器,数码管
实物图
原理图
数码管的用处大家可想也是心知肚明了,就是“指示”(Indicate)。在这里锁存的用处仅 是为了扩展 IO 口,一个是段选锁存器一个是位选锁存器。(数码管的驱动方式真的很熟 悉)。在这里说一点题外话,我在购买 AVR 学习板之前浏览过很多的 AVR 学习板,而 数码管的驱动方式也是非常多,有的直接用 IO 控制段选然后使用 Transistor 控 制 位 选(这 个可以参考 ednchina 的 CAN 学习板),有的则使用 74HC595 来驱动,除此之外还有使 用专用的芯片来驱动...驱动的方法总之就是各种各样了。如果你问我,到底哪一个好呢? 我会回答,了解驱动数码管的原理才是最重要的。

AVR单片机嵌入式系统原理与应用实践——学习笔记上课讲义

AVR单片机嵌入式系统原理与应用实践——学习笔记上课讲义

A V R单片机嵌入式系统原理与应用实践——学习笔记AVR单片机嵌入式系统原理与应用实践学习笔记1.AVR单片机的基本结构1.1.单片机的基本组成1.1.1.单片机的基本组成结构单片机的基本组成单元➢CPU➢程序存储器➢数据存储器➢I/O接口CPU与各基本单元通过芯片内的内部总线连接。

一般情况下,内部总线中的数据总线宽度(或指CPU字长)也是单片机等级的一个重要指标。

内部总线:数据总线、地址总线、控制总线。

1.1.2.单片机的基本单元与作用1)MCU单元MCU单元部分包括CPU、时钟系统、复位、总线控制逻辑等电路。

➢CPU:➢时钟和复位电路:➢总线控制电路:2)片内存储器单片机的存储器一般分为程序存储器和数据存储器,它们往往构成互不相同的两个存储空间,分别寻址,互不干扰。

单片机的内部结构通常使用哈佛体系结构,在这种体系中采用分开的指令和数据总线以及分开的指令和数据空间,分别采用专用的总线与CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐量。

3)程序存储器程序存储器用于存放嵌入式系统的应用程序。

4)数据存储器单片机在片内集成的数据存储器一般有两类:随机存储器RAM、电可擦除存储器EEPROM。

➢随机存储器RAM:➢电可擦除存储器EEPROM5)输入输出端口➢并行总线I/O端口:➢通用数字I/O端口:➢片内功能单元的I/O端口:➢串行I/O通信口:➢其他专用接口:6)操作管理寄存器管理、协调、控制、操作单片机芯片中各功能单元的使用和运行。

1.2.ATmega16单片机的组成1.2.1.AVR单片机的内核结构“快速访问”意味着在一个周期内执行一个完整的ALU操作。

AVR的算术逻辑单元ALU支持寄存器之间、立即数与寄存器之间的算术与逻辑运算功能,以及单一寄存器操作。

每一次运算操作的结果将影响和改变状态寄存器(SREG)的值。

ALU操作➢从寄存器组中读取两个操作数➢将执行结果写回目的寄存器➢操作数被执行1.2.2.ATmega16的外部引脚与封装I/O引脚共32只,分成PA、PB、PC、PD4个8位端口,它们全部是可编程控制的多功能复用的I/O引脚。

AVR入门笔记1

AVR入门笔记1

大家好,写这个文档是想教你们如何写出单片机的第一个程序,同时对比一下单片机的C语言和你们在Visual Studio下编写的C语言的不同之处。

单片机编程也是用C语言,但是跟PC上编写风格还是有一些不同,大家要注意。

首先大家看一段十分简单的PC上的C语言程序。

#include <stdio.h>void main(void){int a = 1, b = 2, c = 3;int sum = 0;sum = a + b + c;printf("%d\n",sum);}大家再看一段十分简单的单片机C语言程序。

为了方便,我把PC上的C语言称为“C语言”,把单片机上的C语言称为“C51语言”。

/*****************************************************This program was produced by theCodeWizardAVR V1.25.9 ProfessionalAutomatic Program Generator?Copyright 1998-2008 PavelHaiduc, HP InfoTech s.r.l.Project :Version :Date : 2011/9/10Author : ZHOUQIANCompany : ZHOUQIANComments:Chip type : ATmega88P //AVR芯片型号Program type : ApplicationClock frequency : 7.372800 MHz //晶振频率Memory model : SmallExternal SRAM size : 0Data Stack size : 256*****************************************************/#include <mega88p.h> //该头文件定义了寄存器#include <delay.h> //该头文件引入延时函数void main(void){DDRD.6 = 1; //什么是DDRD?PORTD.6 = 0; //什么是PORTD?while (1) //while(1)是死循环,为什么会用它?{PORTD.6 = 1; //LED亮delay_ms(1000); //为什么要延时?PORTD.6 = 0; //LED灭delay_ms(1000);}}大家很容易观察发现,C语言习惯设一些变量,例如int a,b,c,然后对这些变量进行读写,而C51却对DDRD和PORTD进行读写,DDRD和PORTD是寄存器,AVR大概有60个寄存器,通过操作它们我们可以控制AVR芯片的某个引脚输出高电平或低电平,可以让某个引脚检测外部输入了什么电平或边沿,可以让单片机和别的设备互相收发信号,可以让单片机测出某个引脚上输入的电压值,可以让某个引脚发出特定频率和占空比的波形来控制电机,等等。

AVR单片机学习一

AVR单片机学习一

AVR单片机学习(一)一、基础篇单片机的基本要素CPU核(如:51核 AVR核 M430核)ROM(READ ONLY Memory 绕母)RAM(random accessMemory随机访问寄存器)片上外设总线CPU核:相当于电脑的CPU吧、就是执行从ROM中取指令。

这东西有几个指标非常重要一、主频(如51核是2MHZ晶振12分频过来就是2MHZ、AVR 是20MHZ(快达到DSP水平了)MSP430F1系列的是8MHZ)二、指令集(CISC(复杂) RISC(精简)当然精简指令集比复杂执行效率高很多个人觉得缺点实现的功能少)三、字长(就是一次能处理二进制数据的位数我们单片机一般是8位 16位 AVR和51都是8位)ROM:相当于电脑的硬盘、存储程序用的指标就是容量大多数是flash 结构基本都混淆说了一、容量单位一般KB位单位二、高级指标、自编能力(就是程序在运行中可以自己擦出flash然后更改flash中的内容的能力一般我们用不到)如:51(不具备自编能力)-->;8KBMSP430F1101(具备)-->; 1KBAVR(具备)--->; 16KBRAM:数据存储器、相当于计算机的内存、ROM中的程序在运行时快速的存取数据、目前大多数单片机为SRAM结构计算机室SDRAM结构。

指标也是容量一般 B(字节) KB(千字节)一、容量、如: 51单片机512字节MSP430F1101 128字节AVR 1KB 1千字节主要是程序运行时调用一些变量啊调用一些数组等都是存在RAM中的。

片上外设:相当于电脑的接口,鼠标接口、显示器接口等常见的片上外设模块有外部中断、定时器/计数器、URAT(异步串行)、SPI(同步)IIC(2线的串行口)ADC及模拟比较器等。

如:一下三种价格10元左右的单片机一、89C52就只有外部中断定时器计数器 UART二、MSP430F1101外部中断定时器计数器 ADC三、AVR 外部中断、定时器/计数器、URAT(异步串行)、SPI(同步串行)IIC(2线的串行口)ADC 及模拟比较器。

AVR单片机笔记

AVR单片机笔记

A VR单片机笔记说明:主要使用的编译环境为IAR,使用A VR的ATmega16 和128目录IO (2)时钟: (2)MCU控制寄存器-MCUCR (2)MCU控制和状态寄存器-MCUCSR (2)看门狗定时器控制寄存器-WDTCR (3)外部中断控制寄存器A -EICRA (4)外部中断控制寄存器B -EICRB (4)外部中断屏蔽寄存器-EIMSK (4)外部中断标志寄存器-EIFR (5)中断矢量表 (5)在IAR环境中AVR中断程序的格式 (6)定时器 (6)定时器/计数器0和2: (6)定时器/计数器1和3: (7)使用IAR调试注意事项 (7)IIC(TWI) (8)o8515.h头文件 (10)IOPort A-G:都含有内部上拉电阻数据:PORTA-G;方向DDRA-G;PINA-G 时钟:XTAL 分频控制寄存器-XDIVMCU控制寄存器-MCUCRMCU控制和状态寄存器-MCUCSR• Bit 4 – JTRF: JTAG 复位标志通过JTAG 指令A VR_RESET 可以使JTAG 复位寄存器置位,并引发MCU 复位,并使JTRF 置位。

上电复位将使其清零,也可以通过写”0” 来清除。

• Bit 3 – WDRF: 看门狗复位标志看门狗复位发生时置位。

上电复位将使其清零,也可以通过写”0” 来清除。

• Bit 2 – BORF: 掉电检测复位标志掉电检测复位发生时置位。

上电复位将使其清零,也可以通过写”0” 来清除。

• Bit 1 – EXTRF: 外部复位标志外部复位发生时置位。

上电复位将使其清零,也可以通过写”0” 来清除。

• Bit 0 – PORF: 上电复位标志上电复位发生时置位。

只能通过写”0” 来清除。

看门狗定时器控制寄存器-WDTCR• Bits 7..5 – Res: 保留保留位,读操作返回值为零。

• Bit 4 – WDCE: 看门狗修改使能清零WDE 时必须先置位WDCE,否则不能禁止看门狗。

【VR虚拟现实】征服嵌入式系列之AVR单片机笔记

【VR虚拟现实】征服嵌入式系列之AVR单片机笔记

目录第一课:不同类型单片机开发的比较 (1)第二课:AVR单片机的优点 (3)第三课:AVR单片机头文件简介与使用 (6)第四课:AVR单片机I/O口的4种位操作方法 (8)第五课:AVR熔丝位简介 (11)第六课:如何把51单片机的程序移植到AVR单片机 (14)第七课:AVR单片机中断的原理和使用 (15)第八课:AVR单片机片内EEPROM的原理和使用 (22)第九课:AVR单片机片内ADC的原理和使用 (27)第十课:AVR片内定时器的原理和使用方法 (36)第十一课:AVR单片机TWI总线的原理 (48)第十二课:AVR单片机USART通信接口的原理和使用 (55)第十三课:AVR单片机驱动LCD1602液晶显示器 (65)第十四课:AVR单片机驱动DS18B20 (73)第十五课:AVR单片机驱动DS1302 (80)第十六课:不同型号的AVR单片机之间程序的移植方法 (88)ATmega16第一课:不同类型单片机开发的比较第二课:AVR单片机的优点注意:上面的DDB7应该是DDRB7.点亮第一个LED灯#include<iom16v.h>#include<macros.h>void main(){DDRB=0xff;PORTB=0xff;DDRA=0xff;PORTA=0xfe;while(1);}第三课:AVR单片机头文件简介与使用几种操作方法的比较#include<iom16v.h>#include<macros.h>void main(){DDRB=0xff;PORTB=0xff;DDRA=0xff;PORTA=0;PORTA|=(1<<2);PORTA|=BIT(3);PORTA|=BIT(PORTA);}第四课:AVR单片机I/O口的4种位操作方法闪烁灯#include<iom16v.h>#include<macros.h>void delay(unsigned char z){unsigned char x,y;for(x=0;x=z;x++)for(y=0;y<110;y++);}void main(){DDRB=0xff;PORTB=0xff;DDRA=0xff; PORTA=0xff; while(1){PORTA&=~0x80; delay(500); PORTA|=0x80; delay(500);}}用按键控制灯的闪烁#include<iom16v.h> #include<macros.h> void main(){DDRB=0xff; PORTB=0xff;DDRA=0xff; PORTA=0xff;DDRD=0;PORTD=0xff;//PD口设置为带上拉的输入while(1){if(PIND&0x40)//00000100PORTA|=BIT(7);elsePORTA&=~BIT(7):}}第五课:AVR熔丝位简介第六课:如何把51单片机的程序移植到AVR单片机第七课:AVR单片机中断的原理和使用#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned intuchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(){uint x,y;for(x=0;x<1000;x++)for(y=0;y<500;y++);}void init(){DDRB|=BIT(6);PORTB|=BIT(6);DDRA=0xff;PORTA=0xff;MCUCR|=0x02;//设置外部中断0的触发方式GICR|=BIT(6);//使能外部中断DDRD&=~BIT(2);PORTD|=BIT(2);//设置为带上拉电阻的输入SREG|=BIT(7);}void main(){init();while(1){PORTA|=BIT(0);delay();PORTA&=~BIT(0);delay();}}#pragma interrupt_handler int0_isr:2void int0_isr(){PORTA=0;delay();delay();delay();PORTA=0xff;}第八课:AVR单片机片内EEPROM的原理和使用#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned intuchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucahr code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};//位选是用74HC138译码器控制的uchar code table[]={0,0,0,0,0,0,0,0};void delay(){uint x;for(x=0;x<300;x++);}void init(){DDRB=0xff;PORTB=0;DDRC=0x78;//01111000PORTC=0;}void display(ucahr *p){uchar i;for(i=0;i<8;i++){PORTB=smg_du[*p];p++;PORTC=smg_we[i];delay();}}void EEPROM_write(uint addr,uint adata) {SREG&=~BIT(7);//关闭总中断while(EECR&BIT(EEWE));EEAR=addr;EEDR=adata;EECR|=BIT(EEMWE);EECR|=BIT(EEWE);SREG|=BIT(7);}uchar EEPROM_read(uchar addr) {uchar edata;SREG&=~BIT(7);while(EECR&BIT(EEWE)); EEAR=addr;EECR|=BIT(EERE);edata=EEDR;return edata;}void main(){uchar i;init();i=EEPROM_read(2);i++;EEPROM_write(2,i);table[0]=i;while(1){display(table);}}第九课:AVR单片机片内ADC的原理和使用#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned intuchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucahr code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};//位选是用74HC138控制的uchar code table[]={0,0,0,0,0,0,0,0};void delay(){uint x;for(x=0;x<300;x++);}void init(){DDRB=0xff;PORTB=0;DDRC=0x78;//01111000PORTC=0;void display(uchar *p) {uchar i;for(i=0;i<8;i++){PORTB=smg_du[*p];p++;PORTC=smg_we[i];delay();}}void adc_init(){DDRA&=~BIT(0); PORTA&=~BIT(0); ADMUX|=0x40; ADCSRA|=0xe8; SFIOR=0x00;SREG|=BIT(7);void data_pro(uint temp_l,uint temp_h) {uint temp1,temp2;temp1=temp_h*256;temp2=temp1+temp_l;table[3]=temp2/1000;temp1=temp2%1000;table[2]=temp1/100;temp2=temp1%100;table[1]=temp2/10;table[0]=temp2%10;}void main(){init();adc_init();while(1);}#pragma interrupt_handler adc_isr:15void adc_isr(){uint adc_l,adc_h;adc_l=ADCL;adc_h=ADCH;display(table);}第十课:AVR片内定时器的原理和使用方法用普通模式实现秒表#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned intuchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucahr code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};//位选是用74HC138控制的uchar code table[]={0,0,0,0,0,0,0,0};uchar num;void delay(){uint x;for(x=0;x<300;x++);}void init(){DDRB=0xff;PORTB=0;DDRC=0x78;//01111000PORTC=0;}void display(ucahr *p) {uchar i;for(i=0;i<8;i++){PORTB=smg_du[*p];p++;PORTC=smg_we[i];delay();}}void timer1_init(){TCCR1B=0x04;//256分频TCNT1H=0x8f;TCNT1L=0x80;TIMSK|=BIT(2);SREG|=BIT(7);}void main(){init();timer1_init();while(1){display(table);}}#pragma interrupt_handler timer1_isr:9 void timer1_isr(){num++;if(num==60)num=0;table[0]=num%10;table[1]=num/10;TCNT1H=0x8f;TCNT1L=0x80;}用CTC模式输出1KHZ的方波. #include<iom16v.h>#include<macros.h>#define uchar unsigned char #define uint unsigned int void main(){DDRD=0x30;TCCR1B=0x09;TCCR1A=0x50;//选择模式4 OCR1A=3685;}#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned intvoid main(){DDRD|=0x30;TCCR1A=0x63;TCCR1B=0x1b;//选用模式15OCR1A=575;//频率为200HZOCR1B=115;//占空比为1/5}第十一课:AVR单片机TWI总线的原理第十二课:AVR单片机USART通信接口的原理和使用#include<iom16v.h>#include<macros.h>#define uchar unsigned char #define uint unsigned int#define fosc 7372800 uchar rdata,flag;void uart_init(uint baud) {uint a;UCSRC=0x86;a=fosc/16/baud-1; UBRRL=a%256;UBRRH=a/256;UCSRB=0x98;SREG|=BIT(7);}void uart_send(uchar data) {while(!(UCSRA&BIT(5)));UDR=data;while(!(UCSRA&BIT(6)));UCSRA|=BIT(6);}#pragma interrupt_handler uartrece_isr:12 void uarterce_isr(){UCSRB&=~BIT(7);rdata=UDR;flag=1;UCSRB|=BIT(7);}void main(){uchar i='h';uart_init(9600);//uart_send(i);while(1){if(flag){flag=0;uart_send(rdata);}}}第十三课:AVR单片机驱动LCD1602液晶显示器#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned int#define RS_CLR PORTC&=~BIT(4)#define RS_SET PORTC|=BIT(4)#define RS_OUT DDRC|=BIT(4)#define RW_CLR PORTC&=~BIT(5)#define RW_SET PORTC|=BIT(5)#define RW_OUT DDRC|=BIT(5)#define E_CLR PORTC&=~BIT(6)#define E_SET PORTC|=BIT(6)#define E_OUT DDRC|=BIT(6)uchar table1[]="0123456789876543"; uchar table2[]="abcdefg!@#$%^&*(";void delay_nms(uint nms){延时n个ms,具体函数自己写}void write_com(uchar com){RS_SET;RW_SET;E_CLR;RS_CLR;RW_CLR;PORTA=com;delay_nms(1);//延时1msE_SET;delsy_nms(1);E_CLR;}void write_data(uchar data) {RS_CLR;RW_SET;E_CLR;RS_SET;RW_CLR;PORTA=data;delay_nms(1);//延时1ms E_SET;delsy_nms(1);E_CLR;}void init(){DDRA=0xff; PORTA=0;RS_OUT;E_OUT;RW_OUT;delay_nms(20); write_com(0x38); delay_nms(5); write_com(0x38); delay_nms(5); write_com(0x38); write_com(0x38); write_com(0x08); write_com(0x01); write_com(0x06); write_com(0x0c); }void main(){uchar i;init();write_com(0x80);for(i=0;i<16;i++){write_data(table1[i]);delay_nms(2);}write_com(0x80+0x40);for(i=0;i<16;i++){write_data(table2[i]);write_com(0x80);}while(1);}第十四课:AVR单片机驱动DS18B20 注意:DS18B20对时间要求非常高,延时函数一定要精确#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned int#define DQ_IN DDRC&=~BIT(2)#define DQ_OUT DDRC|=BIT(2)#define DQ_SET PORTC|=BIT(2)#define DQ_CLR PORTC&=~BIT(2)#define DQ_R PINC&BIT(2)uchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucahr code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};//位选是用74HC138控制的uchar code table[]={0,0,0,0,0,0,0,0};void delay(){uint x;for(x=0;x<300;x++);}void init(){DDRB=0xff;PORTB=0;DDRC=0x78;//01111000 PORTC=0;}void display(uchar *p) {uchar i;for(i=0;i<8;i++){PORTB=smg_du[*p];p++;PORTC=smg_we[i];if(i==1) PORTB|=BIT(7);else PORTB&=~BIT(7);delay();}}void delay_nus(uint nms) {延时n个us,具体函数自己写}uchar ds18b20_reset() {uchar i;DQ_OUT;DQ_CLR;delay_nus(500);DQ_SET;delay_nus(100);DQ_IN;i=DQ_R;delay_nus(500);return i;}void ds18b20_write_byte(uchar value) {uchar i;for(i=0;i<8;i++){DQ_OUT;DQ_CLR;delay_nus(10);if(value&0x01){DQ_SET;}delay_nus(100);DQ_SET;value=value>>1;}}uchar ds18b20_read_byte(){uchar i,value;for(i=0;i<8;i++){value=value>>1;DQ_OUT;DQ_CLR;delay_nus(10);DQ_SET;DQ_IN;if(DQ_R){value|=0x80;}delay_nus(50);}return value;}void data_pro(uint temp) {uint a;table[2]=temp/100;a=temp%100;table[1]=a/10;table[0]=a%10;}void main(){uchar i,j,k;uint temp;init();while(1){ds18b20_reset();ds18b20_write_byte(0xcc);ds18b20_write_byte(0x44); delay_nus(2000);ds18b20_reset();ds18b20_write_byte(0xcc);ds18b20_write_byte(0xbe);i=ds18b20_read_byte();//低字节j=ds18b20_read_byte();//高字节temp=j*256+i;//26.8temp=temp*0.625;//268data_pro(temp);for(k=0;k<20;k++){display(table);}}}第十五课:AVR单片机驱动DS1302#include<iom16v.h>#include<macros.h>#define uchar unsigned char#define uint unsigned int#define SCK_CLR PORTB&=~BIT(0)#define SCK_SET PORTB|=BIT(0)#define SCK_OUT DDRB|=BIT(0)#define RST_CLR PORTD&=~BIT(6)#define RST_SET PORTD|=BIT(6)#define RST_OUT DDRD|=BIT(6)#define IO_CLR PORTB&=~BIT(1)#define IO_SET PORTB|=BIT(1)#define IO_OUT DDRB|=BIT(1)#define IO_IN DDRB&=~BIT(1)#define IO_R PINB&BIT(1)uchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucahr code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};//位选是用74HC138控制的uchar code table[]={0,0,0,0,0,0,0,0};uchar time_data[7]={10,6,4,17,11,59,35};//年周月日时分秒ucharwrite_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80}; ucharread_add[7]={0x8d;0x8b,0x89,0x87,0x85,0x83,0x81};void delay(){uint x;for(x=0;x<300;x++);}void init(){DDRB=0xff;PORTB=0;DDRC=0x78;//01111000PORTC=0;}void display(uchar *p){uchar i;for(i=0;i<8;i++){PORTB=smg_du[*p];p++;PORTC=smg_we[i];delay();}}void delay_nus(uint nms){延时n个us,具体函数自己写}void write_ds1302_byte(uchar dat) {uchar i;IO_OUT;for(i=0;i<8;i++){if(dat&0x01) IO_SET;else IO_CLR;SCK_SET;SCK_CLR;dat=dat>>1;}}uchar read_ds1302(uchar add) {uchar i,value;RST_CLR;SCK_CLR;RST_SET;write_ds1302_byte(add);IO_IN;for(i=0;i<8;i++){value=value>>1;if(IO_R) value=value|0x80;SCK_SET;SCK_CLR;}RST_CLR;return value;}void write_ds1302(uchar add,uchar dat) {RST_CLR;SCK_CLR;RST_SET;write_ds1302_byte(add);write_ds1302_byte(dat);RST_CLR;}void set_rtc(){uchar i,k;for(i=0;i<7;i++){k=time_data[i]/10;time_data[i]=time_data[i]%10;time_data[i]=time_data[i]+k*16;}write_ds1302(0x8e,0x00);//去掉写保护for(i=0;i<7;i++){write_ds1302(write_add[i],time_data[i]);}write_ds1302(0x8e,0x80);//加上写保护}void read_rtc(){uchar i;for(i=0;i<7;i++)time_data[i]=read_ds1302(read_add[i]); }void time_pro(){table[0]=time_data[6]%16;table[1]=time_data[6]/16;table[2]=16;table[3]=time_data[5]%16; table[4]=time_data[5]/16; table[5]=16;table[6]=time_data[4]%16; table[7]=time_data[4]/16; }void main(){uchar j;init();SCK_OUT;RST_OUT;set_rtc();while(1){read_rtc();time_pro();for(j=0;j<20;j++)display(table);}}第十六课:不同型号的AVR单片机之间程序的移植方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章HJ-2G概述1.1学习笔记说明(本学习笔记跟据慧净会员akuei2第一版修改而成,感谢akuei2对单片机事业的支持)下面引用原作者开始学习HJ-2G AVR单片机。

在还没有开始故事之前,听我的几个故事。

在这个地球上,很遗憾打从我一出生我并不是好孩子而且还浪费了很多时间在少年时期,当我醒悟的时候自己已经是18岁了,原本我想一切都是太迟了,在那个年龄的阶段我的思想慢慢的步入黑暗,很多次我都尝试挣扎可是我却失败了(就像我在全国高中大考SPM上失败了)。

中学毕业了,自己的成绩却不理想所以无法进入大学,可能是我的语言科失败,还是我国-马来西亚的土著政权的问题。

在那一天我领着自己的临时成绩表面对自己的失败,我...我鼻子酸了起来...某个夜里,我向着自己承诺自己要努力,从此我踏上单片机的道路。

1.2HJ-2G概述(V2.0版-主要功能简介)HJ-2G开发板实物图v0.01老实说HJ-2G上的资源也是挺丰富的,作为入门,提高到开拓真的已经很足够了。

如果你问本人,它有什么好处?我会斩钉铁齿的回答~便宜(事实上,我加上邮费从中国飞来马来西亚,也不能算实际的便宜)。

1.2HJ-2G 板上资源介绍1.2.1ATMEGA16(单片机最小系统)这个就是HJ-2G 的核心处理器了,全部的IO 口都引出了,尤其是VCC 和GND,这样在后期自己开发模块的时候真的很方便呀。

我记得郭老师的开发板仅引出PA~PD 的IO 口而已?不清楚就...算了。

这里就不详细介绍了,因为以后会慢慢认识的。

1.2.2锁存器,8位LED作为所有学习单片机的入门,流水灯,跑马灯,8位LED再也熟悉不过了。

继承郭老师的TX-1C 开发板的传统,锁存器一是用来控制LED 二是用来扩展IO 口。

实物图原理图实物图原理图1.2.3锁存器,数码管实物图原理图数码管的用处大家可想也是心知肚明了,就是“显示”(Indicate)。

在这里锁存的用处仅是为了扩展IO口,一个是段选锁存器一个是位选锁存器。

(数码管的驱动方式真的很熟悉)。

在这里说一点题外话,我在购买AVR学习板之前浏览过很多的AVR学习板,而数码管的驱动方式也是非常多,有的直接用IO控制段选然后使用Transistor控制位选,有的则使用74HC595来驱动,除此之外还有使用专用的芯片来驱动...驱动的方法总之就是各种各样了。

如果你问我,到底哪一个好呢?我会回答,了解驱动数码管的原理才是最重要的。

1.2.4矩阵键盘,独立键盘HJ-2G矩阵键盘有是有可是独立键盘呢?呵呵,软件是无限的。

在编程的过程中,仅要随便将PD4~PD7一种一个IO设置为输出低电平,独立键盘就出现了,(注:V3.0版会增加独立键盘跳线)。

实物图原理图1.2.5液晶1602接口从以上的实物图看来,左边的是调节别光亮度用的变位器,而右边是1602的接口。

这个没有什么特别,就不详细的介绍了(V3.0版直接调好LCD1602对比度)。

1.2.6串口接口,MAX232串口接口和MAX232是串口(UASRT )实验必须用到的几个实物。

试验中会慢慢了解的。

1.2.7DS1302时钟电路看到以上的时钟电路就很安慰了,记得我使用TX-1C 学习时钟芯片(名字忘记了),并口的链接,老实说我还为找不到杜邦线而烦恼(我这里鸟不生蛋的地方没有卖什么杜邦线的,自己制作的杜邦线也是一个悲剧),串口=爱死。

实物图原理图实物图原理图实物图原理图1.2.8电机驱动ULN2003说实话HJ-2G 还集成了步进电机驱动芯片,我也吃了一“斤”,从郭老师那里购入电机模块老师说也挺贵的...关于电机应该也离不开PWM 吧?1.2.9EEPROM 24C02学习过c51的同学应该也不陌生了吧,有关IIC 的试验。

1.2.10继电器实物图HJ-2G 中还有常用的继电器电路,现在就可以写程序控制输出大电流的负载了。

1.2.11蜂鸣器实物图原理图实物图(电池左边那个才是)原理图实物图原理图1.2.12红外一体化接收头1838这个跟红外线解码试验有关系,可以做无线控制实验。

1.2.13TLC5615-DA 转换芯片实物图原理图最新的10位DA串口模块,工业最常用的一种电路。

1.2.14各种接口实物图原理图实物图原理图实物图原理图ISP 下载接口JTAG 仿真接口实物图原理图实物图原理图PS2接口18B20接口1.2.15复位电路&晶振接口为什么说晶振也有接口呢?HJ-2G 的晶振没有直接焊在板子上,而是可以更换的~这样的设计真的很人性化~而且购买的时候还赠送12Mhz 的晶振。

1.2.16USB 下载模块&开关电路&USB 接口(板内已集成USB-ISP下载器)很喜欢这USB 下载模块,使用起来真的很方便,该电路我不熟悉就不多说了。

实物图原理图实物图原理图SHIT10湿温传感器接口LCD12864接口复位实物图晶振实物图原理图USB 下载模块原理图USB 接口&开关电路原理图实物图1.2.17人性化设计,还可以同时支持51单片机实验赠加AVR-51转接板后可以用来学习8051单片机了,AT89S52单片机直接支持在线下载程序,不需要另购下载器。

1.2.18本章最后说一说HJ-2G开发板相关共享资料。

一:HJ-2G共享资料(/hjmcu)1、HJ-2G AVR单片机仿真电路开发板下载/hjmcu/blog/item/130ae73ff52d0a3670cf6c2b.html2、HJ-2G AVR单片机学习笔记下载/hjmcu/blog/item/2c1eeb8c7552fa19b31bba35.html3、HJ-2G AVR单片机学习程序下载/hjmcu/blog/item/21ef2a10a9357375ca80c435.html4、HJ-2G AVR单片机在线视频/hjmcu/blog/item/07d9c9db2fedfad0b6fd4835.html5、邮购网址,HJ-2G原价380元,助学价只要198元/auction/item_detail-0db1-776af3bfc86b0aad1d24b10d82fd0aaf.htm二:HJ-2G功能简介HJ-2G AVR/51多功能二合一开发板,是慧净科技精心设计,用来免费助学的开发板,增加以下硬件电路重新设计的开发板、升级不升价、性价比更高,慧净助学价只要198元(原价380元),可以同网上共享的《10天学AVR单片视频》同步学习,HJ-2G比<10天学会AVR单片机视频>中还多了以下10个电路。

1、步进电机驱动电路。

(可以做机器人控制实验)这个电路系统别人买到70元。

HJ-2G是免费赠送的。

2、直流电机驱动电路。

3、改良过的ISP,JTAG仿真接口(接错线不会烧坏下载器/仿真器)。

4、AT24C02内存电路。

5、红外线电路。

6、温湿传感器接口电路。

7、多功能复位电路。

8、支持51单片机实验(另加一个转接板,一个STC89C52单片机IC)。

9、支持AT89C52单片机的ISP接口电路。

10、内部集成USB下载电路笔记本可以直接使用(不需要花钱购买USB下载线了)。

三:HJ-2G硬件资源1、8个红色贴片LED发光管:(做交通灯、流水灯、信号输出指示等实验)。

2、6个高亮度共阴数码管:(做时钟,温度,湿度,电机马达转速显示实验)。

3、LCD1602液晶显示接口。

4、LCD12864汉显液晶显示接口。

5、继电器控制系统。

6、直流、步进电机控制系统。

7、集成三个573锁存器8、EEPROM芯片AT24C02,可学习IIC总线的读写。

9、DS1302实时时钟模块(含纽扣电池座供电),可做电子钟和万年历等。

10、MAX232串口通讯模块,可以与计算机串行通信和硬件仿真,同时也可对STC单片机下载程序,还可以实现主从系统中多机互连,一口多用,非常方便。

11、JTAT仿真接口。

12、4X4距阵建盘,软件控制4个独立建盘,可做各种键盘控制扫描实验,实现对系统复杂的控制。

13、ISP下载接口,可实现对AT89S5X和AVR单片机下载程序14、多功能复位电路。

15、可以更换晶振的接口。

16、蜂鸣器模块,可做各种发声,音乐,闹钟提醒实验。

17、USB下载功能(板内集成USBASP下载器),不需要另购下载线。

18、DS18B20温度传感器接口,可做温度测量显示实验和温度检测控制器等。

19、1838红外线,红外发射与接收模块,配合常用的遥控器,可做红外编码解码实验。

20、PS/2键盘和鼠标接口,可学习标准键盘鼠标的控制技术。

21、32个IO口全部引出,方便自己自由扩展。

22、USB供电接口。

23、锁紧插座装置,方便单片机的安装和卸取。

24、集成了最新的10位DA数模TLC5615转换器。

四:实验程序60多个汇编与C语言参考程序源码,30多个配套程序源码,20多个头文件源码、可以直接用于项目开发,毕业设计,源码资料全部免费共享,可以到慧净论坛下载,并配套有C51实验程序免费下载。

五:推荐的单片机开发板1、HJ-1G51/AVR二合一单片机学习板简装版点击购买链接全功能版点击购买链接2、HJ-2G AVR/51二合一单片机实验板点击购买链接3、HJ-3G51/AVR三合一单片机开发板点击购买链接4、HJ-ISP51/AVR下载编程器点击购买链接5、HJ-JTAG AVR仿真器(可以配合HJ-2G学习板使用)点击购买链接六:HJ-2G学习笔记目录与使用说明目录1.HJ-2G板子概述2.ICCAVR环境设置3.LED实验4.数码管显示实验5.独立键盘,阵列键盘5.2.外部中断键盘6.1602实验7.07-TC1,CTC,PWM,QPWM实验8.AD转换实验8.2.DA转换实验9.IIC_TWI实验ART.11.PS2键盘12.DS130213.EEPROM(补充TC0)14.DS18B2015.Watch Dog笔记的要求:第一,最好有C51的基础第二,对C语言有一定的掌握第三,可以自由思考HJ-2G笔记说明:笔记的内容也挺多的,几乎每一个重要的细节都添加上去了。

所以读的时候需要耐性一点。

笔记有PDF和WPS两种文档,自己可以经过第二次加工完成真正属于自己的笔记。

笔记虽然可以自由修改,但是还是尊重一下我的辛劳,1个月的时间写笔记,这活一点也不容易。

除此之外,还献上练习的实力程式。

都是自己一手一字敲入,完全是原创的东西。

还是那样一句话:源码可以自由修改,但是还是尊重一下我的辛劳。

该笔记有什么特色?故个人一向的习惯,都是喜欢将程式源码简化到“不用头大”就可以看明白的程度,换句话说编程的风格都很直接。

一些关键的部分笔记都记录到很细。

补充:我编辑的笔记自认不是最好的笔记,但是可以承认它却是HJ-2G的攻略本。

相关文档
最新文档