
单片机中通过按钮实现两路显示思路总结.doc
6页51单片机怎样设按键切换数码管显示时间和日期?在51单片机中6位共阳数码管显示中,怎样设置某一按键,按下第一次从时间显示方式转 为日期显示方式,按第二次从日期显示方式转为星期显示方式,按第三次显示温度,按第 四次返回显示日期? 你要设置一个标志变量,如 flag,在进入按键程序后,flag++; 然后加个控制判断语句 if(flag>3) flag=0; 这样,在显示模块中再加入开关语句; switch(flag) {case 0:...显示时间..case 1:...显示日期case 2:...显示温度}…………多路的情况采用这种编程切换按钮用个标志位,比如未按下为 0,按下为 1 . 判断标志位为 0 时转数字钟程序 ,为 1 时转频率计程序……只有两路的情况切换功能的另一种思路:设置个变量,进行计数;等于1显示时间,等于2显示日期;在按键上设个变量,做累加,不同的按键值进各自的显示函数单片机怎样通过按键在程序实现多功能?三档功能转换:0挡-关闭功能1和2;1档-开启功能1;2档-开启功能, 可以给出个大致框架么1条回答如果你就是只有一个按键,可以这样做:设置一个寄存器 Key_Times_Buf,然后记录第几次按 键,通过这个值,处理相应的程序.if(Key_Pin==0){Key_Times_Buf++; if(Key_Times_Buf>=3){Key_Times_Buf=0;}}switch(Key_Times_Buf){case 0://程序0break;case 1://程序1break;case 2://程序2break;}用单片机控制8个发光二极管依次发光,产生跑马灯的效果,3种效果循环,要求通过按钮切换效果!用单片机控制8个发光二极管依次发光,产生跑马灯的效果,3种效果循环,要求通过按钮切换效果!只能用一个开关切换 ,C 语言不用中断和定时。
谢谢、! STC11F,也可任意单片机类型 有完整的程序可以,没的话 请教怎么用一按键实现3种状态的切换 这个程序的关键点是要在显示子程序执行的过程中,多对按键进行检测检测到有按键按 下时,即退出子程序,返回到主函数的按键检测,对 num 加一 #include #include #define uchar unsigned char #define uint unsigned int sbit key1=P3^5; uchar temp; uchar num;void delay(uint z)//延时程序 {uint x ,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }void display0()//显示效果1 {uchar i;temp=0xfe;for(i=0;i #define uchar unsigned char uchar times; sbit key=P1^0; sbit ss1=P1^1; sbit ss2=P1^2; sbit ss3=P1^3; void delay() {uchar i,j;for(i=0;i<30;i++)for(j=0;j<120;j++); } main() {while(1){if(key==0){delay();if(key==0){times++;times%=0x03;switch(times){case 0:ss1=0;ss2=1;ss3=1;break;case 1:ss1=1;ss2=0;ss3=1;break;case 2:ss1=1;ss2=1;ss3=0;break;default:break;}}}} } 追问 1、开始 D1亮,D2不亮,30分后 D1、D2都不亮;2、开始 D1不亮,D2亮,30分后 D1、D2都不亮;3、开始 D1亮,D2不亮,30分后 D1不亮,D2亮,1小时后 D1、D2都不亮。
三种模式随时切换,希望有个程序考考。
