另辟一块天地,单片机(入门交流)(7月4日晚9时更新)
近来看到许多坛友想学单片机,或是已经在学,而且也发现有很多高手!在单片机方面我算比较菜,计算机毕业的,单片机课程都没开过,虽然现在做的就是这方面的工作,但当初完全是自学来的,凭的就是兴趣和一股冲劲,还记得带我入门的是坛里的狂兄
因为工作和其他原因,现在用过的单片机种类不多,知识面也难免有狭隘,请各位见谅,还请各位大侠指点!
言归正状,开此贴的目的就是想带想学单片机的人入个门,在学的也可以在这里交流一下,当然更希望高手发表一下自己的经验了
51单片机应该是应用的最广泛的,所以在这里我也想主要使用51单片机来说(其实我比较了解的也就是这个单片机了)在带动大家的时候也让自己再熟悉一遍。
如果你想学,请往下看
首先说一下你要准备的东西。。
1单片机:
这是最主要的DD了,这里我选用STC的51单片机,为什么呢,不是为他做广告,主要是看中他可以用串口下载程序,可在线下载,可省去编程器和仿真器,而一般有电脑的用户只要一根串口线和实验板上有串口电平转换电路就可以了,了解的人都应该知道串口电平转换电路一般是必备的。这个单片机还有一个特点是一般都内置了EEPROM,具体介绍可以看www.mcu-memory.com(叫宏晶科技)下载STC89C51系列的PDF来看,都是中文的资料。这个公司在深圳,深圳塞格有柜台,我用STC89C52,8K的程序flash,对于一般人来说够用了,价格大概6-7RMB!淘宝里也有卖家在卖。
2串口线:
一边公一边母的那种,九脚的,当然你得先看下你电脑后面是否有这个9脚串口,我看到现在好多主板都省去了COM和LPT口,笔记本也很多都没有,如果没有这个口,可以去买一个USB转串口的,几十块钱吧!电脑上一般都是针的插座,也就是说你还必须买一个九脚孔的插座焊在实验板上,这样用串口线就可以把实验板和电脑串口连在一起了!
3实验板:
发扬DIY精神, 用洞洞板自己焊吧,根据自己的需要来做,这样才合适,板上必备电路RS232<->TTL电平转换,用MAX232焊成,做为下载程序用,具体电路可看STC89C51系列单片机PDF上会有。
4电源:
5v电源,可用电脑USB电源供电
5其他元件若干,根据你需要做的实验来做。
6对于编程语言:用C和汇编看个人,C比较容易理解,汇编可直接操作硬件,我一开始是全用汇编,而且运用自如,但现在偏向用C,可以缩短开发周期。可以去书店买一本51单片机基础书,上面会有详细的汇编指令以及51内部资源结构。
7编程和烧录软件:编程用文本就可以了,最后改成后缀为ASM,烧录软件请登陆上面网站下载“ STC单片机ISP下载编程软件”
有了这些东西,在想好要做什么实验后,画好线路图,再焊好实验板,就可以开始调试程序了。
(这个星期工作比较忙,下星期开始我会开始举例子做实验,大家不要催我!因为我这边工具也不多,DIY工具都留学校了,欢迎坛里单片机高手指点或是帮忙)
如果大家在学习过程中有什么问题可以在这里提,我会尽量告诉大家!最后罗嗦一句:兴趣是最好的老师!
下面这个是ASM转HEX软件,很简单的一个软件,到时候告诉大家怎么操作 :victory: :victory: 好文. 这个要顶啊。
也想学单片机,唉
现在一打开电脑,就上到HIFIDIY啦。 51开发工具建议用KEIL。KEIL的自带帮助文档是最权威的51编程资料。还有大量列程,还自带的一RTX51实时操作系统。 支持一下,这类与电子密切相关的话题不用请版主手下留情的~ 可能很多人不了单片机吧,先介绍一下这方面的知识 参考书《例说8051》
第一章:
一般来说,微电脑系统包括中央处理器(CPU),存储器(MEMORY)及输入/输出单元(I/O)三大部分,CPU就像是人的大脑一样,主宰整个系统的运行,MEMORY存放系统运行所需的程序及数据,包括只读存储器(ROM)和随机访问存储器(RAM)通常ROM用来储存程序或永久性的数据,称之为程序存储器,RAM则是用来储存程序执行时的临时数据,称之为数据存储器;I/0是微型计算机与外部沟通的管道,其中包括输出口与输入口若悬河,这三部分分别由不同的部件(IC)组成,把它们组装在电路板上即可形成一个微型计算机
单片机微控制器就是把中央处理单元,存储器,输入/输出口等,全部放置在一个芯片里,只要再配置几个小零件,如电阻,电容,石英晶体,连接器等,即可形成完整的微型计算机,因此单片机整个系统的体积小,成本低,可靠度高,是目前微型计算机控制系统的主流
由于微控制器的主要功能是控制,因此,在单片机微控制中,不太在乎其存储器的大小,位数,而强调其输入/输出功能
“8051”源自INTEL公司的MCS-51系列,而日前所采用的8051并不限于INTEL公司所生产的芯片,它以其他厂商所推出的兼容芯片为主,如AMTEL公司的89C51等。
考虑到许多人可能原来从没接触过单片机,所以我也不太清楚到底该从哪里说起,只是摘抄手头上现有的一本书。如果你觉得难看懂,可以去买本这方面的基础书,多看几遍。
8051标准结构如下:
这是8051引脚图
STC89C52为8位单片机,程序存储器为8K,外部可扩展至64KB,内部RAM为512B,可扩展至64KB,4组可位寻址的8位输入/输出口,即图中P0,P1,P2,P3。 一个全双工串行口,三个定时器,二个外部中断,指令共111条,(先不必全部理解,大概了解一下,后面实验中会慢慢加深印象的)
(输了一大段不小心按错键一下没了,晚了,要工作了,明天再继续吧,不好意思) 这个要学的, 收藏起来.
顶一下 :2fsfsf :2fsfsf 师傅终于出山了,我要跟着好好学习天天向上:3fsfsf 我也想学单片机.顶! 学习 支持!
我也是菜鸟.到时我也灌灌水 我严重支持LZ发此贴,如果改成AVR或ARM可能会更好一些:lol 站个第一排位置慢慢听 俺现在主要用两种,一是寻址能力强大的Zilog ENCORE! XP Z8F, 另一个是速度高达 25MIPS 的 SILABS C8051F。 :victory: :victory: :victory: 谢谢各位的支持。回狂兄,AVR以前是想学的,片子都买了,不过因为烧程序不方便,以后我会去学的,ARM的话暂时还不考虑啊,一步一步来,不想一口吃成胖子!
回JiangWZ 大侠,我用的不多呢,还请多指教啊!现在主要是用义隆的在做,也是8位,不过指令比较51的少。
我准备从基础说起吧,会从书上摘下大部分内容,还好以前聊QQ练出了打字速度,呵,不过得等到晚上,现在在上班。没时间,先占个楼! 如果是51,直接转平凡的教程就OK 好主意,不过提示一下,不妨把某些经典的高校教材引入,包括实验,还有实验的材料和电路/程序配套好,还有别的单片机网站不错的课程或课件,这样入门快。到了一定程度,一定要把严谨的编程作风提到首位,否则以后还是玩玩而已的。 顶一下。
我也刚开始学AVR。没接触过单片机的话,直接看AVR的Datasheet肯定会比较晕,但是等那些7788的功能在脑子里都有个印象以后觉得这个东西功能真够丰富的。写汇编的话,AVR比51方便,寄存器多,资源丰富,条件跳转指令很好用。但是现在好像都流行用C了。暂时还没摸清楚几个AVR下面的C编译器的脾气,先拿汇编对付着。感觉找的到的AVR编译器都不如Keil C好用。
自己玩应该是AVR方便,啥功能都有一点,一片MEGA能玩出很多花样来。做产品的话就有点不合算,能正好把AVR功能都用上的机会恐怕不多,找个合用的51会便宜不少,而且AVR的有些功能在要求高的场合精度不够,反而会变成鸡肋。
现在觉得用C的话,学什么都一样,换着用也挺方便,datasheet看熟就好了。写汇编的话,用过AVR再回到51,就只好用C了。:lol 做地板学习!