电子工程专辑
互动社区
UBM China
?控制器Datasheet资料 ???????? IGBT VRMS PWM ???????? 电子技术资料下载 ???????? ?????????
EE小组 > 控制技术 > 单片机 > 经验之谈:如何学好单片机
小组信息
名称:单片机

管理员:

人数:1093
小组积分:5595
简介:交流单片机技术

小组公告

小组暂无公告.

返回小组首页

楼主 ??[转载]?

经验之谈:如何学好单片机

2008-11-10 16:24

作者:本.不拉灯
积分:29716分

摘要: 单片机 越来越多的受到电子产品研发人员和我国高等技术类学校的应用与重视。本文在多年实际经验的基础上,从单片机结构、逻辑思维、和微观理念方面着手,详细介绍了如何学好单片机这门应用技术的几点经验之谈。

关键词: 单片机学习;经验介绍

引言

单 片机诞生于20世纪70年代。所谓单片机是利用大规模集成电路技术把中央处理单元(Center Processing Unit,也即常称的CPU)和数据存储器(RAM)、程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成一个最小的计算机系统,再加上了中 断单元,定时单元及A/D转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛[1]。现在更多单片机的发展已经进入了嵌入式系统时代, 由于制造工艺的进步,有如 VHDL、RTOS、CPLD、FPGA、DSP、ARM等这一系列可编程器件的体积越来越小、成本越来越低,而功能是越来越能满足人们的需要。自上世纪 80年代以来,单片机技术在我国各个控制领域得到了广泛应用,各个世界半导体公司都非常看好中国这个庞大的市场而纷纷到中国来投资建厂,如在苏州就有日本 的瑞萨、松下、美国的快捷等半导体公司在中的生产厂地。同时面对这一技术的不断发展,我国大部分高校都已经把单片机方面的课程作为学生的必修课,这为我国 近些年来的科技、工业控制等方面的发展培养了大量人才,而且社会对此方面的人才需求还在不断的增加。面对如此情况,作为在校学生,又该从何学起?如何学好 这门课程呢?又怎样才能不让自己学了等于没学呢?本文在多年实践的基础上,介绍自已的一些感受和经验。

1理解单片机的结构

对于一个初学者,最迷糊的就是对单片机芯片里面的结构的理解,小小的一个芯片为何能完成如此神奇的功能。

第 一次从事电子方面的工作,也总对那黑黑的芯片里面感到不可思意的神奇。直到有一天,在检修一台日本二手电子市场里买来的程控交换机时,发现里面有一块黑东 西上的黑胶已经裂开,把它撬开一看,里面就是一块电路板,上面焊满了密密麻麻的电子零件。终于有点明白,原来芯片也可以这样做成。当然当时所见的那块电路 板是不能被称之为芯片的,那只是日本的电子制造公司为了防止别人抄袭而把整个电路板密封起来或其它原因,只引出几个的引脚与其它电路连接。不过它可以让人 联想到芯片的基本结构与此相类似,如果把那些内眼看得见的电子零件再缩小一千倍或更小以至于能把所有电子零件做在一个硅片上,那也就成了名副其实的芯片 了。我们不防以图1所示的电路及电路板来做一个生动形象的介绍。该图是一个直流马达 可以正反两个方向转动的电路,做成电路板并焊好电子元件后,经测试没有问题就可以用黑胶(通常采用酚醛树脂等材料)把所有电子元件封起来,只留六个引脚来与外部电路连接,这样看起来就好像是一个芯片。


知 道了一般芯片的原理,同样可以更进一步想象单片机为什么会执行逻辑运算等功能,这就牵涉到数字电路和模拟电路的知识。其实不管一个单片机的功能是如何的强 大,其只不过是把许多以微米,甚至是纳米为单位级的数字的和模拟电子器件组成。为了形象的来说明单片机内部的结构原理,这里不访举如图2所示的跑马灯电路 来阐述。图中电路表明的最终目的是让LED依次轮流被点亮。首先是通过计数器对输入脉冲计数,从0到15共16个脉冲为一个轮回,也即计数器的输出依次为 二进制的0000B到1111B,再由四-十六译码器把计数器的结果解码输出,即依次置Y0到Y15由高电平变为高电平。当某一输出为高电平时,经过反向 器后,与此线路相连接的LED的阴极被拉为低电平从而点亮该发光二极管。这样一来,计数器和译码器就相当于单片机里的处理器与PC地址寄存器了,与译码器 输出脚相连的线就相当于地址线,与LED负极相连的输出线就相当于数据线,每一条“地址线”都与8根“数据线”有一个交叉,每一个交叉就相当于存储单元的 每一个位。在这些交叉处是否要连通就相当于把程式烧录到存储器(ROM)里。最后总体来看就相当于一个只有16个地址的8位单片机。如果把LED换成图中 数码管,改变图中的二极管连接,在“单片机”通电和输入时钟脉冲后,就可以不停的来显示数字了。


另外,要做到对单片机内部结果真正的了解,还必须得先要有很扎实的电路基础、模拟电路、数字电路等方面的知识,否则可能就是空中楼阁。

?

?

http://www.eetchina.com/ART_8800536159_617693_TA_81c4dcc0.HTM

1楼 ??[转载]? Re:经验之谈:如何学好单片机
2008-11-10 16:24

作者:本.不拉灯
积分:29716分

2理清逻辑思维 学习单片机是最重要的一点就是不能糊涂,不能把逻辑关系搞得乱七八糟。对于初学单片机时,要学会把一个程式的逻辑性关系用流程图的形式清楚的表示出来。至于用来编写程式的单片机的语言是很简单的,不要把它想象得很神秘,不管是汇编语言、C语言、还是更高级的VC++和图示化语言(如LABVIEW),都只不过是把我们清楚的逻辑思维告诉单片机处理器,并指令它将要被如何进行逻辑操作。把单片机的指令看得很重要应该是我们大家在学习单片机时的一个最大的误区,老是担心指令记不住、不会用,这也是学习单片机还没入门、上路的主要表现。其实这样有什么担心的呢,记不住就不要强求好了,把指令放在旁边,当把逻辑关系清理好之后,再来对着指令表确定哪个逻辑关系由哪些指令来完成,当一条指令运用得几次后,根本就用不着担心不知道指令不会用了。退一步讲,即使真的记不得指令,参照书本的指令用法也完全可行,现在的知识量是海量,全把所学的知识死记在脑子里肯定会把脑袋涨破。在写程序时,只要程序的逻辑关系调理清楚了,写起来就好比做简单的翻译工作,把逻辑关系翻译成计算机语言来表示。如下图3和图4是一个简单的键扫描电路和程式流程图,我们根据这个流程图就很快能用目前非常普遍的C51汇编语言来写出这个程序。 KEY_SCAN: PUSH A ;保存寄存器A INC R1 ; AND R1,00000011B MOV R2,3 MOVC DPHL,TABLE ;取表首址 MOVC A,@DPHL+R1 ;读取表中数据 AND A,00001111B ;保留低4位 MOV P1,A ;按所取表中数据由P1低4位输出 CALL DELAY_TIME ;延时 MOV A,P1 ;读取P1端口 AND A,11100000B ;保留P14、P16、P17 LOOP: RLC A ;左移A一位到位寄存器“C” JC R1,LOOP1 ;判断位寄存器“C”是否为“0” CALL KEY_CAL ;调用键码计算子程序 LOOP1: DJNE R2,LOOP ;判断是否已移3位 POP A ;恢复寄存器A RTI ;本次扫描结束 KEY_CAL: ;键码计算子程序 … … … RTS DELAY_TIME: ;延时子程序 … … … RTS TABLE: ;键扫描输出表 DB 11111110B DB 11111101B DB 11111011B DB 11110111B 3对微观世界的想象 曾经在设计电路板时,为了让线路中的电流能流畅的通过线路,为了所设计的电路板能满足各种测试条件下的安全标准,如UL标准要求最长的电源地线不能过 0.02欧姆(其测试条件是在20A的电流情况下测量它的功率P=I2R)。如果假如是0.02欧姆,通以20A的电流,那这条线路的发热功率将会是 8W。把电流看作是我们宏观世界里的水,线路就好比一条水沟。要让水在水沟里怎么流,这理所当然是很容易控制的了。如水在急转弯的地方会起漩涡,会对急转达弯的沟的对面产生冲击。同样在电路板上的线路如果存在急转弯的情况,电流也会引起涡流,也会对线路的拐点处有一个冲击作用而产生辐射。这样一来,在理解了这一原理之后,每一次电路板的设计完成之后,所有的测试都能一次通过。可见把微观世界想象成宏观世界相类似的事物或过程是非常有帮助的。现代电子世界,特别是微电子,要想看清他的真面目,只有在高清昕度的显微镜下才能看到他的外形,可是即使了解了它的外形,也只不过是知其然而不知其所以然,它的工作过程根本无法看得到。 现在单片机结构越来越复杂,集成度越来越高,存储量越来越大,将来还可能采用分子级电子晶体管呢。它的运行速度也是如此的越来越快,现在已经是采用纳秒级来定义它的运行时间了,最长的运行一条指令的时间最多不过一两个微秒,简直就是比一闪而过还要少好多好多。既然我们可以在空间上利用放大镜把外形放大后来了解,那么同样可以在时间上把时间拉长来解。不访把一微秒当作时一分钟或一小时来理解,这样我们就不难理解 CPU就如人一样在处理某一条指令。比如指令“MOV A,01H”就是CPU把数据01H送到A累加器,在这个运送的过程就如人搬运东西的过程,这个过程的处理时间就是CPU处理一个指令的时间,通常称之为指令周期。有些时候单片机会出现对某个操作处理的时间不够,如进行数据采集时,被采集的信号相对于单片机处理时间比较快就会出现数据遗失的情况,这就要求单片机的运行速度更快。如果没有这处微观时间的概念,就很难理解怎么会出现这种情况。 4结束语 单片机变化发展迅速,但万变不离其宗,只要清楚了它们的基本原理和构造思想,不管它怎么变,都能做到知其然知其所以然。 作者:袁越阳 高级工程师 幸叶电子(苏州)有限公司
2楼 ??[转载]? Re:经验之谈:如何学好单片机
2008-12-04 17:00

作者:玩转单片机
积分:29分

一、 开发板简介 ZC600型单片机开发板是一款集单片机仿真、编程、ISP下载、模块化设计等多功能为一体的综合型开发板。该开发板芯片SST8?E58RD(该芯片与8051系列芯片完全兼容,开发板根据用户需要可配置8?C51、8?C52等多种芯片)。同时该系统具有扩展端口,扩展方便。配合光盘近百个详细的汇编/c语言例子程序,可以让您在最短的 时间内,全面、系统地掌握单片机编程技术。特别适合于大中专院校电子相关专业学生、有志于从事单片机工作的初学者选用。 二、ZC600学习板特点 1、 全开放的模块化设计:所有硬件资源均对用户开放,既可学习软件, 更可深入的了解硬 件。 同时该学习板具有极强的扩展性,用户可根据需要进行扩展; 2、高品质的工艺: 本开发板严格依据ISO9001质量管理体系工艺要求进行标准化生产,并100%全检,质量更有保证。 3、完美的例子程序: 集合本公司多年的开发经验,每个模块都有完整的带中文注释例子程序(汇编\C语言)、原理图、接线方法, 很多都可以直接拿来应用。快速提高您的硬件,软件编程水平。即便您是初学者,也能轻松掌握; 4、电源采用USB供电:使用更安全、方便; 5、仿真、编程简单、功能强大:ISP下载线与串口线共用1根线,可直接对芯片进行实时仿真、编程、调试等,使用极其方便简洁。不受电脑配置及操作系统影响,稳定性一流。 可单独做编程器使用,支持芯片多达100种以上(详见光盘); 6、价格低廉,性价比高:目前市面上同类产品价格均在500-1000元,本套件全套仅 售价368元)! 三、实验项目 1、 端口亮灯控制 2、最简单的8路跑马灯 3、8路端口开关控制8路led灯 4、报警器实验; 5、音乐实验 6、数码管静态显示:20080808 7、数码管动态扫描显示:12345678 8、端口按键判断显示数字 9、 4*4矩阵按键识别技术 10、继电器控制试验 11、字符型液晶屏显示屏显示字母:A 12、液晶屏显示:www.edu118.com 或www.edu118.cn 13、红外遥控接收发射 14、 24C02芯片I2C实验 15、单片机和PC机通讯程序 16、 LCD1286 4点阵式液晶屏显示汉字:中 17、 LCD1286 4点阵式液晶屏显示4行汉字 18、 LCD1286 4点阵式液晶屏显示图形 19、时钟芯片实验 20、 ULN2003芯片实验 21、 74LS373芯片实验 22、 步进电机单步实验 23、步进电机多步实验 24、 硬件PCB设计 25、 在线ISP编程学习 26、 仿真调试实验 27、综合实验1:秒表实验 28、综合实验2:时钟实验 29、综合实验3:时钟日期实验 30、综合实验4:公交车电子表实验 31、综合实验5:液晶屏显示年、月、日;时、分、秒实验 32、综合实验6:键盘控制通信实验 33、综合试验7:开发板综合测试实验 34、综合实验8:电子产品开发项目管理学习 35、综合实验9:项目学习实战案例 36、 扩展项目学习(利用排线可根据个人学习兴趣扩展近100种单片机试验:如AD试验、DA试验、恒温控制系统试验等,通过该扩展项目开发学习不仅可以大大提高个人的软件水平,更能提高个人的硬件水平及动手能力。本公司提供各种扩展配件供选用,如有需要可通过电话、邮箱、QQ等联系方式进行咨询). 四、系统配置 1、标准配置 1)、ZC600型开发板主机一台(已调试好) 2)、 配套STC8?C51芯片一片(和AT8?C51完全通用!) 3)、 配套仿真芯片SST8?E58RD一片 4)、串行通信电缆一根 5)、USB供电电缆线一根 6)、字符型液LCD1602 7)、 配套精密步进电机一个 8)、 配套说明书一份 9).软件光盘一张(驱动程序\开发工具\例子程序\单片机资料\开发教程) 选配件 1)、汉字型液晶屏LCD1286 4,可选件,和本产品一起购买,只需68元。 五、售后服务 在无自行拆修情况下,本产品自售出日起三个月免费包换一年保修。(实验芯片、仿 真芯片除外)客户可直接与本公司或者各代理商处更换。 六、技术支持 凡本产品用户可通过邮箱等方式和我们联系,以便得到更多的使用帮助和更多的 源程序!同时群中随时都有数十位朋友在和你一起分享学习的喜悦! 全国统一售价: ZC600开发板:298元/套(不含邮费) 另单片机、ARM技术培训,Linux系统等技术培训QQ:426370399 13510783517 更多信息请登陆:http://www.edu118.com http://www.edu118.cn

最后编辑时间: 2009-04-16 17:16
3楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-01 20:28

作者:diangong
积分:2分

不错,下来看看,感谢一下

4楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-01 20:28

作者:diangong
积分:2分

不错,下来看看,感谢一下
5楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-01 20:31

作者:diangong
积分:2分

不错,下来看看,感谢一下

6楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-01 20:31

作者:diangong
积分:2分

不错,下来看看,感谢一下

7楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-28 09:25

作者:dmzy007
积分:10分

说得好
8楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-09-28 11:40

作者:我飞翔
积分:7分

很好啊。学习了

9楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-10-14 17:27

作者:eloon
积分:14分

不错,学习了
10楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-12-04 10:43

作者:wanggong
积分:20分

学习单片机最重要的是要多动手,入门不难,学好了也不容易
11楼 ??[转载]? Re:经验之谈:如何学好单片机
2009-12-04 14:28

作者:仗剑江湖
积分:7分

看看
12楼 ??[转载]? Re:经验之谈:如何学好单片机
2010-01-23 15:14

作者:电子海豚
积分:19分

学习中,谢谢分享。
13楼 ??[转载]? Re:经验之谈:如何学好单片机
2010-02-01 15:14

作者:呜呜
积分:12分

恩,学习了,
14楼 ??[转载]? Re:经验之谈:如何学好单片机
2010-02-01 15:50

作者:yxbga
积分:17分

您好!
深圳市远阔科技有限公司
专业BGA焊接,植球,返修,具有先进光学对位系统的专业BGA返修设备,可确保焊接质量;承接PCB贴片,样板,中小批量。外地客户可邮寄,速递。承接原理图,PCB设计。此外,供应成套二手BGA返修设备。
地址:深圳市宝安区西乡流塘新村四巷二号207
电话:0755-27933339
手机:15323720669
?
QQ?:836105051
点击登录,立即回复。
话题PK
三星手机在中国是否会雪崩式倒下?

MOTO、NOKIA、索尼等手机巨头都是雪崩式倒下,三星手机最近也遭遇到市场近几年来首次的下滑。这是三星手机暂时性的困难,还是三星手机正在重走其它手机国际巨头的老路,积重难返,从此被国产手机所取代?欢迎大家表达自己的看法,谢谢。

正方:?三星手机在中国肯定会倒下。

反方:?三星手机还有能力东山再起。

如何获取小组积分
? 创建一个小组+5
? 加入一个小组+1
? 登陆访问小组页面(每天只计算一次) +1
? 被管理员踢出小组 -5
? 在小组中发表话题一次+5
? 小组有新成员加入,管理员可获5
? 所管理的小组本周发帖数>=10,管理员得 20

有问题请反馈