本来两个都亮,过了一会,就都灭了,请问这是什么原因呢?
单片机用的stm32,没有写相关程序
代码或者原理图提供一下
// 主要变量
typedef unsigned char BYTE;
typedef unsigned char BOOL;
BYTE dis1[] = {"H "}; //显示字符
BYTE dis2[] = {" "};
BYTE dis_buf=0; //显示缓存
BYTE temp; //中间变量
BYTE key; //键顺序码
BYTE fuhao=32; //存储符号
BYTE flag=0; //判断是否结束
BYTE flag_buf=0; //缓存键值
BYTE flag_fuhao=0;//符号的flag
BYTE j,m,n; //循环计数索引
int i=0; //循环计数索引
int operand[15] = {0}; //数字数组,初始化
int top_num = -1; //数组末尾
BYTE oper[15] = {0}; //操作符数组,初始化
int top_oper = -1; //数组首部
BYTE* temp_p; // 数组指针
BYTE* str = dis1;//字符串指针
BYTE dest[15];//字符数组,存储结果
// 主要函数
void RCC_Configuration(void);//RCC初始化
void NVIC_Configuration(void); //NVIC初始化
void NOP(void); //延时周期
void Delay(vu32 nCount); //延时程序
void delay0(BYTE x); //延时子程序
void keyscan(void); // 矩阵键盘扫描子程序
void duli_keyscan(void); //独立按键扫描子程序
void keydown(void); //判断键盘键是否按下
void calculate(void); //判断键盘键是否按下
void result2char(void); //计算表达式的值
void LCD(void); //LCD显示
int insert_operand(int *operand , int * top_num ,BYTE num);//数据压入数据栈
int insert_oper (BYTE * oper , int *top_oper , char ch);//操作符压入符号栈
int compare(BYTE *oper , int *top_oper , BYTE ch);//比较操作服优先级
int deal_date(int *operand ,BYTE *oper ,int *top_num, int *top_oper);//进行数据运算