求一个C程序,要求按下KEY1键,数码管开始闪烁,按下KEY2键数码管显示的数加1,没太多分,给个思路就行.

作者&投稿:牟莎 (若有异议请与网页底部的电邮联系)
电子时钟,用定时器定时器2MS实现8位数码管动态扫描,求一个C程序,要求按下KEY1键,数码管秒的两位开始闪烁~

这个真不会

初始化动态扫描全部点亮,判断按键有没有按下,按下减1或加1,判断加减的数是否到9或0,到9就十位进1,到0十位就减一,大概就这么个逻辑,很简单自己尝试就可以了。

如果只是一位的数码管那很好弄呐;
思路:1、正常情况下数码管正常显示。
2、key2按下的时候开定时器中断。开始让他以某个时间关一次数码管显示。
while(1)
{
if(key2 ==0 )
{
dis_num++; //数码管加一
}
if(key1 == 0)
{
static flag;
flag = ~flag;
if(flag)
ET0 = 1; //开定时器中断
else
ET0 = 0; //关定时器中断
}

display(); //数码管显示
}

void timer0 interrupt 1
{
数码管显示关;
延时;
}

实用跳转就可以实现各自的功能了,下面是模块:
switch(key)
{
case key1:语句1;break;
case key2:语句2; break;
default;
}

是51单片机吧,采用外部中断就可以了


...今输入一个数,要求按原来排序的规律将他插入数组中(c程序编程)_百...
int Insert(int nArray,int nCount,int nValue){ int nLoop;for(nLoop=0;nLoop<nCount;nLoop++){ if(nArray[nLoop]<nValue)continue;else { memcpy(nArray+nLoop,nArray+nLoop-1,sizeof(int)*(nCount-nLoop));nArray[nLoop] = nValue;break;} } nCount++;return nCount;} ...

编写一个c程序,用指针的方法成功处理,输入3个整数,按由小到大的顺序输 ...
{ int a,b,c;int*p1,*p2,*p3;int temp;cout<<"输入3个整数:"<<endl;cin>>a>>b>>c;p1=&a;p2=&b;p3=&c;if(*p1>*p2){ temp=*p1;p1=*p2;p2=temp;} if(*p1>*p3){ temp=*p1;p1=*p3;p3=temp;} if(*p2>*p3){ temp=*p2;p2=*p3;p3=temp;} cout<<'\\n'<<"按...

C语言 按要求编写程序 isprime
第二小问应该是输出100~999之间个位数字是7的所有素数之和吧.完整的C语言程序如下 include<stdio.h> int isprime(int x){ int i;if(x<2) return 0;for(i=2;i<x;i++)if(x%i==0)return 0;return 1;} int main(){ int i,sum=0;for(i=100;i<=999;i++){ if(isprime(i)==1...

编写一个c程序:比较两个字符的大小,按由大到小输出。江湖告急!!_百度知...
include <stdio.h> void main(){ char a,b;scanf("%c %c",&a,&b);if(a>=b)printf("%c>%c\\n",a,b);else printf("%c>%c\\n",b,a);}

用C语言编写读入并读取一个文件,按照下面的要求编写程序
include<stdio.h> include<stdlib.h> int main(){ FILE *fp,*ok;char str1[80],str2[80];if((fp=fopen("d:\\\\file.txt","r+"))==NULL)\/\/打开d盘下名为file的文本文件;{ puts("file文件打开失败!");exit(0);} else puts("file文件打开成功");if((ok=fopen("d:\\\\file1.txt"...

c语言实现一个按下'y'或是'Y'就继续运算,输入其他字符就结束打印结果...
scanf("%c",&b);getchar();下面加个getchar();用于吃掉上次的回车键,要不然你的下次b直接就是回车键了。

C语言 要求输入10个,将它按从大到小排序,再输入一个数插入到排好序的...
\/*不知道插入的要求是什么? 先写一下10个数按从大到小排序的程序*\/ include <conio.h> \/* 此头函数请不要删除 *\/ include <math.h> main(){ int i,j,p,q,s,a[10];float jun;printf("\\n input 10 numbers:\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<...

求一个C程序,当P1.0按键按下时,P1.6和P1.7两个管脚所接的LED灯轮流发光...
请给邮箱~求一个C程序,当P1.0按键按下时,P1.6和P1.7两个管脚所接的LED灯轮流发光,要求延时10秒,再按下按键全灭 ---》此程序流程 --->首先判断按键是否按下,即主函数循环while(1)判断是否按键按下 --->按下,则进入防抖动判断,如符合,则开始进入轮流切换状态 --->状态,初始,...

(1) C语言 有3个数a,b,c,要求按大小顺序把它们输出 (2) 判断一个数n...
include <stdio.h> main(){float a,b,c,t;scanf("%f%f%f",&a,&b,&c);if a>b then {t=a;a=b;b=t;} if a>c then {t=a;a=c;c=t;} if b>c then {t=b;b=c;c=t;} printf("%f,%f,%f\\n",a,b,c);}

编写一个程序,找出1-100中的所有素数,并按5个一行输出。c语言_百度...
include<stdio.h>#include<math.h>int main(){int a;scanf_s("%d", &a);\/\/输入要求的数字大小int num, i, b, flag = 0;for ( b = 2; b <= a; b++){num = sqrt(b);for ( i = 2; i <= num; i++){if (b % i == 0)break;}if (i > num){printf("%d\\t",...

金台区13039072021: 求用单片机编程序 是用c语言编的题目是 当key1每按一次,led闪10次后报警 -
溥廖蓝芩: 找一个读按键的程序, 然后 while (**)判断按键 {计数器加1;灯闪;判断是否是9{是清零报警(基本延时多久后,再关掉报警)}延时20ms判断 按键松开 //这里是死循环在这,除非你要求可以连续读按键 }自己找程序去,编完了给你 ,你以后还是不会

金台区13039072021: 单片机编程,求一程序,它实现的功能是每按AG开发板上KEY1键一次,板上数码管显示数字加一 -
溥廖蓝芩: 假如KEY1输入口参数定义:unsigned char r_key_num,r_led_cnt; r_key_num = KEY1输入口值; void KeyProcess (void) { /*按键检测处理*/ if(r_key_num == 0) { /*无按键信号时*/ r_run &= 0x01; /*按键处理完成*/ } switch (r_key_num) { case 0x01: /*KEY1按键输入信号*/ if((r_run & 0x01) == 0x00){ r_run |= 0x01; r_led_cnt ++;//数码管显示参数加一 } break; default: /*其他*/ break; } }

金台区13039072021: 用c语言编一段按几号键显示几的程序,P1接键盘,P0接LED(延时显示即可) -
溥廖蓝芩: #include sbit key1 = P1^0; ....void delay(int t) { } void display(int data) { //显示代码 } void main() { while(1) { if(key1 == 0) //按键摁下为低电平 { display(1); } ........ } } 框架在这边,自己填就好了,很简单的程序.你P0口是接的LED段位,P2那边要接一根LED的位选的.别那么懒,自己写吧

金台区13039072021: 求单片机C语言源代码:key1,key2,key3,若key1按下时,key2和key3需分别按下后松开,少按一个则会报警. -
溥廖蓝芩: /***********************************本人c没大神们好,写得复杂不要怪***********************************/ void main() {unsigned char flag0,flag1; while(1){ if(key1==0) //假设低电平为按下{delay(5); //延时函数我就不写了if(key1==0){delay(20); ...

金台区13039072021: 求编程单片机89c51,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点亮,再按1次key1 -
溥廖蓝芩: /***************** 晶振4MHZ,按键key1为P3.4,P3.5接口 功能:按 key1键三次,P1灯亮,再按一次灭 ,如此重复******************/#include<reg51.h> sbit key1 = P3^4;/****************** void delay40us(uint time) 输入参数:time 输出参数:无 函数功...

金台区13039072021: 求单片机的C语言程序,key按一下,led闪,key再按一下,led一直亮,key再按一下,led熄灭. -
溥廖蓝芩: 单片机的C语言程序,key按一下,led闪,key再按一下,led一直亮,key再按一下,led熄灭.附件里面有C代码和仿真,是我刚才帮你写的,已经成功仿真了的.你可以参考一下.

金台区13039072021: 用c语言编写计时器,具体如下 -
溥廖蓝芩: #include #include time.h> #include #include static int count = 0; static struct itimerval oldtv; void set_timer() {struct itimerval itv;itv.it_interval.tv_sec = 1;itv.it_interval.tv_usec = 0;itv.it_value.tv_sec = 1;itv.it_value.tv_usec = 0;setitimer(ITIMER_...

金台区13039072021: 怎么用c语言写一个51单片机的密码锁程序 -
溥廖蓝芩: 这是一个你这样的键盘扫描程序,你直接在最下面的switch case里面改一下,改成你要的功能就行了,然后再自己稍微添一下自己要的功能就ok了.做这些自己一定要亲自上手,不然真的没有意思.我只能提供这么点帮助了,希望能帮到你....

金台区13039072021: 用c语言编程三个按键对应点亮三个LED灯的程序,AT89S52单片机,最好有原理图,谢谢.急求 -
溥廖蓝芩: 这个也求?用按键点亮LED灯这个是51入门最基础的东西,真心想学的话,买块51的开发板,都带有例程,很快就可以入门的.建议你还是多看看资料把基础的东西学好.推荐你看一下《十天学会单片机和C语言编程》的视频教程对入门还是不...

金台区13039072021: 单片机ATc52,实现按下key1,led1亮,再按下key2,led2亮led1灭,求具体程序 -
溥廖蓝芩: 具体看LED的接法,改变两个if的参数,改变状态效果:例如led一边接了高电平,连接单片机这边给led=0为亮,若led一边为地GND(就是低电平)另外一边就要led=1才亮. 以下程序为一边接高电平,单片机引脚给0亮给1灭 #include <reg52.h>sbit led=P1^0;sbit key1=P1^1; sbit key2=P1^2; void main() {led=1;//初始化输出,可初始化=0while(1){if(key1==0){led=0;//亮}if(key2==0){led=1;//灭} } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网