2020年 12月 18日 星期五
您的位置: 威廉希尔主页 > 单片机技术 >

单片机学习汇总(一)

来源:未知     作者:威廉希尔     发布时间:2020-12-16 18:48         

  实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值。

  51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写。

  最近三星的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使用的产品,在室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。

  但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中?

  在51去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:MAX7219等芯片。

  市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;

  1. 单片机:atmel的89C51系列、winbond的78E52系列,还有philips的系列,都差不多;现在有一些有ISP(在线下载的),就更好用了;

  2. 看门狗:种类很多,我常用的有max691/ca1161和DS1832等,具体看个人习惯、芯片工作电压、封装等。Max系列和DS系列,还有IMP公司的,种类很多,一般只需要有最基本的功能就可以了;原来我使用max691,但是max691比较贵,因为它有电池切换功能,后来新设计电板,就都采用ca1161了。

  很早以前的电设计中,现在可能还有人使用,使用一个电阻和一个电容达成的上电复位电;但是,这样的复位电一个是不可靠,为什么不可靠,网络上能找得到专门论述复位电的文章;更重要的是,51系列的单片机比较容易受到干扰;没有看门狗电是不行的,当程序跑飞时,回不来了,死在那里。

  单片机和单片机抗干扰能力是不一样的。如果你的产品是工作在干扰比较大的,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了。小声的说:当时的philips的单片机抗干扰性能是最差的,可能跟Philips主要是用在民用领域有关。

  单片机的输入输出口线是最容易引进干扰的地方;在严重干扰的情况下,需要将所有的口线M,因为可以准确地得到9600波特率和19200波特率;也可以使用36.864M,这个频率是1.8432M的20倍,看别人的电板上用过,我也没有用到。这2种晶振很容易买到,价钱跟12M的一样。书上说,12M的晶振也能得到9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差一样,比较奇怪。

  即使你的单片机系统不使用RS232接口,也可以做一个Rs232,留着做测试,或者预留等等,没有坏处。除非你的单片机系统的口线pf,可以在有些书上找到什么晶振频率对应什么容量的磁片电容,但是,我都是随便拿来使用,反正在11.0592M下,都没有问题;如果你用到了更高的频率,最好还是找找资料看看。

  1. 查看门狗的复位输出,可能的话在电板上加一个LED,下拉,这样看起来就更方便;要是看门狗复位信号有,往下;

  2. 查单片机,看脚有没有问题;一般编程器能够将程序写入,说明单片机是好的;最好手头上准备一个验证过的单片机,内部有一个简单的程序,比如,在某个口线秒占空比的方波等,可以使用万用表测量。

  加一句:设计产品时,要在关键的地方:电源、串口、看门狗的输出和输入、I/O口等加不同颜色的LED,便于调试;作为批量大的产品,可以去掉部分LED,一方面是降低成本、一方面是流程保密;

  3. 再查磁片电容,有些瓷片电容质量不行,干脆换了;顺便说一下,换器件最好使用吸锡带,将焊盘内的锡吸干净,再将器件拔出,这样不会损伤焊盘内的过孔;再将新的瓷片电容焊接上去的时候,用万用表量量是好的再焊;

  5. 以上按照以上步骤检测时,将无关的外围芯片去掉;因为有一些是外围器件的故障导致单片机最小系统没有工作。

  如果程序里面有一些例程,也是已经经过测试可以拿来就用的;实际上是我早年的一些产品的程序的一部分;不好意思,都是汇编的。

  有了这些就基本够用了;其它的很多都是资料的翻译;如果英文不好,可以看看;英文好的话,可以不必了,省电钱买开发系统和编程器、开发板什么的,需要什么资料直接下载PDF文件好了。

  除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在讲系统之前,先将这些零零碎碎的东西一并交待。就好像一栋房子,有各种各样的构件组成,下面的这些东东就像砖瓦一样,没有不行。

  74系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,在目前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如:

  由于集电极开门可以外接高电压,可以最高到DC30V,电流最大到39mA,通常我用它驱动8字数码管和继电器等大电流的负载;开门内部结构是达林顿管的,输出的逻辑是正的;

  就是输出既不是高电平,也不是低电平,而是高的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片;

  d.这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到输出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘单片机的资源有限啊。

  在单片机按照RAM方式进行并行数据的扩展时,使用movx @dptr, A这条指令时,这些时序是由单片机来实现的。

  后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十ns级别的,对于单片机在12M下的每个指令周期最小是1us的情况下,完全可以实现;如果是你自己来实现这个逻辑,类似的指令如下:

  74ls573跟74LS373逻辑上完全一样,只不过是管脚定义不一样,数据输入和输出端各在一侧,PCB容易走线;所以大家都喜欢使用这个芯片。

  早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O等经常可以看到这个片子;

  为了增强驱动能力,有时是为了隔离输入和输出,主要是布线一样,输入、输出在一侧,经常用到这个片子

  1) 电压范围宽,应该可以工作在3V~15V,输入高,驱动能力差外,跟74系列的功能基本没有区别;

  5) 如果加上拉电阻的线) 唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数/分频器,这个74系列的做不到这么高;

  它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。

  有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。

  在各种应用中,往往有一些远距离的开关量信号需要传送到控制器,如果直接将这些信号接到单片机的I/O上,有以下的问题:

  要想打开6N136,需要比较大的电流,大概在15~20mA左右,才能发挥高速传输数据的作用。

  关键字:编辑:什么鱼 引用地址:本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。上一篇:基于51单片机中断跳出指令“RETI”浅议

  MSP430F5438A单片机在写Info Memory时,需要先把整页数据擦除,才能写进去。否则写失败。而且还得设置下载程序时不要擦除 Info memory, 否则存储数据失败。因为没此下载时都给你擦除了。

  开发板led点阵模块电图如下:74HC595:74HC595是一个8位串行输入、并行输出的位移缓存器。芯片第11角为数据输入时钟线脚为输出存储器锁存时钟线脚为输出有效(低电平)。芯片第14脚为串行数据输入。为表示出输入74HC595的8位二进制数,开发板加入了led模块(图一中绿色所示)。若要使led发光,则需将JP595接vcc。OE为输出有效控制端,低电平有效,所以务必将JOE短接片短接到GND端。_nop_();函数为延时一个机器周期,所对应头文件为intrins.h#includereg52.h#includeintrins.h#define

  要求:每次亮相邻两个灯,分别闪烁五次后,移动一位,汇编。做而论道编程如下:;------------------------ ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R2, #0FCH MOV A, #1;------------------------LOOP: MOV P0, R2 ;

  }}void main(){while(1){key();}}四、运行程序后成功后,打开proteus右键单击单片机AT89C51,找到编辑,然后添加hex文件

  显示状态:点阵上每隔1s显示一个数字,显示到9又重头显示不断循环#includereg52.h#includeintrins.htypedef unsigned int u16;typedef unsigned char u8;u8 flag=0; //时间标志位#define lie_io P0 //定义P0端口sbit RCLKK = P3^5; sbit srcLK = P3^6;sbit SER = P3^4; //串行输入u

  上学期期末的课设题目是led点阵广告牌,当时的要求如下:(1)能够显示不同字符的LED点阵广告牌;(2)按键切换不同的显示效果(如闪烁,静止,平移等);(3)按键切换不同的显示内容;(4)能够显示图形或自定义字符;(5)其他功能(创新部分);(6)系统调试、分析、总结与功能实现。当时用的是我用是的普中科技的STC90C51RD+的单片机,不过只要是51单片机,换哪个51内核的芯片都可以,只要电和程序匹配就可以。我用的那款普中科技的51单片机可以直接连线决定线的布置,不需要自己去重新焊一个电板。然后我根据任务要求连接了电,写了对应的程序,还有proteus仿真。另外,觉得有趣可以点个赞;有什么有趣的想法可以评论一下,我感兴趣

  有直播报名|Microchip 嵌入式安全解决方案:PolarFire SoC FPGA安全引导

  AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔