1. 程式人生 > >數碼管按鍵加減一

數碼管按鍵加減一

int 參數 image spa pre log -- main 等於

//按鍵加一或減一
#include <reg51.h>
#include <stdio.h>
int duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共陰數碼管0到9數字的十六進制
sbit K1 = P1^0;
sbit K2 = P1^7;
char num =  0;
//含參數延時函數
void delay(unsigned int i){
    while(i--);
    }
    //主函數
void main(void)
 { 
    while(1){
        if(K1 == 0){
         delay(
5000);//按鍵的延時 if(K1 == 0){ num ++; } } if(K2 == 0){ delay(5000); if(K2 == 0){ num --; } } //循環 if(num > 99){ num = 0; } if(num < 0){ num = 99; }
//知識點:任何一個兩位數取余10得個位數 ,除以10的十位數 P3=0x08; //個位顯示 P0 = ~duan[num%10]; //只有十的倍數取余10才等於0,所以其他非十的倍數等於本身過其個位數 delay(5000); P3=0x04; //十位顯示 P0= ~duan[num/10%10]; //單片機裏任何一個數除以10等於其十位數 delay(6000); } }

技術分享

數碼管按鍵加減一