新闻中心

EEPW首页>嵌入式系统>牛人业话> 菜鸟零基础学电子之像把妹一样去学51

菜鸟零基础学电子之像把妹一样去学51

作者:Snake0301 时间:2013-11-20 来源:电子产品世界 收藏

点灯

本文引用地址://m.amcfsurvey.com/article/192430.htm

  就好像伟大的程序猿们,学习一门新的语言时,先会尝试打印一句“Hello World!”一样,高手们拿到一块新的,往往都会先拿来点亮一个LED。不要小看这个点亮LED,虽然很简单,但是至少要求有基本的模电知识和了解这块的IO端口的基本操作。LED啊LED,PN结啊PN结,导通啊导通,发光啊发光。在模电里面我们知道,LED其实就是个掺入了电致发光材料的PN结,只要PN结导通,并有电流流过,就能够发光。瞧瞧上面的两种接法,假设IO口是P1.1,D1在IO口输出什么电平的情况下发光呢?看看接法1,D1阳极连接Vcc,阴极连接IO口,D1导通的前提是PN结正偏,阳极电压要大于阴极电压,且差值要大于某个值,这个值由D1的材料特性决定。到这里,P1.1要输出啥,D1才会亮呢?吼吼,必须是一个低电平哟。那好,代码里面,我们写上“P1.1=0;”,编译下载,“咣机”,瞧瞧是不是灯亮了?要是我们再写一个300ms延时函数delay(),“P1.1=1;delay();P1.1=0;delay();”,重新编译下载,瞧瞧,灯是不是闪起来了?吼吼,控制就是这么简单。还有接法2,大家可以自己分析一下了。在这个基础上,还有更多的玩法,跑马灯、呼吸灯等等。

中断

  这部分涉及IO口操作很少,基本上都是内部中断的操作。中断,其实就是优先级更高的一个任务;比如周末有一打算睡到12点的任务,当您正在呼呼大睡的时候,突然老板9点钟打来一个电话中断了睡觉任务,并给出12点前完成深入开展当的群众路线的高质量个人对照检查材料的任务,睡觉任务被打断了,只能起床苦逼地进行写材料的任务,10点钟完成材料的撰写并发送任务后,继续睡觉到12点。上面这个流程,基本上就是一个中断的基本流程。而我们操作内部中断,主要是为了确定是否应答中断和中断如何开始。S51的中断寄存器常用的有6个,中断允许控制寄存器IE是决定系统是否响应中断,如果需要中断,这个寄存器必须要置位;定时器控制寄存器TCON决定系统是否采用定时器方式来激活中断;定时器工作方式控制寄存器TMOD用于选择定时器的工作方式,一般需要先使用定时器初值赋予寄存器(TH0/TH1,TL0/TL1)来装载一个初始值,然后根据TMOD来确定是加计数至溢出来产生中断,还是减计数至0来产生中断;串口控制寄存器SCON则是确定是否由串口数据传输来激活中断;而中断优先控制寄存器IP则是用于控制多个中断产生时,系统响应的顺序。当然,最最重要的还是中断服务程序,也就是一旦中断来临,系统需要进行的动作,一般情况下,建议中断服务程序还是尽可能的简单,不要进行复杂的数据运算或长时间的延时,最好只是给出一个事件标志,由main函数根据这个事件标志去完成相对应的动作。

  中断是里面的压轴货,从应用层面来讲,可以实现简单多任务,如果中断high不起来,谁也不能说自己精通S51。

外设驱动

  一个系统,只有51单片机,那叫光杆司令,绝大部分情况下,51单片机外围会连接各种各样的芯片,这些芯片会以各种总线形式与单片机相连接,常见的有1-wire、I2C、SPI、Can等等。物理连接后,单片机与芯片之间必须建立起某种协议才能正常进行通信。啥叫协议?听上去很牛逼,其实说白了就一句话,语言、习惯要相通。先说语言,就好像说话,单片机说汉语,外设芯片说德语,咋沟通交流?再说习惯,就好像喝酒猜拳,外设芯片猜拳前要开场词“哥俩好”,单片机单刀直入直接喊拳码,这样哥俩明显不能同步,不能交流了撒。一般情况下,都需要利用数电知识仔细研究外设芯片的操作时序,操作时序图直接描述了外设芯片的语言习惯,对单片机编程时,必须符合外设芯片的语言习惯,兄弟俩才能正常沟通。以I2C总线为例,I2C总线空闲时,单片机以启动信号START来掌管总线,以停止信号STOP来释放总线;每次通讯以START开始,以STOP结束;启动信号START并后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R/W位为0表示由单片机向被控器件写数据,R/W为1表示由单片机向被控器件读数据;当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号ACK;单片机检测到ACK信号后,开始数据的传输,每个字节数据传输结束,都会发送一次ACK信号,如果全部结束则发送NACK信号,每个数据字节在传送时都是高位(MSB)在前。这个例子其实可以很明显地看出,要想完成外设芯片的驱动,必须通过迪特希特的时序图了解它的习惯,让单片机去适应它,最后达到天人合一,鱼水交融的境界,就像把妹一样。邪恶了,吼吼。

小结

  上面是小弟在学习过程中的一点点小认识,由于能力关系肯定会有不对的地方,欢迎各路大神,各种品牌、各种材质的板砖。

  其实单片机入门没有那么困难,特别是用简单方便的51单片机来入门,简直是无敌了,但前提是要熟悉编译环境和一定的基础。学51单片机和屌丝们把妹是一样一样的,你用心去对待它,用热情去融化它,用真诚去感动它,女神也会被推倒。

c语言相关文章:c语言教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭