dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

睿志音响技术论坛睿志音响论坛睿志音响论坛 → 重拾单片机


  共有10603人关注过本帖树形打印

主题:重拾单片机

帅哥,在线噢!
rjx
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
重拾单片机  发贴心情 Post By:10/12/2012 12:12:41 PM

您无权查看精华帖子

[本帖被加为精华]
支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:10/12/2012 1:06:34 PM

                                      四、AVR和PIC的比较及使用体会

   一、AVR和PIC都是使用的精简的指令集(RISC),运行速度都比较快。I/O端口的驱动能力都很强(>20ma).

   二、AVR内置振荡器,可以不用外接晶振和电容,电路简洁(PIC也有内置振荡器的)。

   三、PIC的端口等寄存器的设置比较简单,上手比较快,而AVR的端口等寄存器的设置相对比较复杂,开始觉得比较难。

   四、PIC的环境设置很简单,在程序中用软件就可以设置,而AVR的熔丝位的设置比较复杂,而且是在烧芯片时设置的,开始学习时也是一个难点。

   五、AVR的C语言编译平台有多个,如:ICCAVR,CVAVR,WINAVR,IVR AVR等等,开始时不知用哪个好。经过我的实践,我觉得最好的是CVAVR,其次是ICCAVR。CVAVR操作简单、上手快、界面美观。特别是支持位变量。端口的表示简单直观。其他都不支持位变量,端口的表示也比较麻烦。

   学习单片机还是学C语言,学汇编太难了,而且现在都是用C了。

    学会一种单片机,再学其他的就方便了很多。其实只要一种能学好、学精就不错了。像我这样东一榔头西一棒子的,纯粹是好奇驱使而已。

 

[此贴子已经被作者于12-10-12 13:17:12编辑过]

支持(1中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
牛豆
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 贴子:54 积分:1322 威望:0 精华:0 注册:7/26/2011 5:28:30 AM
  发贴心情 Post By:10/16/2012 5:16:12 PM

佩服任老的学习精神!!

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
面具
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 贴子:646 积分:5622 威望:0 精华:3 注册:12/18/2005 5:44:56 PM
  发贴心情 Post By:10/16/2012 10:54:54 PM

任老学习精神令人敬佩!敬佩!图片点击可在新窗口打开查看

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:10/17/2012 8:13:24 AM

生命诚可贵,利用率价更高。

支持(1中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
小雨哥
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 贴子:837 积分:7073 威望:0 精华:2 注册:3/12/2006 9:07:21 PM
  发贴心情 Post By:10/21/2012 5:39:43 PM

汗颜'。


我的器材:dCS Elgar plus+Purcell+Verdi+M1+M2+Wilson sasha

CAS:RME HDSP AES32 + foobar2000

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:10/22/2012 8:58:17 AM

      音量控制系统必备的功能之一,就是每次关机时要能记忆音量值,使得下次开机时仍然是原音量值,如果考虑的更细一些,最好加入一个防大声功能,也就是说如果上次是在大音量时关机的,下次开机会突然很大声,会吓人一跳。

以上两个功能可用下面的方法实现:

一、记忆功能,有两个办法:

    1、利用MCU内置的AD转换器和EEPROM存储器。通过检测电源电压是否掉电来实现,如单片机的电源电压是5V,可设定在掉电至4.5V时将音量值保存到EEPROM。下次开机时先读出保存在EEPROM的值,就可以实现记忆功能了。要特别注意的是,取样电压要从7805前面的大滤波电容用分压电阻取得,而不能从7805 后面的小滤波电容上直接取,这是因为小滤波电容放电太快,电压保持的时间太短,MCU来不及写EEPROM。

     2、设置一个定时器,每隔一定时间检查一下音量值有无变化,如有变化,就将音量值保存至EEPROM。否则不保存。要注意的问题是一定保证不能很频繁的写EEPROM ,因为EEPROM的使用次数只有10万次,看起来次数很大,但如果程序编制不当,就有可能是在频繁写EEPROM。那样EEROM可能会很快失效的。

二、防开机大声功能

    在每次开机时,当读出EEPROM保存的上次关机值后,要做一个判断,如果音量较高,不要立即启动继电器,应设定一个音量较小值再启动继电器。

    学习单片机,我有个体会:实际上学会C语言和单片机的各个寄存器的设置不是最难的事,最难的事是如何去解决一个问题,一个目标用什么方法去实现,也就是说C语言的几十个关键字,一个星期就可以记住,但是怎么去组合它却不容易。就像高中生,大家都掌握了几千个汉字,但要用这几千个汉字去写一篇作文,却是人人不一样的。

     我想论坛里可能很多朋友都想学单片机,首先不要觉得太难,主要是刚开始时云里雾里的,觉得什么也不懂,好像难得不得了,其实过了这一关就好了。

     学单片机千万不能只看书,不动手,那永远也学不会。

[此贴子已经被作者于12-10-22 09:12:58编辑过]

支持(1中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
adf
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:侠之大者 贴子:255 积分:2796 威望:0 精华:0 注册:1/19/2008 2:04:08 AM
  发贴心情 Post By:10/23/2012 11:13:07 AM

这个卖什么书好,

还有电压表电流表的。


支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:10/23/2012 11:43:56 AM

      如果是想学AVR,可以看两本书一本是《轻松玩转AVR单片机C语言》,另一本是《AVR单片机嵌入式系统原理与应用实践》马潮著,北航出版(第2版)。这两本书内容上有一定的梯度。前者入门,后者提高。都是用CVAVR编译平台。

     我感觉,如果是刚开始接触单片机的话,还是PIC单片机容易上手些。PIC单片机的书,我觉得比入门稍提高些的要算江和著的《PIC16单片机C程序设计与PROTEUS仿真》写的最好了,实用的例程多,文字易懂,而且对很多其他书上没有讲到的但在实际中又用的很多的问题,都有很好的讲解和实例。

     到新华书店随手翻一下,单片机的书很多,但互相抄袭的占多数。

     但上面提到的马潮、江和这两个人的书,我觉得写得不错

     上面提到的几本书,上淘宝都能搜到,价格比书店便宜很多。

   

[此贴子已经被作者于12-10-23 11:57:13编辑过]

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:10/29/2012 10:23:01 AM

    准备搞的小玩意:

    用AVR单片机ATmega16L搞一个最小系统,主要是考虑开一次PCB能有多种用途,所以板上留有多个接口,既能接何生的NFB-10WM的音量板,又可以通过通讯方式接各种继电器音量板(如通过74HC595接口或USART接另一个单片机或其他的设备)同时又有红外接口,电源,编码器或电位器AD采样等等,玩法多样。也是用于学习单片机的各种功能。

     学习单片机,借助于PROTEUS仿真软件是最方便的了,PROTEUS软件简直就是一个电子实验室,非常的有用。对学习电子电路非常有帮助,而且上手也不难。

     实际试验时,只要自己开个小板就行了(或用洞洞板搭一个),花大几百元去买开发试验板,我觉得没有必要,再说自己动手搭建硬件电路,对提高自己的模电、数电水平也很有好处。我就从没有买过实验板之类。倒是可以买一个通用的烧写器,如G540或TL866,这些编程器可以烧写51\AVR\PIC单片机和很多的芯片,非常的实用。价格也很便宜。

     图二中的发光管是用来模拟继电器的,在仿真软件中这样方便些。


图片点击可在新窗口打开查看此主题相关图片如下:snap11.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snap10.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snap12.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于12-11-01 12:40:51编辑过]

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  11楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:11/1/2012 12:39:10 PM

    9楼介绍的书有笔误。

    应该是《基于PROTEUS的AVR单片机C语言程序设计与仿真》(陈忠平著)和《AVR单片机嵌入式系统原理与应用实践》马潮著,北航出版(第2版)。这两本书内容上有一定的梯度。前者入门,后者提高,都是用CV AVR 编译平台的。

   而《轻松玩转AVR单片机C语言》,是基于ICC AVR的,也是一本不错的书。

   要是学习PIC单片机,且稍有些C语言基础的,江和著的《PIC16单片机C程序设计与PROTEUS仿真》是一本好书。

   我觉得凡是单片机的书,好像以北航出版社的好些。

[此贴子已经被作者于12-11-01 12:45:07编辑过]

支持(0中立(0反对(0回到顶部
帅哥,在线噢!
h945915
  12楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:侠圣 贴子:2383 积分:18275 威望:0 精华:30 注册:4/9/2010 9:39:47 PM
  发贴心情 Post By:11/1/2012 8:46:29 PM

叹!,

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  13楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:11/2/2012 8:47:12 AM

    可别说拜我为师的话,我对单片机也就是略知一二而已。真的要想有一定的水平,那必须去干这一行,要有项目,有压力才行。

    不过,话又说回来,干事只要要有决心、有恒心,总可以有收获的。两年前我对单片机是一窍不通,也没学过C语言,硬是靠自己摸索,到现在能弄懂PIC和AVR两种单片机,也能根据功能要求写出上千行的代码,自己还是挺自豪的。

    PCB板昨天做好了,三下五除二焊好元件,将代码下载到单片机,开机一次成功:   


图片点击可在新窗口打开查看此主题相关图片如下:dsc01590.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:dsc01586.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:dsc01591.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于12-11-02 08:52:08编辑过]

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
rjx
  14楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4896 积分:46778 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
  发贴心情 Post By:12/10/2012 1:56:34 PM

                           MCU鱼缸增氧、过滤定时控制器

    一好友是位资深观赏鱼爱好者,家中饲养观赏鱼若干,其中不乏精品。该友终日为鱼儿增氧、鱼缸水过滤净化而劳顿。以往,多使用220V的潜水泵完成增氧、水过滤净化之事,奈何潜水泵使用日久而漏电,被电击数次。家人放言:如再使用这交流供电的泵,就击碎鱼缸,弄死这些劳什子。该友自己也为这些潜水泵而倍感忐忑。

     在好友彷徨之际,耳闻我在玩单片机,于是就登门要求搞一个能自动定时的玩意儿,同时提出苛刻要求数款:什么可以自动定时开关这些泵,同时要全部是用可充电的锂电供电,并能监控各组电池的电压,欠压能报警,并能在电池电压下降之过程中保持电机的转速不变云云。。。其目的很明确,一是可以不必自己再劳顿,有闲暇可以自在的赏鱼,二可以安安全全不用再担心触电。

    这岂不正中我下怀?最近正想找一个什么小项目练练手,就有送上门来的,于是乎就有了下面的任务书:

   1、采用3组锂电池供电,一组为4节并联,充满后为4.2V,用一片低电压差线性LDO降压到3.3V为MCU和LCD供电。未降压前给1.5V的增氧泵供电。

     第2组用4并2串的8.4V经DC-DC升压后为12V的小过滤泵供电。

     第3组用4并4串得16。8V经DC-DC降压后给大的过滤泵供电。

   2、用一个带开关的编码器完成所有功能,包括3个泵的工作停止时间设置。显示屏的背光亮与暗,电机转速初值的设定。

    3、使用MCU内部的两个定时器TC0和TC1。TCO用于相位可调的PWM方波发生器,且占空比可调,用来控制制氧泵的转速,并且增氧泵的转速不因电池电压下降而变化,这是用一个经反复试验得到的经验公式来自动跟踪电压的变化而调速(自动调整方波的占空比)。

       TC1为1S中断定时器,用它来决定3只泵的工作与停止。

    4、用3路AD转换来检测电池的电压,无论哪一组电池欠压,都可以报警。

    5、用电池供电,电池的功耗就是要重点考虑的,因此,显示屏的背光可以手控需要时亮,延时一段时间灭,像手机一样。

    6、用一块LCD屏显示所有信息。

    7、MCU选用ATmega16L,显示屏选用YB1604B,低电压差线性LDO选用MAX1818-33.

经过20多天的努力,终于完成了代码的编制与仿真。硬件PCB也完成。 

 有图有真相:


图片点击可在新窗口打开查看此主题相关图片如下:snap18.jpg
图片点击可在新窗口打开查看
 


图片点击可在新窗口打开查看此主题相关图片如下:snap19.jpg
图片点击可在新窗口打开查看
 


图片点击可在新窗口打开查看此主题相关图片如下:snap21.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于12-12-10 14:32:54编辑过]

支持(1中立(0反对(0回到顶部
帅哥,在线噢!
BELLCOW
  15楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 贴子:504 积分:4725 威望:0 精华:2 注册:11/12/2010 7:51:59 AM
  发贴心情 Post By:12/10/2012 2:14:33 PM

哇,我也在养鱼。

上月从杭州吴山花鸟城请了几只回来,奈何缸中原有一只拉肚子传染,鄙人下盐过量,呜呼,一窝美丽的鱼儿驾鹤西去了。

昨天无奈又进了一些,不管好看,养活再说。


支持(1中立(0反对(0回到顶部
总数 17 1 2 下一页