本次的实验仍然沿用计数器的电路,不作电的改变,但却要更换程序。使用新的程序,可以赋予旧电路新的功能,以定时器来说,原先在计数器的递增按钮,在这里因程序的改写 而变成清除按钮;而原先的归零按钮,也变成计时开关按钮;至于两个七段显示,则由显示递增次数改为显示递增秒数,但上限仍然是"99"。
当送电开始后,秒数是不计时的,只显示"00"。按下计时开关钮后,即启动计时功能,显示就开始显示递增的秒数。当再度按下计时按钮(计时开关)后,这时显示持续显示暂停前的秒数,不再改变。
计时开关按钮就是一个计时的启动与暂停开关,与计数器的归零按钮异曲同工。无论是在计时中或是在暂停计时中,按下此按钮马上可以将定时值归零,而原先是计时的状态依然继续计时,暂停的状态依然继续。
1. 目的
□电路上:与实习5-7的相同。
□程序上:学习如何在不修改电路的情况下,增加或转变硬件的功能。
2. 材料
与实习5-7的相同
3. 电路
图5-34 原理图
4. 实照
图5-35 实照
5. 步骤
与实习5-7的相同。
6. 流程
图5-36 流程图
7. 程序
□标号说明
· RESET:起始程序的进点
· DISP_ZERO:显示"00"字进入点
· RE_OP:重新循环执行进入点
· CLRB:按钮状态值保存处
· BIT4:等待同步判断程序的进入点
· BIT8:等待同步判断程序的进入点
· BIT12:等待同步判断程序的进入点
· BIT13:等待同步判断程序的进入点
· NO_CY_ONE:定时值个位数递增,但十位数不受影响的数值处理进入点
· NO_CY_TEN:定时值十、个位数都递增,但十位数递增不溢了的数值处理进入点
· WAIT_DISP:等待同步判断程序的进入点
· WAIT_DISP3:等待同步判断程序的进入点
· WAIT_DISP4:等待同步判断程序的进入点
· WAIT_DISP5:等待同步判断程序的进入点
· DISP_CURR:显示程序进入点
· DELAY_10MS:请参照实习先例
· DELAY1:请参照实习先例
· DELAY2:请参照实习先例
· DELAY_7US:请参照实习先例
· DLY7:请参照实习先例
· DELAY_1MS:请参照实习先例
· DDA:请参照实习先例
· DDB:请参照实习先例
寄存器使用配置
· F3:程序状态字
· F7:I/O端口,包含读取按键电位、输出显示值、
· F23:欲显示数据的暂放区
· F24:延时子程序递减循环计数
· F25:延时子程序递减循环计数
· F26:循环计数,达50次为秒钟
· F27:开始计时按钮状态的保存处(1:按下0:未按)
· F28:导入按键值的的暂放处
· F29:定时值的十位数存放处
· F30:定时值的个位数存放处
· F31:定时值存放处,使用BCD格式保存
本文关键字:定时器 PIC单片机,单片机-工控设备 - PIC单片机