深海的小鱼儿

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  AVR_Proteus

摘要:单片机最小系统 单片机最小系统设计 AVR基本硬件线路设计与分析 (ATmega16功能小板) AVR DB-CORE Ver2.3 Atmega16开发板 本站商城提供本最小系统销售:99元 AVR学习套件 AVR学习板 AVR开发板 easyavr m16 ,ATmega16 开发板 AVR学习板 Mega16 核心板 (特价)。 基本的AVR硬件线路,包括以下几部分: 1。复位线路 2。... 阅读全文
posted @ 2014-04-05 21:36 深海的小鱼儿 阅读(5678) 评论(0) 推荐(0) 编辑

摘要:1. 按键的绘制和封装怎么画?如下图: 回答:注意元件的画法不要看错了,封装采用Miscellaneous Devices.IntLib【Footprint View】中的DPST—4 2.蜂鸣器的绘制和封装 3.RS232的原件和封装,如下图: 回答:Miscellaneous Connectors.IntLib 库里面有D Connector 9,与此一样。 4. PS2的绘制和封装 ... 阅读全文
posted @ 2014-04-05 21:33 深海的小鱼儿 阅读(880) 评论(0) 推荐(0) 编辑

摘要:ATmega64 TQFP封装现主要有以下型号:ATmega64L-8AU、ATmega64L-8AI、ATmega64-16AU、ATmega64-16AI。 型号标识说明: (1)带“L”与不带“L”的区别:“L”是“Low”的缩写,表示它可以支持低电压,它支持的电压范围为:2.7-5.5V。不带“L”的则表示支持电压范围为:4.5-5.5V。 (2)后缀的数字部分代表MCU可以支持的最高系统... 阅读全文
posted @ 2014-04-01 20:45 深海的小鱼儿 阅读(1055) 评论(0) 推荐(0) 编辑

摘要: 阅读全文
posted @ 2011-10-23 19:09 深海的小鱼儿 阅读(1310) 评论(0) 推荐(0) 编辑

摘要:最近的一个项目中,体会了一下AVR单片机的外部RAM扩展,发文记录于此。 本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这是个不严谨的设计)以及62256芯片。 我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配置完成,那么变量的地址分配... 阅读全文
posted @ 2011-10-23 19:04 深海的小鱼儿 阅读(2396) 评论(0) 推荐(0) 编辑

摘要:RAM是用来在程序运行中存放随机变量的数据空间,51单片机默认的内部RAM只有128字节,52单片机增加至256字节,STC89C52增加到512字节,STC89C54、55、58、516等增加到1280字节,对于编程者来说,一个芯片的RAM越多,写起程序来就越容易得心应手,不会总考虑RAM不够用而担心这担心那,连过多的变量都不敢定义。 在前面我们写程序时曾讲到过,如果定义一个变量后,... 阅读全文
posted @ 2011-10-23 19:02 深海的小鱼儿 阅读(3534) 评论(0) 推荐(0) 编辑

摘要:我们在单片机的存储空间不够用之后,需要外扩这个时候我们一般,要么外扩RAM、要么外扩Flash、要么RAM和Flash一起扩,但是不管怎么样,我们这里有几个问题需要澄清下: 1、单片机上电后怎么执行外扩的Flash程序? EA/VPP 访问和序存储器控制信号: 接高电平时:当EA为高电平时,CPU执行片内程序存储器指令,当PC的值超过0FFFFH时,将自动转执行片外程序存储器指令; 接低电... 阅读全文
posted @ 2011-10-23 18:56 深海的小鱼儿 阅读(1196) 评论(0) 推荐(0) 编辑

摘要:总线 地址总线 P0口作为低八位地址,P2口作为高八位地址,两者共同构造地址总线。由此可见,单片机最多可以有16条地址线,因此最大寻址范围为64 KB(0000H~FFFFH)。地址总线是单向的,只能由单片机向外发送。 数据总线 数据总线由P0口构成,双向。 需要注意的是P0口兼作地址总线的低八位,所以需要将这低八位地址先锁存起来。 控制总线 单片机方面,根据不同的扩展情况使用PSE... 阅读全文
posted @ 2011-10-23 17:10 深海的小鱼儿 阅读(2267) 评论(0) 推荐(0) 编辑

摘要:ELF文件里面,每一个 sections 内都装载了性质属性都一样的内容,比方: 1) .text section 里装载了可执行代码; 2) .data section 里面装载了被初始化的数据; 3) .bss section 里面装载了未被初始化的数据; 4) 以 .rec 打头的 sections 里面装载了重定位条目; 5) .symtab 或者 .dynsym secti... 阅读全文
posted @ 2011-10-23 17:01 深海的小鱼儿 阅读(3765) 评论(0) 推荐(0) 编辑

摘要:闪速程序存储器的编程方法常见的有以下几种: (1)传统的并行编程方法; (2)通过串行口进行在线编程ISPIn System Programmability :对器件或电路甚至整个系统进行现场升级或功能重构; (3)在运行中,应用程序控制下的应用在线编程IAPIn Application Programming ;IAP模式简单地说就是在某一个section中运行程序,同时对另一个sectio... 阅读全文
posted @ 2011-04-06 19:48 深海的小鱼儿 阅读(739) 评论(0) 推荐(0) 编辑

摘要:源代码: /* * _3.c * * Created: 2011-4-5 19:34:47 * Author: xmphoenix.fish */ #include <avr/io.h> #include<util/delay.h> #define F_CPU 8000000UL #define key_down() (PINB &_BV(PB5)) #define real_switch() P... 阅读全文
posted @ 2011-04-05 20:51 深海的小鱼儿 阅读(420) 评论(0) 推荐(0) 编辑

摘要:源代码: /* * _3.c * * Created: 2011-4-5 11:34:29 * Author: xmphoenix.fish */ #include <avr/io.h> #include<util/delay.h> #define F_CPU 8000000UL const unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,... 阅读全文
posted @ 2011-04-05 20:43 深海的小鱼儿 阅读(249) 评论(0) 推荐(0) 编辑

摘要:关键点: 先给PC口的低4为为输出高4位为输入,来判断是那一列,后交叉来赋值来判断是那一行 源代码: #include <avr/io.h> #include<util/delay.h> #define F_CPU 8000000UL const unsigned char table[]= { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6... 阅读全文
posted @ 2011-03-26 17:33 深海的小鱼儿 阅读(465) 评论(0) 推荐(0) 编辑

摘要:关键点: 1.按键的释放判断为if(PINC!=flag)这个flag存有先前的按键值 2.i=(i-/+1)&0x07巧妙的利用了无符号溢出的作用 3.在我们设置了pc口的输入时,在按键按下后再释放的之后我们会发现我们的pinc的值为0xff,是因为我们设置了上拉电阻,和pc口的数据为0xff; 源代码: #include <avr/io.h> #include <util/delay.h> #... 阅读全文
posted @ 2011-03-26 15:49 深海的小鱼儿 阅读(370) 评论(0) 推荐(0) 编辑

摘要:avrstudio 5开发程序: 备注: 1.在proteus的里面可以导入elf文件,来实现也就是说不一定非要生成hex文件 2.关键点:是要消影子,这点在原来的书上是没有的,可能是编书时的错漏。 源代码: /* * eight_led_return.c * Project: eight led * Created: 2011-3-25 12:23:09 * Author : xmphoen... 阅读全文
posted @ 2011-03-25 12:55 深海的小鱼儿 阅读(458) 评论(0) 推荐(0) 编辑

摘要:现在avrstudio5已经出来了,非常的不错借用微软开发界面和开源的gcc编译器,形成很强大的开发工具,但是在这个开发工具里面还包括一些例子源代码,但是很可惜都是最新的芯片,我们国内常用的芯片没有例子,可以得知我们的开发和国外还是差的很远,先给个例子: 源代码://这个东西可吃内存了 /* * Avr5_test.c * Project: eight led turn to show a number * Created: 2011-3-22 14:49:22 * Author : xmphoenix.fish */ #include <avr/io.h> #include< 阅读全文
posted @ 2011-03-24 19:33 深海的小鱼儿 阅读(1612) 评论(0) 推荐(0) 编辑

摘要:1.在avr studio的project options(工程选项里面)在General选项里面需要注意的是: edit configuratio:这个选项的意思是当前项目的默认输出文件夹是default,而且这个文件夹的名称是可以改的Device:是我们要选择工作的芯片Frequency:是芯片的工作频率Optimizatio:是程序编译时优化的级别主要是优化程序输出可执行文件的大小unsigned char(-funsigned char):默认程序中的char类型为是无符号类型其他的设置都基本上是默认的设置。2.makfile 在使用avr_gcc的编译器是,makfile是必不可少, 阅读全文
posted @ 2011-03-01 19:43 深海的小鱼儿 阅读(2206) 评论(0) 推荐(0) 编辑