标题:
关于51单片机的电压源的LED显示设计 如何设置两个值来保存led的值?
[打印本页]
作者:
图图秃头
时间:
2022-5-10 12:25
标题:
关于51单片机的电压源的LED显示设计 如何设置两个值来保存led的值?
我想设置两个值,来保存led的值,让输出电压的时候LED正常显示设置的电压值,该怎么设置这两个数
捕获3 (2).PNG
(50.4 KB, 下载次数: 50)
下载附件
2022-5-10 12:25 上传
单片机源程序如下:
#include<math.h>
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
char led[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
char led1[]={0x3f,0x06,0x5b,0x4f,0xe66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit P3_7=P3^7; //加键
sbit P3_6=P3^6; //减键
sbit P3_1=P3^1;
sbit P3_0=P3^0;
sbit P3_4=P3^4; //模式选择(设置输出电压值模式or电压输出模式)
uchar set=50,tj=0;
void delay (unsigned int time)
{
unsigned j;
for (;time>0;time--)
for(j=0;j<125;j++) ;
}
void main ()
{
while (1)
{
if(P3_4==0)
{ tj=!tj; while(P3_4==0) ; }
if(tj==0) //设置输出电压
{
//扫描按键1
if(P3_7==0)
{
delay(10); // 摁键消抖
if(P3_7==0)
{
set++;
if(set>99) set=99; // 设置显示最大值
while(P3_7==0) // 等待按键松开
;
}
}
//扫描按键2
if(P3_6==0)
{
delay(10); // 摁键消抖
if(P3_6==0)
{
set--;
if(set<0) set=0 ; // 设置显示最小值
while(P3_6==0) // 等待按键松开
;
}
}
//显示两位数码管
P3_0=0; P3_1=1;
P0=led[set/10];
delay(50) ;
P3_0=1; P3_1=0;
P0=led1[set%10];
delay(50) ;
}
else{
P2=(float)set*2.56 ; //输出算法
// P2=25.6;
}
}
}
作者:
人工置顶员
时间:
2022-5-10 17:08
顶一下
作者:
yzwzfyz
时间:
2022-5-11 11:06
将两个值放在内存的某个你规定并记得的地方即可。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1