家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
您的位置:网站首页 > 电器维修资料网 > 正文 >

PIC单片机延时与可可逆计数器程序

★★★★★【文章导读】:PIC单片机延时与可可逆计数器程序具体内容是:附表中的后两条位测试(或位判断)指令,只需掌握其中任何一条指令的应用,均可学会它们的用途。位测试(或称位判断)指令btfss(或btfsc)主要是判断pic单片机的a口或b口某个位是否有电平发生了变化,若有变化,程序会…

来源: 日期:2013-11-14 15:25:52 人气:标签:

PIC单片机延时与可可逆计数器程序

功能


  
  附表中的后两条位测试(或位判断)指令,只需掌握其中任何一条指令的应用,均可学会它们的用途。位测试(或称位判断)指令btfss(或btfsc)主要是判断pic单片机的a口或b口某个位是否有电平发生了变化,若有变化,程序会按指定的方向进行。该两条指令常用于pic单片机,用人功方法起动输入口去执行某种功能,或pic单片机的a口、b口有输入脉冲作用时,使输出口执行一系列的程序功能。pic单片机面向位的指令其操作十分简单,是很常用的指令。
  
  二、面向字节的指令
  
  面向字节指令是指参与指令的操作数为pic芯片内寄存器的所有位即字节(8位),其指令格式如下:
  
  操作码  f,d
  
  以上格式中的操作码和寄存器f的功能与面向位的指令相同。
  
  格式中的d称为目标码选择指示符,其指示功能是规定操作的结果存放在哪个寄存器中。如果d=0,则结果存放在工作寄存器w中;如果d=l,则结果存放在指令所使用的寄存器中;d缺省,默认d=l。pic单片机面向字节的指令近20条,以下将逐步介绍它们的应用。

  1.寄存器f内容递减为零间跳指令
  
  格式:decfszf,d
  
  功能:这是一条具有条件判断性质的指令,即寄存器f的内容减1(即递减),若不为零,程序顺序执行;若为零,则程序跳过下一条指令(即间跳)再执行。寄存器内容减l结果存人寄存器f(指示符d=l)或存人工作寄存器w(指示符d=0)。
  
  2.寄存器f内容递增为零间跳指令
  
  格式:incfszf,d
  
  该条incfsz的指令,与decfsz的逻辑功能完全相同,不同的地方只需把上述的递减(减1)改为递增(加1)即可。
  
  上述两条指令的操作,均不影响状态位的变化。
  
  三、方波发生器和延时程序
  
  利用pic16f84制作方波发生器是pic单片机 简单的一种应用。
  
  发生的方波其 高频率与单片机时种频率(晶体频率)有关,而频率的下限可由软件任意设置:方波的占空比也可由软件任意设置;方波的输出电压和驱动能力为5v/25ma。pic16f84方波发生器的硬件电路如下图所示。电路中的晶振xl为2mhz(对16f84芯片 高可取20mhz),cl、c2和xl组成时钟振荡器;rl、c3、二极管d和kl组成手动复位电路;ra0口上的r2和k2组成方波发生的起动电路。rb7口为方波输出,其中led2为方波输出指示器。rb0~rb6口都未接有led,该7个输出端这里暂时不用,在后面介绍的可逆计数器时将被派上用场:r3、r4为发光二极管的限流电阻。

pic16f84方波发生器的硬件电路

  pic16f84方波发生器的流程如下图所示;源程序(命名为pic03.asm)清单如下:

pic16f84方波发生器流程图

程序清单

  说明:
  
  1.关于复位电路
  
  pic单片机的复位通常有几种方式:(1)芯片上电复位。因芯片内集成有上电复位电路(por),所以一旦给芯片供电,芯片会自动复位。所以读者会发现,许多pic单片机产品,常把mclr的反端(pic16f84的④脚)直接接芯片的电源vdd端或通过电阻接vdd,使芯片上电自动复位。在图l电路中若要简化电路,c3、d和开关kl均可不用,同样可到复位效果。(2)外部mlr引脚加低电平复位。对于一些特殊应用,可在mclr的反端引入复位电路。如图1中,在pic16f84的mclr的反④脚引入c3、d、rl和kl组成的复位电路,是为了后面介绍可逆计数器而设置的。当手动使kl按下时,给mclr(的反)端一个低电平脉冲,达到外部使pic16f84复位目的。(3)正常工作状态下,监视定时器wdt(又称看门狗)超时溢出复位(后文有专门介绍其用途)。当然还有其它一些复位方式。
  
  2.关于指令周期
  
  pic单片机采用了精简指令集(risc)结构,内部总线又采用了各自独立的数据总线和指令总线的哈佛结构。数据总线是8位的,而指令总线可以是多位单字长指令。pic单片机内部cpu执行指令通常是一行接着一行顺序执行其指令(由程序存储器的低位地址向高位地址执行)。执行一条指令所用的时间称为一个指令周期。指令周期的时间与pic单片机配置的时钟频率有关,即以pic单片机配置的晶振频率除以4为一个指令周期的时间。为了本文计算方波频率方便,下表列出了pic单片机常用的时钟频率和指令周期的关系表。

pic单片机常用的时钟频率和指令周期的关系表


  
  查阅pic系列单片机的指令表集,将发现指令表中除了程序分支指令是双周期指令外,其余指令全都是单周期指令。所以上述介绍的有关指令中,除了goto跳转指令和btfss/btfsc间跳时的指令是双周期外,其余都是单周期指令。

  3.关于方波发生器 
  
  方波发生器电路其输出方波如下图所示。方波的产生全部用汇编软件的延时程序来实现。在上述的源程序中,若ra0口无电平变化,程序会在标号loop地址处于等待状态;若rao口有电平变化,程序依次执行延时程序而使输出产生方波,所以ra0口外接的开关k2是方波发生器的人工起动开关。一旦人工触动开关k2,程序开始执行,首先令b口的d7位置l,然后通过计数器counter1和counter2不断加1,以执行标号delayl的延时程序,形成图3方波周期t的tl时间:
  
  然后又令b口的d7位置0,再利用标号delay2的延时程序,形成方波周期的t2时间。所以方波的周期t=t1+t2。

输出方波


  
  4.关于方波频率
  
   pic16f84方波发生器硬件电路输出方波频率f的计算可分两个步骤,其一是计算上述程序中产生方波有关指令执行周期的总次数;其二是利用表2,查阅指令周期的时间(当图1电路的时钟频率xl为2mhz时,单周期指令为2μs),再乘以上述周期总的次数,即为方波的周期t=t1+t2,其对应的频率f=l/t。计算时,指令周期数应从btfss之后的标号occur开始(方波启动);计数器counter1、couter2的 大值为255;跳转指令为双周期的。则,方波pic03.asm的执行指令周期的总次数

总次数

  我们可以将上述pic03.asm源程序汇编,生成pic03.hex目标码文件,再用pic实验编程器或其它pic编程器将pic03.hex烧写到pic16f84中,按图1装配好印板电路,或直接用pic实验编程器配套的实验板即可演示方波的功能。操作时只需将电路板接通电源,启动k2开关,此时可用人工记录led的闪动为每分钟76次,计算值和演示值十分一致。
  
  5.关于pic03.asm程序
  
  上述源程序简单的实例,是为了给初学者提供一种方波振荡器工作过程和计算方波频率(延时程序)的一种思维方法。学会上述的计算方法也是为下次设计秒脉冲发生器打下基础。从上述计算可以看出,方波周期的起始时间,是以产生方波的有效时刻开始的,而不是所有源程序的执行时间。
  
  值得注意:在上述源程序中,方波tl的延时程序用了加l判断指令;而t2的延时用了减1的判断指令,这里它们的延时量是完全等效的,所以加、减判断指令,在这里可以互相替换。

  • 1
  • 2
  • 下一页

【看看这篇文章在百度的收录情况】

联系方式

  • 0731-85579057 , 0731-85569651
  • 点击这里给我发消息点击这里给我发消息点击这里给我发消息
网站栏目导航: 培训课程 手机硬件 手机软件 综合维修 学校资讯 考证指南 就业导航 招生指南 教学管理 入学须知 学校图片 教学大纲 师资力量 学生感言 学校概况 教学实景 手机维修培训资讯 电脑维修培训 维修间故事 手机维修培训 液晶电视维修培训 家电维修资料网 电器维修资料网 招生地区 刷机教程 家电维修 手机技巧 老版网站 招生平台网络工程
友情链接: 监控安装培训 电动工具维修 家电维修学校 电工培训学校 液晶电视维修 焊工培训学校 电工焊工学校 电脑维修学校 家电维修培训 电脑维修培训 家装电工培训网络安装维护 主板维修 液晶显示器 笔记本电脑维修 电脑组装维护 电脑硬件维修 电脑维修 电工考证 电工证 装修电工 水电工 维修电工 电工 焊接技术 电焊工 焊工 电动设备维修 电动工具维修 制冷维修 空调维修 冰箱维修  更多>>
阳光-手机维修教育品牌学校
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,包头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市