请教一下怎么在计数器里加多一个按键控制灯闪烁和灯灭的C语言程序,

以下几张图片按123的顺序排下去的,想在里面加一个按键按一下时灯就闪烁,再按一下时灯就灭了,麻烦大家帮一下忙

第1个回答  2015-09-02
①数据处理函数中的 取位 是错的。
②count 为 uint 型变量,你却 妄想着 让 它=99999999,压根就没了解过数据类型的数值范围(i 变量 同理)。
③ i 作为全局变量,在 key() 函数中使用,在 loop()函数中使用,你不觉得数据已经冲突了吗?
④显示函数 放到 按键扫描里面,你不觉得这关系乱套了吗?这就好像一个公司中,生产部的人 命令 技术部 的人干活。公司有组织架构,程序也有,不具备归属关系的函数,不应该乱套用。
⑤上面第④的原因,无非就是因为 按键死等 造成的,你应该想办法解决,避开按键死等(采用状态记录,通过识别按键 从 按下 到 不按,就能知道是 松手了)
⑥显示函数也是毛病多多,我不知道你的硬件有没有帮到你,不过,你的软件却是,没有消影。
⑦另外建议你,学会定时器,摒弃 Delay( ) 函数。延时函数 是对 单片机资源的巨大浪费。
第2个回答  2015-09-01
你好!你这发的图片,看着费劲,还是直接发代码,好调试追问

代码我想发的,但字太多,上传不了

请教一下怎么在计数器里加多一个按键控制灯闪烁和灯灭的C语言程序,
⑤上面第④的原因,无非就是因为 按键死等 造成的,你应该想办法解决,避开按键死等(采用状态记录,通过识别按键 从 按下 到 不按,就能知道是 松手了)⑥显示函数也是毛病多多,我不知道你的硬件有没有帮到你,不过,你的软件却是,没有消影。⑦另外建议你,学会定时器,摒弃 Delay( ) 函数。...

用c语言编写一个计数器(单片机为51型,数码管为共阴)要求有三个按键分别...
如果这样的话挺简单的,51单片机的计数器io口记得好像是P3^0和P3^1,但不管怎么,首先设置TMOD,将C\/T位置1,这就改为计数器了,然后可以编写函数来对一个变量进行加减;同样利用51单片机的外部中断也可以实现计数功能,打开外部中断开关,在外部中断服务函数对计数变量进行加减;最简单的,直接利用io口...

C语言设计一个加减计数器,通过两个按键来控制。就是按一个键就加一...
如果是windows上程序。单词按键判断ASCII码,然后变量值++,--就可以了。include <stdio.h>#include <conio.h>#include <windows.h>#define KEYA 61\/\/按键盘'+'键(非小键盘)#define KEYM 45\/\/按键盘'-'键(非小键盘)int main(){ int key,num=0; while(1) { system("cls...

请问怎样用C语言编写一个一键多功能的程序,就是说按一下是一种功能
说一下思路:对按键进行计数,给个默认功能,对应计数0,每按一次,计数器加1,就可以了 主体里面使用switch...case,判断按键次数

C语言编写STC12C5A60S2芯片用4个按键控制四个灯的亮灭
sbit LED_ 4= P2^4;sbit LED_ 3= P2^3;void main ( ) {while(1){if (!KEY_0 ) { \/\/ 按键KEY_0被按delayus(20); \/\/消抖动 if (!KEY_0 ) { \/\/确认被按下 LED_7=~LED_7 \/\/灯亮或灭}}}... 其余一样即可。

修改单片机C语言程序:0~59秒计数器;1个独立按键控制,第一次按按键,实现...
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint ms){ uchar t;while(ms--) for(t = 0; t < 123; t++);} void main(){ num = 0;aa = 0;TMOD = 0x01;TH0 = (65536 - 50000) \/ 256;TL0 = (65536 - 50000) % 256;TR0 = 1;ET0 = 1;EA = 1;P...

...单片机C语言程序:0~59秒计数器;1个独立按键控制,2个数码管显示_百度...
\/\/注意;P0口要加上拉电阻 。include<reg52.h> include<intrins.h> define uint unsigned int define uchar unsigned char sbit KEY=P1^0;uchar aa,num,num1,flag;uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voi...

利用定时\/计数器产生定时时钟,由P1口控制8个指示灯,编写程序(c语言写...
查询是否到延时时间 { if(TF0==1) \/\/ 查询定时器计数是否溢出 {TH0=OXBE;TL0=OXE0;TF0=0;ov_times--;}\/\/ 重置初值,清除溢出位 } TR0=0; \/\/ 关闭定时器}void main(){ while(1) { P1=_crol_(P1); delay(); \/\/ 延时 } 你要告诉我你的...

用一个按键控制一个LED灯用中断方式实现按一下亮0.5秒然后灭0.5,再按...
if( Key == 0) LED = ~LED;\/* 再次检测按键是否按下,如果有,将LED状态取反 *\/ for( i = 0; i <1; i++ ){ LED= 0; \/* 端口送高电平,LED熄亮 *\/ DelayMs(1000); \/* 延时大概1S *\/ LED = 1; \/* 端口送低电平,LED点灭 *\/ DelayMs(1000); \/* 延时大概1S...

c51单片机c语言交通灯的程序
接下来,我将详细解释如何为C51单片机使用C语言编写交通灯控制程序。首先,我们需要了解C51单片机的基本结构和资源,包括其I\/O端口、定时器\/计数器等。通常,交通灯系统需要控制红、黄、绿三种颜色的灯的亮灭,每种颜色的灯对应一个I\/O端口。此外,我们还需要使用定时器来设置交通灯的切换时间。在编写...

相似回答