数码管没有从左边第一位显示
https://www.bilibili.com/video/BV1H7411n7AY动态显示部分
#include "reg52.h"
#ifndef u16
#define u16 unsigned int
#endif
unsigned char s[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//共阴0-9
unsigned char str[]={0x76,0x79,0x38,0x38,0x3F};//HELLO
unsigned char wei[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07};
//{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(u16 n);
void seg(){
int i;
for(i=0;i<5;i++){
//P2=0xFF;//P3=0x00;
P3=wei;
P2=str;
delay(5);
}
}
void main(){
while(1){
seg();
}
}
void delay(u16 n){
u16 i,j;
for(i=0;i<n;i++){
for(j=0;j<120;j++);
}
}
结果是从左起第二位数码管显示的。
而教程演示是从最左边开始显示的。
跟教程不一样的就是我用的是hc138,教程是ls138.
请教为什么?
上课不留心,抄代码都抄错
Lkck8210 发表于 2025-1-15 10:07
上课不留心,抄代码都抄错
{:cahan:}本质没有理解代码含义。这下算明白了。{:weiqu:}
谢谢指点。{:baoquan:}
页:
[1]