本博客为本人学生时代的技术博客,工作后10年已经不再更新,需要关注可以访问geekpm.com,点击访问!

随笔分类 -  单片机开发

51、AVR、MSP430等传统8位单片机相关
摘要:之前一直用winavr作为avr开发工具,AVRstudio 5以后的版本直接包含了GCCAVR工具链,开发环境也变化比较大,总体还是非常给力的,所以一直跟着版本更新,原来的程序直接拷贝编译无法通过,出现最多的是这个错误: 错误 __builtin_avr_delay_cycles expects an integer constant. 经过查找发现是头文件版本更新所致。delay.... 阅读全文
posted @ 2012-07-05 15:37 emouse 阅读(2664) 评论(0) 推荐(0) 编辑
摘要:emouse原创文章,转载请注明出处,http://www.cnblogs.com/emouse 手头有个Spartan-3E Starter Kit的板子,三年了,一直没功夫搞,昨天实验室停电回到宿舍,只有这个板子在身边,其他板子都在实验室,所以决定用一下,之前用的都是Altera的FPGA和CPLD,虽然在FPGA以及CPLD这块Xilinx和Altera势均力敌,但是学校教的是Altera... 阅读全文
posted @ 2012-05-02 13:23 emouse 阅读(2227) 评论(0) 推荐(0) 编辑
摘要:文章转载,写的有些混乱,但是值得一读。现在,有许多单片机应用领域,都是用电池供电,节能成为设计工程师普遍关心的问题。希望大家就这方面展开讨论。 以下提供一些讨论的方向: 1、如何降低系统功耗?(软件?硬件?) 2、各位在这方面有何经验教训?(可以拿出来与大家分享) 3、各种芯片的功耗比较? 4、SLEEP模式应用的注意事项? 5、一些新型的节能器件的介绍? 6、其它与低功耗设计相关的话题?…… 进入掉电模式现在有很多的低功耗的片子,特别是在进入掉电模式之后,只有1uA的电流。也可以使用电源管理的方法,在不工作的时候,把系统电源关断,这样更省电我用了很久51芯片,本来对它的功耗非常不满,但是.. 阅读全文
posted @ 2011-08-05 15:28 emouse 阅读(3616) 评论(0) 推荐(0) 编辑
摘要:傻孩子不知从什么时候开始,随便做个什么电子产品,至少是电池供电的,都要求低功耗特性了。好在市面上随便什么芯片都敢在自己的数据手册的第一页赫然写着低功耗。究竟怎样算低功耗?小于5mA?小于1mA?小于100uA?离开了应用场合,似乎数值也失去了单纯的意义,总之越小越好。但感觉上,能用水果点亮的应用应该就是低功耗了吧。认真说来,有点怀念当年随便一个应用500mA,芯片微微发烫,用手一摸只要还能放得住就大手一挥“没问题”的时代了。最近总是和uA打交道,超过100A,周围的人脸色就不好看了,好容易达到了传说中的20uA以内,也会觉得沾沾自喜,哎……uA啊……情何以堪啊,伤不起啊……久病成医,渐渐的也就 阅读全文
posted @ 2011-08-05 15:12 emouse 阅读(1926) 评论(0) 推荐(1) 编辑
摘要:转自:亿芯工程师博客10种AD采样的软件滤波方法10种AD采样的软件滤波方法1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点: 阅读全文
posted @ 2011-07-22 12:15 emouse 阅读(2394) 评论(0) 推荐(0) 编辑
摘要:最近的一个电路板在工作的时候一个ARM芯片总是莫名奇妙的停掉,一开始还以为是焊接或者PCB的问题,后来自己检查发现是复位电路所致。平时用的电路还是最简单的RC复位电路,在焊接的时候取值也比较随便,我一般R取10K,C取104,之前也一直用着没啥问题,但是在这个板子中很不稳定。分析一下可能由于我的RC放的离芯片比较远,是靠近复位开关放的,运行的时候测量复位电压并没有恢复高电平,于是减小上拉电阻,最后解决问题。 在设计这部分电路的时候,RC应该靠近芯片排布,同时可以加一个电容放电二极管,增强稳定性。要求比较高的芯片可以选用专用的复位芯片。 阅读全文
posted @ 2011-07-05 12:18 emouse 阅读(659) 评论(0) 推荐(0) 编辑
摘要:闲话不多说,先从官网上抄一段简介。The new Atmel AVR Studio 5Atmel® AVR Studio® 5 is the Integrated Development Environment (IDE) for developing and debugging embedded Atmel AVR® applications. The AVR Studio 5 IDE gives you a seamless and easy-to-use environment to write, build, and debug your C/C++ an 阅读全文
posted @ 2011-06-08 12:06 emouse 阅读(8400) 评论(0) 推荐(0) 编辑
摘要:1 library ieee; 2 3 use ieee.std_logic_1164.all; 4 5 use ieee.std_logic_arith.all; 6 7 use ieee.std_logic_unsigned.all; 8 9 10 11 entity KBCtest is 12 13 port( 14 15 rst,clk:instd_logic;--时钟和复位信号 16 17 --AVR 读写相关信号线 18 19 ale,rd,wr:instd_logic;--地址锁存、读、写信号 20 21 ad:inoutstd_log... 阅读全文
posted @ 2011-03-23 19:58 emouse 阅读(759) 评论(0) 推荐(0) 编辑
摘要:AVR的SPI接口很多只有一个,如果驱动较多的以SPI接口的外设时就必须通过IO来模拟,实际上对于低速外设来说IO模拟的方式也很方便,网上关于模拟SPI的程序很多,我的程序是基于GCCAVR来写的,其他编译器的都类似,写的时候我尽量做到规范和方便后期使用时改动调整。使用时需要注意以下几点:1、根据外设的时序要求,区分是在上升沿更新数据还是下降沿。2、发送数据时高位在前还是地位在前。3、外设对SPI通信有无速度要求,有些时候过快的通信速率可能无法读取和写入数据4、CLK,数据等引脚的平时电平上面几点只要对照着外设的时序图一眼就能弄清楚,程序里面写的很清楚相应的改动一下就可以了。程序如下:/*** 阅读全文
posted @ 2011-01-11 14:07 emouse 阅读(1757) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示