微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 单片机关键技术基础详解(一)

单片机关键技术基础详解(一)

时间:02-14 来源:本站整理 点击:

detectl

  goto L3

  goto autonatlsmstate2

  :

  automatlsmstate2:

  return

  auatomatismstatel、automatismstate2表示两种状态,uhrasonicdetectl表示一个输入超声检测信号。上面程序描写调用automatistmstate1状态,执行完后进行下面的检测ultrasonicdetect],没有触发就一直循环检测,触发就进入autornatismstate2状态,执行完也不再回到下面的程序。

  3 状态标志位Z、C的不同使用情况

  在进行判断标志位时,Z(零标志)、C(借位标志)是不同的。Z为l时,表示上面的结果为0,Z为0时,则结果不为0。C为l时,借位,C为0时,没有借位。在使用定时器的时候,一般使用C标志位,这是由于当完成某一动作去检查定时器时,时间可能没到,或是正好,或是已经超过时间,只要到了或超过时间,都要按照要求关闭定时器,如下面程序所述。如果用Z标志位,等于0时可能没有检测到,无法判断停止的状态,而用z可以很好地控制时间定时。进行一般的计算时大多用Z,如前面的动作标志位中就是如此使用的。

  list D=16c76

  call opentimerO

  L4 movlw d’30’

  subwf t0_v2,W

  btfss status,c

  goto L4

  cau closetimer0

  程序检测时间是否到达1.5s,没有则循环等待,到了或检测时间过了就关闭定时器,执行下面的程序。

  总之,在PIC单片机的编程中采用合适的方法,可以使整个程序运行稳定,而且程序空间的使用也将有所减小,避免了调试中的Bug。这是笔者在实际中的一点体会,还有许多不足或没有考虑到的问题,希望在和大家的探讨中不断学习PIC单片机的精髓。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top