节能定时器控制电路

[10-10 20:42:03]   来源:http://www.88dzw.com  电子制作   阅读:8187

文章摘要: 现在我们先对这个电路进行硬件测试: 1. 用P1_0=O:……这样的语句点亮每一个发光二极管与蜂鸣器。 2. 查看LED是共阳还是共阴,共阳的话,0(低电平)有效。共阴的话,1(高电平)有效。用“8”字测试。即P1=OxoO;。控制位全为1(有效);同理,继续测试小时与分钟之间的冒号是否有效。 3.测试键盘是否有效,写一个键盘扫描程序(本文后面会详细介绍),临时利用一下该电路的发光二极管,让所有的按钮都对应一个发光二极管。当按钮按下,其所对应的发光二极管发光。这样就可以检查到按钮的连接是否良好。 当硬件的各功能检查能正常工作 后,我们就可以开始正式编程了。

节能定时器控制电路,标签:电子小制作,http://www.88dzw.com

    现在我们先对这个电路进行硬件测试:

    1.  用P1_0=O:……这样的语句点亮每一个发光二极管与蜂鸣器。

    2.  查看LED是共阳还是共阴,共阳的话,0(低电平)有效。共阴的话,1(高电平)有效。用“8”字测试。即P1=OxoO;。控制位全为1(有效);同理,继续测试小时与分钟之间的冒号是否有效。

    3.测试键盘是否有效,写一个键盘扫描程序(本文后面会详细介绍),临时利用一下该电路的发光二极管,让所有的按钮都对应一个发光二极管。当按钮按下,其所对应的发光二极管发光。这样就可以检查到按钮的连接是否良好。

    当硬件的各功能检查能正常工作  后,我们就可以开始正式编程了。具体  步骤如下:

    1.  导人头文件 #include  <absaCC.h>#include<reg51.h>。    2.  定义每一个I/O口sbit  P0_0=P0^0:等等。

    3.  编写LED显示阿拉伯数字的  数组。

    如:TABLE[10]={Oxc0……….}  (具体怎么写这个数组,很多基本教  程都有说及,可以随便找一本来参考  一下。注意一下LED是共阳还是共阴  就可以了)

    4.定义变量。我定义了4个变  量,hs、hg、ms和mg分别作为输入时  和倒计数时用的“小时十位数”,“小时  个位数”,“分钟十位数”,“分钟个位  数”。接着是4个数组,hSS[4]、rIgs[4]、  mss[4]和mgs[4]用来存放4个时间值  (分别是定时开时间、大火时间、中火时  间和小火时间)。然后是两个用来判断  状态的变量stk和stm,stk用来判断  输入时或分的状态。前面说到了,在输  入小时数值的时候,“-”按钮能对小时  进行减操作,输入分钟数值的时候,  “-”按钮能对分钟进行减操作;stm用  来判定是输入那个时间及判定倒计数  时是倒数那个时间。例如:输入  stm==0,(注意判断变量值用双等  号,我经常犯的错误。)表示正在输入  定时开时间。stm==3,表示正在输入  小火时间。倒计数时同理。大火、中火  和小火时间均可跳过不进行设置,跳过  时,该组定时时间程序作零处理。

    5.LED显示函数。LED显示有两  个要注意的地方:一是控制位,不要出  现两个控制位同时有效的情况。二是  每两个位显示之间要有一段延时。不  然全部数字就会混在一起看不清。

    部分源码如下:


    6. 键盘扫描。需要注意的是:1)键盘扫描同样要有延时,而且要有相当的时间,大约O.5秒吧。我在调试时发现。按着按钮不放,LED不会显示数字,等我放开按钮,LED才显示,不过数字已经加了很多了。有一个方法能解决这个问题,把LED显示那段代码复制到键盘延时的程序里面,这样按着按钮不放的时候,LED的数字就会逐一地按部就班累加上去。情况就容易控制得多了。

    部分源码如下:


    7.  1)当用户在按“时+”的按钮时,stk变量为O。在按“分+”时stk变量为1,这样当需要减小数字而按“一”按钮的时候。程序就能判断出对时或对分进行减操作了;2)注意进位与最大值问题,逢10进1,小时到24归O,分钟到59归0;3)输入完最后一组时间后。要再按一下“确定”按钮即“功能选择”按钮确认,这时,程序把当前的hs、hg、ms和mg数值存入对应数组。Stm状态变量+1;

上一页  [1] [2] [3]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作

《节能定时器控制电路》相关文章