单片机高手的请进!!!

来源:百度知道 编辑:UC知道 时间:2024/07/07 04:14:20
现在在T0引脚上接一个按钮并接地,当按在按钮的时候,倒计时的时间回到初始值,比如(按下按钮之前,此时显示南北红灯,东西绿灯比开始从10s开始倒计时,当倒计时到某一秒时,即10s—0s之间时,按下按钮后,倒计时开始重新从10s开始),我想知道这个T0作为外部计数器,如何编写这段程序。

用的是什么单片机?51?61?
一般这类小程序可以不用外部终端,可以用软中断,很简单的,系统初始将T0设为输入口,在网上搜个键盘程序看看,自己在依葫芦画瓢。重要的是延迟程序,因为你按了一下按钮不能保证只有一个低电平。
加油吧!网络还有论坛是最好的学习工具!

不太明白你的意思,
你直接在外部 中断 服务函数 中 将定时器 屏蔽,然后再启动,定时器 就复位了```

我想你是不是只把T0引脚上接的按钮当作按键来操作就可以呢?
答案是肯定的。
我分析完你的目的后,其实就是一个按键程序。
在满足南北红灯、倒计时在10秒~0秒间(倒计时没有结束)按键操作复位倒计时秒数(恢复到10秒的延时)。不就是这样一个要求吗?
那就是一个按键判定执行程序了。

以外部中断方式读取按键状态(在读取过程中需要加入延时消抖,以免误操作),确认状态后判断系统运行状态是否满足上述两个条件,根据结果执行相应的程序即可了。
秒计时可以用定时器来实现。

这样不是很简单的事情?

祝你成功!!

我有一个问题啊 t0引脚假如接了震荡构成外部计数源,那么用来的定时的话显然无法完成按键功能 假如用t1来作为按键 那么最好让t1按一下就溢出了 然后再中断程序里又重新重置倒计时初值。