求一单片机C语言程序,功能是按键按了几下,过了几秒后LED灯亮。例如按了10下按键,过了10秒后LED才亮。

[复制链接]
查看11 | 回复2 | 2013-5-15 21:58:35 | 显示全部楼层 |阅读模式
#include #include sbit P2_0=P2^0;
//ledsbit K1 =P1^4 ;
//按键void delayms(unsigned char ms);void main(){
unsigned char i=0;
while(1)
{
while(K1==0)
{
i++;
if(i>=10)
{
delayms(10*1000);//延迟10秒
...
回复

使用道具 举报

千问 | 2013-5-15 21:58:35 | 显示全部楼层
原理如下:定义一个变量ct;设置中断0为按键触发,每触发一次,ct++;设置定时器0,频率为1HZ。如果晶振频率较高,无法实现,就改为10HZ或100HZ,通过计数分频,获取一秒的周期。在每秒周期里,判断是否ct>0,如为真就将ct--,再判断是否ct==0,如为真就将LED点亮。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行