⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 可预置可逆4位计数器.c

📁 AT89S52单片机程序50例(00-50)
💻 C
字号:
//可预置可逆4位计数器

#include <reg52.h>

sbit SP1=P3^6;  //定义P3.6为加1按键
sbit SP2=P3^7;  //定义P3.7为减1按键

unsigned char curcount;  //定义计数变量

//10ms延时子程序
void delay10ms(void)
{
	unsigned char i,j;
    for(i=20;i>0;i--)
    for(j=248;j>0;j--);
}

//主程序
void main(void)
{
	curcount=P3&0x0f;  //取P3口低4为给curcount
    P1=~curcount;  //取curcount的反码给P1口
    while(1)
    {
    	if(SP1==0)  //SP1按键识别
    	{
    		delay10ms();  //延时消抖动
    		if(SP1==0)  //SP1真的按下
    		{
    			if(curcount==16)  //curcount重新初始化
    			{
    				curcount=1;
    			}
    			else
    			{
    				curcount++;
    			}
    			P1=~curcount;
    			while(SP1==0);  //SP1是否释放,否的话,进入死循环;是的话,退出死循环。
    		}
    	}
    	
    	
    	if(SP2==0)
    	{
    		delay10ms();
    		if(SP2==0)
    		{
    			if(curcount==255)
    			{
    				curcount=14;
    			}
    			else
    			{
    				curcount--;
    			}
    			P1=~curcount;
    			while(SP2==0);
    		}
    	}
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -