电子时钟的配套c程序
/*
主函数中最主要的时键盘调节时间函数,函数首先检测按键是否按下,如果按下则端口接地,变为低电平,
判断语句if成立,就准备调时,但是首先延时delay(10000),主要目的时去抖动。在进行调节以后,都要调用显
示处理函数,对将要显示的时间进行处理。
在主函数不断循环之中,中断源要发送中断请求,定时器1每1.8ms发送一个中断请求,来显示处理函数处
理过的时间,也就是每个数码管位1.8*4=7.2ms扫描一次(显示一次),定时器2每10ms发送一个中断请求,每20*10ms=0.2s进行一次显示处理函数,也就是每20个定时器
1脉冲,处理一次,且每50个定时器1脉冲,处理一次二极管闪烁。
但是最重要的是每100个中断请求后,进行second的加1操作。所以定时器1中的count定义为static。
*/
/*
这个程序还是存在问题的,在使用定时器触发中断,只需要一个中断就足够了,但是定时器的工作模式还是存在不明白的地方。
硬件电路存在两个问题,P0口的驱动能力强于P1口,带动数码管的时候,一般接P0口,即使是这样有时候也需要加
下拉电阻,而不是限流电阻。
延时抖动的问题,在用示波器后可以清晰的看出抖动存在,及其周期,根据周期设定延时。
定时器工作模式及中断优先级问题,还有中断机理,并行工作模式?
*/
评论