拖尾流水灯

七千22

关注

阅读 34

08-08 09:00

#include "ai8051u.h"    // 调用头文件

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void Timer0_Init(void)		// 1毫秒@24MHz
{
    AUXR |= 0x80;			// 定时器时钟1T模式
    TMOD &= 0xF0;			// 设置定时器模式(高4位保留)
    TL0 = 0x40;				// 设置定时初始值(低字节)
    TH0 = 0xA2;				// 设置定时初始值(高字节)
    TF0 = 0;				// 清除TF0标志
    TR0 = 1;				// 启动定时器0
}

// 简单的延时函数(假设系统时钟为24MHz)
void delay(unsigned int ms)
{
    unsigned int i, j;
    for(i = ms; i > 0; i--)
        for(j = 110; j > 0; j--); // 大约1ms延时
}

//void  delay_ms(u8 ms)
//{
//     u16 i;
//     do{
//          i = MAIN_Fosc / 6000;
//          while(--i);
//     }while(--ms);
//}


// 主函数
int main(void)
{

    // 初始化数组x和y
    int x[] = {0,1,2,3,4,5,6,7};
    int y[] = {0,1};
    int size_x = sizeof(x)/sizeof(x[0]);
    int size_y = sizeof(y)/sizeof(y[0]);


    // 生成所有可能的(x, y)组合
    int total_combinations = size_x * size_y;
    int combinations[total_combinations][2];
    int index = 0;
    for(int i = 0; i < size_x; i++) {
        for(int j = 0; j < size_y; j++) {
            combinations[index][0] = x[i];
            combinations[index][1] = y[j];
            index++;
        }
    }

    // 初始化随机数种子
    srand(time(NULL));
	
	    // 随机选择一个组合
    int random_index = rand() % total_combinations;
    printf("随机选择的组合是: (%d, %d)", combinations[random_index][0], combinations[random_index][1]);

    return 0;
	
    // 配置P2端口为准双向口
    P2M0 = 0;
    P2M1 = 0;

    // 初始化定时器0
    Timer0_Init();

    while(1)
    {
	
	    x=[0,1,2,3,4,5,6,7]
		y=[0,1]
		
        P2x = 0;   // P27端口输出低电平
		P20 = 0;   // P20端口输出低电平		
        delay(5000); // 延时100ms
		P27 = 1;
        P20 = 1;		
 		
        P21 = 0;   // P21端口输出低电平
		P26 = 0;   // P26端口输出低电平
        delay(5000); // 延时100ms
        P21 = 1;
		P26 = 1;

        P22 = 0;   // P22端口输出低电平
        P25 = 0;   // P25端口输出低电平
        delay(5000); // 延时100ms
        P22 = 1;
		P25 = 1;

        P23 = 0;   // P23端口输出低电平
		P24 = 0;   // P24端口输出低电平
        delay(5000); // 延时100ms
		P23 = 1;
		P24 = 1;	
 
        delay(5000); // 延时100ms
		
    }

    return 0; // 返回0表示程序正常结束
}

精彩评论(0)

0 0 举报