当前位置:文档之家› 如何学好单片机(致初学者)

如何学好单片机(致初学者)

如何学好单片机(致初学者)
如何学好单片机(致初学者)

如何学好单片机(致初学者)

最近常常被人问到:“怎么样才能学好单片机呢?”

面对这种问题,我都是不做回答,因为确实没法回答,但是问得人多了,不免引发了自己的思考,下面,我把我的学习经历分享出来,以供初学者参考。

一、启蒙阶段

大一的时候,学习的是电路基础和模电数电,电路基础上,做一些诸如电机正反转的电路,模电数电课上,就自己做功放、电源等小制作,当时也是凭着自己的兴趣,做起来很认真,但实事求是的说,理论知识没记住多少,只能说,了解个大概。

二、学习微机原理

当时我们讲的是8086,这对了解计算机结构是不可或缺的,我也是在那时候起,接触到了汇编编程

三、汇编语言学习单片机

大二的时候,开始学习51单片机,当时我那届学生,开设的都是汇编语言教学,课程上,做得也都是可以用软件仿真的小设计,差不多学了三个月后,掌握了基本语法和单片机寄存器(如果有学习8086的基础,三个月的时间足够了)功能,就做一些实物,那时候,认识到,做实物和仿真的区别如此之大。

四、进阶

认识到仿真和实物的巨大差别后,我就放弃了仿真学习单片机的方式,转而通过实物。我的第一个作品是篮球计时计分器(不是课程设计,是真实的作品),当时很多东西都不懂,只能自己去查资料,比如说,74HC245,我那时候第一次接触,就查百度了,还有三极管电路等等,都是百度查到的,因为有大一打下的基础,电路图一看就懂,剩下的就是焊接实物测试了。拜良师所赐,我的焊接技术在速度和质量上,都还可以,所以,可以在很短的时间内,可以完成硬件测试。

自主学习的主要过程就是查资料了,对于一些基础的资料(IC参数等),网络上都是现成的,如果看不懂,那谁也没办法。问题是,为什么我就可以看得懂呢,这就又要回到我大一的时候所学的课程,那时候读书还算用功,培养了这种学习能力。换句话说,哪怕以前你是搞文科的,只要有学习、理解的能力,那么到另一个领域,也不会觉得无从下手。

然后就是编程了,很多网友问我数学是不是很好,我只能表示惭愧了,高中的时候,我的数学分数都在40分左右(满分150),大学后,在30分左右。但数学不好,不代表不能编程,哪怕是用汇编语言。

那么,如何编程呢?有人说,先画流程图,然后再写程序、调试。我想,这是数学比我好的人说的,我的方法如下:

1、用文字描述自己需要的功能(假设功能大于2)

2、拆分出各个功能,用文字描述每个功能是如何实现的

3、完成各个功能的程序,并做好测试,对于我来说,如果了解单片机的工作方式,那么编写程序其实就是把汉语翻译成汇编语言。

4、修改每个功能模块的程序,尽量让程序简短,并且预留好和其他功能衔接的功能(接口、变量等)

5、合并简单功能模块,复杂功能逐一合并,每次合并做好程序备份,以便纠错

6、如果上述工作做的足够好,那么可以直接得到想要的结果,我的程序往往都是写完了就可以用,这是建立在部分模块程序的完美基础之上的。

如果是设计了独一无二的作品,比如说我的立方光(我是独立设计的原理和程序,不管是新

版还是旧版),那就在第一条补充一条:构思,这需要你对单片机很了解,预想如何实现,会遇到什么样的问题,以及解决的方案。立方光我构思了2个月,真正做实物的时间,只有一周。等到了新版立方光问世,我也是用了三周构思,一周做实物。

五、学习c语言

通过一段时间的学习,我认识到了汇编语言的优越性,也认识到它的缺点,这点我们稍后再说,先说一下我现在学习c语言的情况。

因为之前有了做实物和编程的基础,我就通过项目来学习C,比如,做一个温度显示,用到了18B20,就自己百度资料,至于程序,我就找了开发板上现成的(说到这,买个开发板还是很必要的,要的是程序)。第一次接触C编程,VOID是啥都不懂,那就百度吧,可以说,一个程序,我要百度很久来理解里面的内容,不懂就是问师弟(他们现在是学C的),差不多一天的时间(包括查资料),程序也就完成了,当然,我还优化了原程序,自己改写后的程序比以前更简短,占用RAM更少,因为之前是学汇编的,一眼就看得出,程序改如何优化。

以上就是我的学习经验了,在这里我还是建议大家,要先学汇编语言,这没坏处,比如我,因为有汇编的基础,学起c来就觉得很上手,特别是自己可以写出更优化的程序。但有人说,汇编难学,就算学了,以后编程也用不到。那么我要说,我的立方光程序就是汇编的,怎么用不到了?很多单片机的参考资料,也都是以汇编作为原始资料的,你不懂汇编,怎么学习新的功能?学了汇编后,你会知道,单片机可以做哪些事情,哪些事情不能做,以及如何做好一件事情,这是单纯学C的人体会不到的。

那么汇编语言和C语言比起来,优劣势在哪里呢?我根据我的学习经验,写一点个人心得,仁者见仁智者见智,各位也可以发表自己的看法。

汇编做为测试程序最合适不过了,比如你想测试最小系统的好坏,那么随便更改一组IO的输出就可以了,用汇编的话,写三行足矣。如果测试某些IC的好坏,特别是需要脉冲的模块,那么汇编就更有优势,可以精确的控制时间,而且代码量极短。最后就是在RAM占用上,汇编语言,总是把RAM的占用在最低,而纯学C的人往往忽略这一点,都是想用多少变量就定义多少变量,对于RAM小的可怜的单片机来说,是一种灾难,在实际生产中,往往选用的都是廉价单片机,IO和RAM、ROM资源都很小,没有多少你发挥的余地,如果你的程序可以让公司把40P单片机换成28P的单片机,那么PCB板就节约了,如果你的程序能从2K简化到1K,那么单片机的购买成本也会降低,对于企业来说,一个板子省一毛钱都是巨大的利润,所以说,你程序的好坏,是影响的企业利益的,何况很多人也想自己创业呢!至于说,如何才能优化程序、写出最短的程序,那必须先要对单片机有足够的了解,而学习单片机的内部原理,是非汇编不可的。加上有人学单片机是为了向嵌入式进阶,那么学习汇编就是更是必不可少的了。C语言的优势我就不多少了,现在几乎都是在用C编程,我最近在学习C编程,也体会到了C强大,但这不代表我以前学的汇编就浪费了,比如stc 的eeprom程序,官方给的就是汇编,可实际来说,写成C更好,如果你不懂汇编,自然也无法翻译这些程序,谈何C的应用?关于这两种语言的话题,我就不再往下说了,免得又引起口水战,如果想学单片机,我建议学C,如果你想学好单片机,那就先学汇编再学C,这就我给初学者的建议。最后要说的是,汇编编程,非常锻炼人的思维,这也就是为什么都说汇编难学了,如果你在汇编上有一定的编程能力,那么再掌握其他编程语言的时候,学习过程就会变得很容易。

我想写到这里就差不多了,学单片机没什么窍门,作为一门知识,学它和学其他科目都用共性,谦虚、严谨、勤劳是必须的,不同的是,仅仅靠兴趣维持是不行的,它带给你的困难会很快让你失去兴趣,单片机,要的更多的是毅力,面对困难,只有勤劳,而不是所谓的灵感。

大多数人,都是经历几十次失败就停手了,我不是很聪明的人,我经历最多的失败足有300多次,我的成功,都是源于我的坚持,坚持正确的思路并持之以恒!

希望这些文字或多或少的给初学者一些帮助,早日入门!最后,给大家拜个早年,祝大家新年快乐!万事如意!版权所有https://www.doczj.com/doc/dd14901617.html,/版权所有,转载请保留出处.。

本文由https://www.doczj.com/doc/dd14901617.html,/收集整理。

STC15W系列单片机初学者教程

目录 因为网站限制原因,其他链接都不予显示,还有联系方式都不予显示,带来不便非常抱歉 1.开始学习了 2.15W4K32S4单片机简介资料 3.单片机可以用来做什么呢? 4.单片机示例!写一个串口通讯程序,您也可以直接先从这 步开始学习 5.相关资料链接(数据手册,其他进阶例子,开拓眼界) 6.售后持续支持 7.所有下载链接汇总 一. 开始学习了 这个宝贝包含的硬件,也就是给您发货的内容包含以下东西:

1.15W4K32S4最小系统板 1块 2.转串口下载器一个2303转串口 1块用来下载程序和串口 通讯 3.白色面包板一个 1块适合搭建各种电路 4.一个霍尔传感器,制作一个霍尔电路做一个磁控开关 5.若干杜邦针;连接电路 6.彩灯3 颗若干电阻学习彩色灯控制彩色灯 7.三极管若干个电位计 1个灯亮度控制 8.提供上面所有元器件手把手教程手把手教程

这篇教程能够让您学会什么呢? 1.怎么使用 4软件编写的程序,并且使用下载程序到单片机 上面; 2.串口通讯程序,另外在电脑端使用软件进行图形化显示 程序; 如果您有兴趣的话,希望下面对您学习工作有帮助,资料有点多,但是还是值得花一些时间实际操作演示,只有自己动手了,才能体会到更多的内容。

二. 15W4K32S4单片机简介 15W4K32S4单片机是一款非常优秀的51系列单片机,很适合用来作为初学者入门单片机世界。当然单片机的世界没有最强大,只有最适合的单片机。如果你有了解过什么是51单片机和一点C语言。就可以尝试进入这款单片机。边玩边搭建更多的电路,在玩中学习。 继续往下看,将会一步一步演示给您看具体怎么是使用这款单片机。请有耐心的看下去哦,不过如果一次看不完的话,可以分多几天来操作,关键是要坚持! 那么单片机可以用来做什么呢? 目前单片机渗透到我们生活的各个领域,小到电话,玩具,手机,刷卡机,电脑键盘,彩电,冰箱,空调,电磁炉,大到汽车,工业自动控制,机器人,导弹导航装置,甚至是美国的火星车,这些设备里面都含有一个或者多个单片机。单片机的数量不仅远超过机,甚至比人类的数量还要多。可见数量之庞大,用途之广泛啊。 三. 我们掌握单片机有什么用呢?

写给电脑初学者的一些建议(注册表篇)

【原创2008】写给电脑初学者的一些建议(注册表篇)发表于2008-02-03 14:04 在上篇文章中对新手朋友们关心的安全问题做了一点小小的阐述。今天,再就WIN系统中的注册表问题跟大家做个探讨。说实话,注册表问题很难写,不光是因为牵涉到了很多新手朋友们头疼的技术问题,而且覆盖面广、涉及的内容多,也很容易看花眼,但总是要写的,所以,如果新手朋友一下看不懂的话,建议多看几遍,多动手多验证,这样对提高你们对电脑的了解和维护都有很大的裨益。 有人曾经说过,了解了注册表就读懂了WIN系统,这句话是一点都不假的。那么,什么是注册表?注册表有什么功能?如何去修改注册表以达到最佳的效果?又如何来区分注册表里有用和无用甚至是危害的部分呢? 什么是注册表?在还是使用Dos和Win3.x操作系统的时代里,大部分的应用程序都采用了ini文件(初始化文件)来保存一些配置信息,如设置路径,环境变量等。system.ini 和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数目的不断增加和复杂性的日益增强,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,几乎没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每次增加的内容会导致系统性能越来越慢,在每次应用程序的升级都出现类似的难题:升级后会增加更多的参数项但是从来不去掉旧的参数设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了能够解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini 文件,这样下来多个.ini文件影响了系统正常的存取级别设置。 在windows操作系统序列里,system.ini和win.ini这两个文件包含了操作系统的所有控

51单片机基础知识试题题库(含答案)

第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。 3、当使用8751且EA=1,程序存储器地址小于1000H 时,访问的是片内ROM。 4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。 5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。 6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。 7、PSW中RS1 RS0=10时,R2的地址为 12H 。 8、PSW中RS1 RS0=11时,R2的地址为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。 10、PC复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。 12、PC的内容为将要执行的的指令地址。 13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。 14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。 15、若A中的内容为63H,那么,P标志位的值为 0 。 16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。这时当前的工作寄存器区是第 0 工作寄存器区。 17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。 18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区 和用户RAM区。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到 PC 。 20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS -51的PC是16位的,因此其寻址的范围为 64 KB。 21、MCS-51单片机片内RAM的寄存器共有 32 个单元,分为 4 组寄存器,每组 8 个单元,以R0~R7作为寄存器名称。 22、但单片机的型号为8031/8032时,其芯片引线EA一定要接低电平。 二、选择题: 1、当MCS-51复位时,下面说法正确的是( A )。 A、 PC=0000H B、 SP=00H C、 SBUF=00H D、 P0=00H 2、PSW=18H时,则当前工作寄存器是( D )。 A、 0组 B、 1组 C、 2组 D、 3组 3、MCS-51上电复位后,SP的内容应是( B )。 A、 00H B、 07H C、 60H D、 70H 4、当ALE信号有效时,表示( B )。 A、从ROM中读取数据 B、从P0口可靠地送出低8位地址 C、从P0口送出数据 D、从RAM中读取数据 5、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器

单片机学习感悟

这个我从别处贴来百度文库的。写的非常的好。我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱!!! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。 。“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有

限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字“从单片机初学者

初学占星(写给初入门的童鞋)

初学占星 (写给初入门的童鞋) 作者:简单 好多童鞋都问“我这样的小白能学占星吗?能学好吗?学占星要从哪开始学?需要看哪些入门书籍?”没问题的,大家都能学,大家都要对自己有信心。 为了入门的童鞋少走些弯路,在下就把自己学习占星的经验和思路跟大家分享一下。 首先要说的是我们要端正学习占星的初衷,占星是认识自己,认识世界的一把钥匙,千万不要把占星当做算命的手段过度迷信。教条的话不多说,下面就来分享下在下学习占星的思路。这里主要介绍的是现代占星(现代占星也就是心理占星)。 第一,符号的学习。 要想学习占星,不认识这些星盘上的符号是不行的,所谓的符号,就是行星和十二星座的符号。初学者建议不要记太多的符号,最好先记住十大行星和十二星座的符号,我们看命盘时最需要的就是这两种符号。其实所谓行星,就是太阳系的八大行星加上太阳和月亮。所谓十二星座,就是黄道带上的十二个星座,占星上的十二星座和天文上的十二星座是有所区别的。 十大行星符号 ???♀ ♂ ????? 十二星座符号

第二,守护星的学习。白羊座,火星 金牛座,金星 双子座,水星 巨蟹座,月亮 狮子座,太阳 处女座,水星 天秤座,金星 天蝎座,冥王星 射手座,木星 摩羯座,土星 水瓶座,天王星 双鱼座,海王星 第三,星盘的学习。

这是一张由Astrology32软件绘制的星盘。星盘的最外圈标有星座符号的是星座,然后是刻度(最小的格代表1度,一个星座是30度),然后标有数字的一圈叫做宫位,最里边各种颜色的线叫做相位。星盘上有四个点,其中Asc叫做上升点,Des叫做下降点,Mc是天顶,Ic是天底。以上是一张星盘的基本信息。 第四,十二星座分类 做了张表便于记忆,顺便把守护星也加了进去。所谓的四分也就是四元素。 综合了以上信息以后,基本上就能看懂一张星盘也能大致明白别人说的什么星落在什么星座什么宫上与什么星形成了相位。接下去就需要更具体的理解星座的含义了。

单片机初学者必看

单片机初学者必看 51、A VR、430、ARM(包括嵌入操作系统)、FPGA当前单片机系统如此丰富,对于新手到底该如何选择呢?我认为最大的误区,在于新手普遍的追时髦心理,急功近利心理,妄想短时间之内学会ARM,学会嵌入操作系统。网上资料、厂家宣传、培训机构广告也对初学者产生误导,使之误认为ARM很容易学。但是没有51单片机知识作为基础,其他一切都是空中楼阁。必不能达到预期效果。51单片机作为入门级产品,现在更多的体现在教学意义上了。虽然大部分的产品,已经淘汰51,使用高级芯片或者增强型51芯片,但是奉劝初学者,还是要从底层、基础、即51开始单片机的学习。学好、学会、精通51单片机再学习其他单片机也能很快入门。 第二个问题,学习单片机,需要有哪些基础,入门都学哪些东西。 很多初学者经常问,我能学单片机吗?难吗?我现在什么也不会啊?这里想说几句,要想学习单片机开发,需要有以下几方面基础,但要求并不是很高,可以在以后的学习过程中慢慢学。 1、电路基础:一些数字电路、模拟电路基础。毕竟以后要自己设计电路,这些知识是很有用的。 2、C语言基础:我个人比较喜欢C语言开发,相比汇编最大的优点就是移植性要好。学习51单片机,C语言编程当然需要有些基础。 3、一些单片机的基础知识:虽然是初学者,但是一些基础理论知识还是应该知道的。 4、一些焊接等动手能力,这个要求就不是那么严格了。呵呵。不过能搭一手漂亮的电路还是挺好的。 怎么样算入门? 1、学会使用编译器软件:就是在编译器下建立一个项目,编写一点点代码,生成一个程序文件。当你熟悉这个流程以后,就变得非常容易了。不过第一次还是很难实现的,最好有一个比较详细点的教程。 2、学会使用下载工具和软件:把程序烧录到单片机里,运行起来,需要动手去操作。 3、学会使用调试工具:如有条件,可以学习硬件仿真调试。 4、以上可以在学习板上实现,不过以后你要学会自己设计并制作电路。所以还要学会PRTEL软件使用。 第三个问题,学过一段51单片机了,入门也会了。以后怎么办啊? 很多初学者,学了一款51学习板,基础东西也都会了,下一步怎么发展却不知道了。下面的一些理论是我的一点不成熟想法,有这样困惑的朋友可以参考参考。 1、单片机的平面发展理论:不断学习同一个层次、不同结构、不同品牌的单片机。 学会了一个系列、一个公司单片机,比如51(AT89S51),了解的它的全部内部资源。下一步学习,仍然可以围绕51进行。可以扩展到其它公司的51单片机,比如stc、pic因为他们有很多增强型51单片机。功能比普通AT89S51强很多。如果可以,接触更多的同系列的51单片机。最终能够在做产品时,选择最正确的单片机,对每一种51单片机的优劣有清晰的判断。 2、单片机的纵向发展理论:不断学习高级别的单片机。 在学会一个系列的单片机,继续学习高级的单片机,比如从51到A VR、到ARM。可以学习到更多的单片机,接触到更多的知识。 3、单片机的外围发展理论:不断学习单片机的外围功能模块。 学会一个系列的单片机以后,转而研究外围电路。不论是输入、输出、通讯、逻辑和计算。单片机外围电路千变万化,其功能模块也千奇百怪。这样的模块学的越多,对你做产品的好处越大。毕竟所有功能模块都是用在单片机上的,不论是51还是ARM都需要有外围电路才能实现功能。

献给初学者-DSP入门教程

前言:此资料也是来源于网络,并不是我们原创,但是希望这些资料能够给初学DSP的朋友们一点帮助,也希望你们能够把这里当成是你们学习DSP技术的一个家园,让我们携手共建,为更多的朋友创造学习的条件~ 1、TI DSP的选型 主要考虑处理速度、功耗、程序存储器和数据存储器的容量、片内的资源,如定时器的数量、I/O口数量、中断数量、DMA通道数等。DSP的主要供应商有TI,ADI,Motorola,Lucent 和Zilog等,其中TI占有最大的市场份额。 TI公司现在主推四大系列DSP 1)C5000系列(定点、低功耗):C54X,C54XX,C55X 相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS等应用。处理速度在80MIPS--400MIPS之间。C54XX和C55XX 一般只具有McBSP同步串口、HPI并行接口、定时器、DMA等外设。值得注意的是C55XX提供了EMIF外部存储器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。两个系列的数字IO都只有两条。 2)C2000系列(定点、控制器):C20X,F20X,F24X,F24XX ,C28x该系芯片具有大量外设资源,如:A/D、定时器、各种串口(同步和异步),W ATCHDOG、CAN总线/PWM发生器、数字IO脚等。是针对控制应用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有该系列有异步串口可以和PC的UART相连。 3)C6000系列:C62XX,C67XX,C64X 该系列以高性能著称,最适合宽带网络和数字影像应用。32bit,其中:C62XX和C64X是定点系列,C67XX 是浮点系列。该系列提供EMIF 扩展存储器接口。该系列只提供BGA封装,只能制作多层PCB。且功耗较大。同为浮点系列的C3X中的VC33现在虽非主流产品,但也仍在广泛使用,但其速度较低,最高在150MIPS。 4)OMAP系列:OMAP处理器集成ARM的命令及控制功能,另外还提供DSP 的低功耗实时信号处理能力,最适合移动上网设备和多媒体家电。 其他系列的DSP曾经有过风光,但现在都非TI主推产品了,除了C3X系列外,其他基本处于淘汰阶段,如:C3X的浮点系列:C30,C31,C32 C2X和C5X系列:C20,C25,C50 每个系列的DSP都有其主要应用领域. 2、设计中如何得到技术参考资料以及如何得到相关源码 原则是碰到问题就去https://www.doczj.com/doc/dd14901617.html, 1)在TI网站的搜索中用keyword搜索资料,主要要注意的就是Application Notes,user guides 比如不知道怎样进行VC5402的McBSP编程,搜McBSP和VC5402 如果不知道如何设计VC5402和TLV320AIC23的接口以及编程,搜TLV320AIC23和VC5402; 这样可以搜到一堆的资料,这些资料一般均有PDF文档说明和相应的源程序包提供,download后做少许改动即可 2)来DSP交流网,HELLODSP真诚欢迎每一位有需要的朋友 3)google搜 4)再不济,找技术支持,碰运气了 3、如何看待TI DSP庞杂的技术文档 新手进行DSP开发学习之时,常常感觉技术文档太多,哪本都有用,哪本都想看,无从下手。此时原则是只看入门必须的、只看和芯片相关的。根据经验,如下的资料必看不可: 1)讲述DSP的CPU,memory,program memory addressing,data memory addressing的资料都需要看、外设资源的资料可以只看自己用到的部分;

单片机MCU基础知识,初学者必看

单片机MCU基础知识,初学者必看 1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。 2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。 3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。 4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。 5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。 6.如何区分有源蜂鸣器和无源蜂鸣器? 从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。 有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。 7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。 8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。因此在进入低功耗模式之前,必须配置莫个片内外设的中断,并允许其在低功耗模式下继续工作。如果不这样,只有复

从单片机初学者迈向单片机工程师_完整.doc

目录: KEY篇第一章----按键程序编写的基础 KEY篇第二章----基于状态转移的独立按键程序设计 LED篇第三章—模块化编程初识 LED篇第四章----渐明渐暗的灯 LED篇第五章----多任务环境下的数码管编程设计 我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱! !! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。 期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来, 看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏。卖弄”也好,吹嘘”也罢,我只是想认真的写写我这一路 走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。如果有啥好的想法和建议一定要说出来。 一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是 LED,液晶, 而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字从单片机初学者迈向单片机工程师”。名字挺大挺响亮,给我的 压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX 的人,希望能够给我们这些初学者更多的一些指点哈?@_@ 我们首先来看第一章节

51单片机C语言入门教程详细解说

单片机c语言入门 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

单片机基础知识

1.一个完整的微机系统由硬件和软件两大部分组成 2.微型计算机的性能指标: 字长、运算速度、存储容量、软件配置、外设扩展能力 字:一组二进制数,字长:该二进制数的位数,字长越大,计算机处理数据越快运算速度:表达方式:cpu主频,越高,运算速度越快 存储容量:内存储容量(cpu直接访问存储器)、外存储容量(硬盘容量) 2.计算机系统:硬件系统(冯.诺依曼结构)(运算器、存储器、控制器、输入输出设备)、软件系统(运行程序和相应文档) 3.CPU主要组成部分:运算器、控制器 ALU运算器核心、累加器A、标志寄存器FR(C进、借位,OF溢出标志)、(不影响标志位CY的指令:INC A) 寄存器组RS、控制器CU(pc程序计算器、ir指令寄存器、id指令译码器) 4.存储器:RAM、ROM,其中RAM 具有易失性,常用于存储临时性数据 存储器的地址范围是0000H~0FFFH,它的容量为4KB(16*16*16=4*1024) 5.总线bus:传递信息的公共通信公道 片总线、内总线、外总线 地址总线(AB)、控制总线(CB)、数据总线(DB) 6.单片机(芯片)包括五部分:运算器、存储器、控制器、输入部分、输出部分8051:8位单片机 8031:复位后,PC和SP为:0000H、07H 7.二进制B、八进制O、十进制D、十六进制H 8.原码、反码、补码、压缩BCD码

9.单片机引脚: P1.0VCC(40引脚)P1.1P0.0 P1.2P0.1 P1.3P0.2 P1.4P0.3 P1.5P0.4 P1.6P0.5 P1.7P0.6 RST P0.7 RXD EA/VPP TXD ALE/PROG ITR0PSDE ITR1P2.7 T0P2.6 T1P2.5 WR P2.4 RD P2.3 XTAL2P2.2 XTAL1P2.1 GND P2.0(21引脚)

单片机初学者必须掌握的几个概念

单片机初学者必须掌握的几个概念 一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。 在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能用,分配地址当也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。 二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是串‘0‘和‘1‘组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。 2方式字或控制字(如MOV TMOD,#3),3即是控制字。 3常数(如MOV TH0,#10H)10H即定时常数。 4实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执兄令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来行了。 三、P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有个切换的过程,或者说要有一条指令,事实,各端口的第二功能完全是自动,不需要指令来转换。如、分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从 P3. 或送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用‘也并不是‘不能而是(使用者)‘不会‘将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB 的指令,并且当单片机执行到这条指令时,也会使变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。 四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000‘单元开始执行,也就是说:在系统的ROM中一定要存在‘0000‘个单元,并且在‘0000‘单元中存放的一定是一条指令。

[绘画入门]写给美术初学及自学者们的忠告

[绘画入门]写给美术初学及自学者们的忠告 作者网名: 夜风 QQ: 36049393 教学网站: https://www.doczj.com/doc/dd14901617.html, 美术生涯: 1998年~至今[>15年] 职业岗位: 美术指导/艺术顾问/ 兼职岗位: 插画/原画讲师 我曾经见过一位顽固不化的学生,喊着[自学]绘画入门---他每天花3个小时苦练画技、基础、概念、理论等等。。。坚持了2年半!可是最后他被别人发现并指出,其方法极度错误、而且个人存在很大的认识误区、根本没有导师去及时纠正(因为他是自学)。---虽然他的确挺勤奋,但勤奋,并不代表花几年时间就能成才,因为“专人指导”跟“自学”,完全是两码事! 这个例子,不只是说给绘画入门的初学者,同时也是忠告已经自学了一段时间的绘画[自学者],如果你是刚刚开始打算[自学]美术绘画的朋友,希望你认真的看看这篇文章,也许你当初的想法会改变! 不要相信天赋,更不要相信[自学成才]。我从来不推荐[自学],那是千分之一甚至万分之一的机率,说真的你还不如去买彩票机率更高! 学习美术,与中国大课堂式教学方式,必须分开两条路来认识,否则通常都是失败告终! 说得难听又实在些,我认识的好几位国外艺术同行的话来说:“中国式教育体系=低端的模式化教育。”---这句话并不是吐嘈国家的教育方式,学龄普及教育用大课堂方式的确没错,但如果针对艺术门类的教学,绝对不适用! 而且弊端很大! 首先,大课堂式教学,一位老师VS众多学生,必然无法分身顾及不同学生的不同需求、不同层次阶段、不同学习能力、不同的领悟能力....等等。因为老师也只不过是一个凡人,个人能力都有限。因此势必无法针对不同学生的不同阶段,给予最有针对的方案和指导;很多国外学校,比如法国,有不少比较有名的美术学院,绘画入门的时候,都是老师在选学生入门,因为一个老师不会同一时间指导超过三个学生,通常都是[一对一]或[一对二] !

单片机学习心得10篇

《单片机学习心得》 单片机学习心得(一): 单片机学习心得体会 我从大二起,就去实验室去学习。在那里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。 我是从学习单片机开始我的嵌入式学习的。 我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不明白改怎样学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器透过编写程序,我慢慢的弄懂了它们,此刻回头看去,原先它还是很简单的。 用哪种编程语言最适合我们。 我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,十分难懂。我认为刚开始学习单片机没有必要必须要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。 我的单片机学习心得。 很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。 单片机的学习实践。 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是十分重要的。如何学习好硬件,动手实践是必不可少的。我们能够透过自己动手做一个自己的电子制作,透过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就能够多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。 这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。

送给手绘初学者的个人建议

本文主要是针对初学手绘的建筑学专业同学或建筑手绘爱好者。对于专业性质很强的,针对考研、出国或某些高端的手绘工作,或其他专业可能并不完全适用。本文并不授人以鱼只授人以渔。 最近经常看到我们QQ群里面,有人提问该如何学习手绘。我留意了一下好像是以新入大学的大一新生居多。(虽然可能也有其他年级的学生或者是已经工作了的,又或者非本专业的朋友只是爱好设计)本人虽然不才,并不是什么大神或者教授。但是我还是稍微想说一些我的看法,或者说是我现在了解到的、认识到的一些道理,希望能给初学手绘的设计师们一些启发。如果真的能够帮助大家少走一些弯路,那将是我莫大的荣幸。 如果大家怀揣着对专业的热情和憧憬,想多了解一些有关于手绘的方方面面,那我将很乐意为您介绍回答。如果您就只是单纯的想知道该怎样学好手绘,或者具体点说,只是想选择培训班或者手绘教材,那可能不需要逐字逐句的看接下来的文章了。这里我简单推荐几本我当时选用的练习书籍。时代略有些久远,不过都是好书。我将会在群里一并提供电子文件。 钢笔线条:1、《建筑画环境表现与技法》钟训正/著 2、《建筑绘画及表现图》彭一刚/著 马克笔:1、《建筑画——麦克笔表现》夏克梁/著 2、《美国建筑画选——马克笔的魅力》R麦加里&G马德森/著 其实您大可以请教您身边的同学、老师或者同事,或者自己有针对性的在网上找找,下载一些电子书,我想您一定会找到适合自己的教程。毕竟现在应该有了更多优秀的手绘教材。但是在您选择之前,我还是想小小的补充几句:建筑手绘,是技术而非艺术,是一种设计表现方式而非美术创作。当然您如果有良好的美术基础,有敏感的艺术嗅觉,那肯定是极好的,但您假如没有,选一本适合您的教材或一个培训班之后,按部就班一点点的去学习表现方法,或者说是技法,就可以了,千万不要拿建筑学的去和美术专业的去对比研究,建筑手绘不等于绘画。手绘教材或手绘培训班,没有绝对正确、适用于所有人的学习方法。无论好坏,只要您撒下心,把它当作圣经一样每日的虔诚学习,就一定会有很大的收获。手绘离不开每日刻苦的练习。手绘在方法上的东西几天的时间便可以讲完,但个人在课下的练习两三年的时间也不嫌多。所以我想说的是,教材这种东西,没有严格意义上的好与坏的区别,之所以大家的手绘水平有高有低,可以说100%来源于个人的练习。———————————————————————————————————————————如果您既没有美术基础,也不知道该怎么样选择教材,怎么样开始学习。甚至不知道为什么要学习手绘,学习的目的何在。我认为您有必要请先认真的看完我写的这一大长段。 在解答怎样学好手绘之前,我希望大家先知道两件事情,第一件事是:手绘是什么。第二件事是我们为什么要学习手绘,或者是学习手绘有什么用,或者是更极端点的,假如有人对手绘深恶痛绝,画手绘犹如做高数题,那么我们可不可以不学习手绘。 手绘是什么:我认为手绘就是靠手拿笔,在纸上去表达设计。作用有二:一是能够清晰完整地向读者表达设计作品;二是效果要够抢眼。手绘可以笼统的分为三种。第一种叫做草图、手稿或者Sketch。这种手绘不需要漂亮的图面和表现,甚至通常只是寥寥几笔连颜色也没有,它追求的是——快。不仅画的时间快,还能帮助画的人节约思考时间,加快设计速度;

写给初学者──如何学习C语言

写给初学者──如何学习C语言(For computer related professional and programming of scholars........) 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。 一、要读就读好书,否则不如不读 所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。 大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的(PS:这句话不假,的确够浅显的,不过入门也够了,看过後在读别的书就不会太难了)。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误(PS:的确有错误,看的时候多注意下)。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:) Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。 如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦

相关主题
文本预览
相关文档 最新文档