pic单片机晶振(pic单片机中断时间计算)
本文目录
pic单片机中断时间计算
关于PIC单片机T0定时器的计算是这样的4M晶振的时候一个时钟周期是1/f(f为时钟频率即4M)。也就是说一个时钟周期是T=1/f=0.00000025s=0.25us。PIC16f877是一个指令周期等于四个时钟周期就是说一个指令周期=4*T=1us。
而T0这个时间寄存器TMR0在装入初值后就自动加1每进行一个加一过程就消耗一个指令周期如果TMR0初始值为0x00就需要255us产生中断如果初始值为0x37(对应10进制为55)这时就需要200us产生一个中断
如何学习单片机
把这几个功能学透,你就掌握了单片机
单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握C语言当中各个功能的初始化、启动、停止各类函数的编写调试。那么想要掌握单片机需要从哪几个方面入手呢?
1.数字I/O的应用
在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。
2.RS232串口通讯
单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。
UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。对于无法在线调试的单片机,也可以通过PC机的串口调试软件来监视到单片机实验板的数据。
3.定时器的使用
学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。
4.中断
在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……比如,中断功能可以使单片机吃着碗里的,看着锅里的。根据传说中的8020定律,如果掌握了上面提到的这四步,那么就说明已经学会单片机80%的内容了。
5.I2C,SPI通信
单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。
6.比较、捕获、PWM功能
比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。
7.AD模数采集
单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。
8.学习USB接口、TCP/IP协议、工业总线
目前主流的通讯协议为:
USB协——下位机与上位机高速通讯接口;
TCP/IP——万能的互联网使用的通讯协议;
工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。这些都会应用在未来的项目里,集成入单片机里的固件,并且也是当前产品开发的一个发展方向。
欢迎关注头条号“玩转嵌入式”,获取更多电子设计知识。
如何在pic32单片机输入端配置上拉电阻
RB端口虽在单片机内部加了上拉电阻,但是是用于输入的,当你把端口设为输出时,上拉电阻就不起作用,不信可以参考Datasheet;RB作为输出时一般不需要加上拉电阻。问题可能出在你的配置位没有设置好,在烧写软件或IDE里面都能设置,4M的晶振要设成XT,8M以上晶振要设为HS(高速振荡),低电压编程位(LVP)也要关掉。
初学单片机需要准备哪些学习套件
一、材料篇
单片机学习少不了的常用材料,最好配一块单片机开发板学习。
在单片机的学习过程中,切不可有以下错误认识:1、看完学习视频后,认为自己这部分已经理解了,可以继续下一章节了;2,仿真通过了,那我这次编的程序肯定没问题了。首先第一条可能简单的部分是理解就马上会了,但碰到有难点的知识,当时你确实会了而且印象比较深刻,但如果等到你单独来完成这些内容,可能你就感到无从下手。所以在编程方面你可以先照着原程序打程序,抄的过程中又在慢慢理解,温故而知新,久而久之,也就八九不离十了。再说第二条仿真软件要求并不严格,有一点小错误也能正常运行,还有就是仿真出错了可能实物并不会有错误!所以在我们的学习过程中,要理论和实践相结合,实践才能出真知!而实践就需要不少材料,下面我们就来看看需要哪些常用材料。
上面基本上都会有用到,电阻、电容、三极管、led型二极管、单片机、IC(指集成电路,单片机是集成电路的一种)底座,一般每个电路都不会抛下它们。电阻一般常用图片中白色字体的;电容一般用22p,104,10uf;不同颜色的LED灯耐压值是不一样的,如果你都接同样的电阻,有的灯会亮些,有的灯会暗些,如果都不接电阻有的灯就烧坏了,有的灯还是一直亮着,而且亮度比较高。
上面图中三极管9013和9014都是NPN型,下面说说常用的三极管:
9011NPN30V30mA400mW150MHz放大倍数20-80
9012PNP50V500mA600mW低频管放大倍数30-90
9013NPN20V625mA500mW低频管放大倍数40-110
9014NPN45V100mA450mW150MHz放大倍数20-90
8050NPN25V700mA200mW150MHz放大倍数30-100
8550PNP40V1500mA1000mW200MHz放大倍数40-140
除了上图中的元器件,我们还得准备一些必备的元件:晶振、按键、自锁开关、电源接口。另外我们还可以买一些扩展元件:数码管、LCD1602、小电机、蜂鸣器、时钟芯片、红外接收头等等。当然如果我们有一套开发板,那就轻松了,因为大部分元器件都集成在上面了。看懂原理图,自己编程就能控制所有的东西。不过这样就缺少了一些乐趣,而且自己实践电路图是自己构思的,所有的东西都是跟着你的思路走的,而利用开发板,是利用别人的定义来进行自己电路的开发,在这过程中就不得不有所牵制!不过我还是建议先用开发板学习,然后自己动手实践!
二、单片机实验底板的选择一般常用的实验板有面包板、洞洞板、pcb板三种。严格来说pcb板一般不会用来做实验板,因为一般以pcb展现的实物都能够变成商品批量销售了。不过我们也可以把它当成实验板用,因为我们进入公司,一般都是以pcb打板的。闲话不多说,下面还是来注重讲讲这三种的优点和缺点吧。
1、面包板
面包板是由于板子上有很多小插孔,很像面包中的小孔,因此得名。面包板的优点是各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。缺点是容易接触不良、只适用于元器件较少的简单电路,复杂电路比较容易出错。
下面介绍一下其原理:中间有很大间隔的上下两部分是不导通的,而这两部分每列都是导通的,每行都不导通用于元器件连接。最上面的和最下面的各两行一般用于电源和地端。上下各只有一行就是一行做电源一行做地端。具体原理见图理解:
2.洞洞板
洞洞板也称万用板,是一种按照标准IC间距(2.54mm)布满焊盘、可按自己的意愿插装元器件及连线的印制电路板。相比专业的PCB制版,洞洞板具有以下优势:使用门槛低,成本低廉,使用方便,扩展灵活。但是如果电路焊接错误,取下元器件比较麻烦,而且易损坏元器件。只注重成果不注重美观,节省时间可以采用飞线,如果希望作品好看一点,可以走锡,在锡下埋裸导线。
3、PCB制板
PCB是英文“PrintedCircuitBoard”的缩写,直译就是印制电路板的意思.其含义是:以绝缘材料为基板加工成一定尺寸的板,上面至少有一个导电图形及所设计好的孔,以实现电子元器件之间的电气连接,这样的板称为印制电路板。之所以公司都会选择pcb,是因为它有很多独特的优点:1、印制板高密度能够随着集成电路集成度提高和安装技术进步而发展着;2、高可靠性,通过一系列检查、测试和老化试验等可保PCB长期而可靠地工作着;3、可设计性,对PCB各种性能要求,可以通过设计标准化、规范化等来实现印制板设计,时间短、效率高;4、可生产性,采用现代化管理,可进行标准化、规模化、自动化等生产、保证产品质量一致性;5、可测试性,建立了比较完整测试方法、测试标准、各种测试设备与仪器等来检测并鉴定PCB产品合格性和使用寿命;6、可组装性,PCB产品既便于各种元件进行标准化组装,又可以进行自动化、规模化批量生产。同时,PCB和各种元件组装部件还可组装形成更大部件、系统,直至整机;7、可维护性,由于PCB产品和各种元件组装部件是以标准化设计与规模化生产,因而,这些部件也是标准化。所以,一旦系统发生故障,可以快速、方便、灵活地进行更换,迅速恢服系统工作。而对于我们现在学习来说;pcb板我们不用自己再连接导线,简化了焊接,不容易焊接短路,缺点是成本太高,制作pcb图还好说,但是要把它打印出来,要么自己有专门的打印机,要么只能去网上批量打印,对于学习中的我们来说很不划算。
小编建议简单一点的电路用面包板搭建;较复杂且想一直保存的用洞洞板焊接;用于参赛或有望成产品的可制作pcb板。当然对于周围资源很丰富的学习者,哪个方便用哪个。
三、软件篇单片机常用软件
先放个整体图:
1、ProtelDxp
在完成了我们对自己作品的方案设想,第一件事就是要把电路图画出来,编程才能更加方便。Dxp是我们常用的电路画图软件,它不仅可以画常用的电路图,还可以直接将电路图转化为pcb图,很方便,当然有的时候我们可能遇到元件库里没有所需要的元件图或pcb,所以dxp还提供自己制作这些元件或pcb,可以说是非常的方便。
2、kecilc51
完成编程后,就要进行编程了。所用软件是常用于单片机类的编程软件kecilc51,这个软件不仅支持汇编,也支持c语言。而我们最终需要的是由这个软件输出的hex文件。
3、proteus仿真软件
完成程序编写无误后,我们先不急着焊电路板,可以先用这个仿真软件简单验证一下。当然仿真和实际还是有差异的,比如在仿真上有些引脚不连也没关系,所以只能起个参考作用,验证你的主要程序没问题。
4、下载软件
上面都没问题,就要把程序烧进单片机里面。根据单片机的生产厂家不同,下载软件也不一样,stc和下图一样,atm和其它都有专门的下载软件。下载工具可以用自己的开发板,也可以在网上买一个usb的下载工具。
5、取模软件
这个软件也不一定非要有,只是用到点阵液晶时很方便。想显示数字、图案、字都不用自己去计算地址码,直接自动生成。
这些软件在网上都能很快找到,一般买了开发板,资料里也会附带。软件不会用,网上也有很多的教学视频,很容易学会。在互联网时代,要都利用网络来增长自己的知识。
零是起源写于201808701:以上文章出自小编文章《单片机新手入门:材料篇》《
单片机新手入门:软件篇》,《单片机学习:单片机实验底板的选择》
pic死机是什么情况
你得注意看门狗的复位时间,检查是否过长,导致还没发生复位,你误以为没复位。
②你得验证,是否真的开启看门狗。可以通过软件陷阱设置死循环,等待看门狗复位。
③如果验证成功,就得考虑是否看门狗的时钟源停止了。比如外部晶振停振荡、系统休眠不复位等④检查软件,系统死机的地方,是否存在喂狗行为。
觉得有用点个赞吧