模拟EC11系列数字旋转编码器旋转方向改变数值让数码管显示一个数值的项目工程
一、前言
1、模拟EC11系列数字旋转编码器旋转方向改变数值让数码管显示一个数值的项目包括用Keil软件编写单片机C语言程序和用Proteus软件仿真单片机外围电路
2、模拟EC11系列数字旋转编码器旋转方向改变数值让数码管显示一个数值的项目构思
(1)、声明程序变量思维导图
(2)、程序子函数思维导图
(3)、程序主函数思维导图
二、模拟EC11系列数字旋转编码器旋转方向改变数值让数码管显示一个数值的项目的Keil软件编写的单片机C语言程序
#include<reg51.h>
#define SMG P0
#define uchar unsigned char
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int num;
sbit AA = P1^0;
sbit BB = P1^1;
void delay(uchar z)
{
uchar i,j;
for(i = 0; i < z; i++)
for(j = 0; j < 120; j++);
}
void main()
{
while(1)
{
if(num<0)
{
num=9;
}
if(num>9)
{
num=0;
}
SMG=table[num];
if(AA == 0)
{
delay(10);
if(AA == 0)
{
delay(10);
while(!AA);
if(BB == 1)
{
num++;
}
if(BB == 0)
{
num--;
}
}
}
}
}
三、模拟EC11系列数字旋转编码器旋转方向改变数值让数码管显示一个数值的项目Proteus软件仿真单片机外围电路
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/17ac6715ed8ae39df06e3824f87738e9.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5d24248daabd17f2ada76345325f48ae.gif)