如何用单片机设计一个程序,给定一个数组a[0,1,2,3,4...7]8位的,让其按顺序输出并循环

在给另一个信号的时候,从当前位数往回倒退5位,再正向输出,比如现在是4,反向输出3,2,1,7,6
最新回答
柏拉图爱恋

2024-07-03 19:20:03

先用一个循环检测数值最小的那个数,保存在另一个数组 A 中
然后再用循环检测数值第二小的数值,保存在另一个数组 A 中

以此类推 完成后输出

这是最笨的方法,也是最容易理解的方法
追问
我,1,2,3,4,,,都是随便加的,不是按数字的大小,就是把数组里的数,按之前给的顺序输出来
unsigned char M[8]={0x0c,0x04,0x06,0x02,0x03,0x01,0x09,0x08);
追答
对啊,就是让你用循环查找法,查找出来的结果保存在别处嘛

任何字符或数字,都可以用十六进制码进行比较大小的

你查查 ASCII码 就知道了
云巢

2024-07-03 04:36:40

unsigned char M[8]={0x0c,0x04,0x06,0x02,0x03,0x01,0x09,0x08);
main()
{
unsigned char CurP;
unsigned char i;
while(1)
{
……;//获得CurP
for(i=CurP;i!=0xff;i--)
{
Px=M[i];Delay(); //CurP+1次。
}
for(j=7;j>CurP;j--)
{
Px=M[j];Delay(); //8-(CurP+1)次
}
}

}
盼盼小面包

2024-07-03 05:01:46

用c还是别的语言
咸鱼味的猫

2024-07-03 06:08:50

unsigned char i

i++ i--
if

用这几个