让小车随节拍律动的基础编程

#include <reg51.h>

#define uchar unsigned char   //伪指令

#define uint unsigned int //简化指令

sbit P1-0=P1^0

uint n,v,jiepai,dongzuo;  //要记得先定义变量呦。

uint XNH []={ 64820,1,6,64580,2,5,64777,4,1,65535;}  //定义数组,音符,节拍,动作值,我就随便举几个音符啦

void dealy(jianpu){

v=XNH[n];//提取音符

jiepai=XNH[++n];

n++;

}  //为了让程序编写简单方便,咱们定义一个函数来读取音符

void delay(uint jiepai)

{

unchar a,b,c;

while(jiepai--!=0)

{

for(a=5,a>0;a--)

{

for(b=123;b>0;b--)

{

for(c=150;c>0;c--){;}

}

}

void mian()

{

P2=0x00;

P1-0=0;

TMOD=0x11 //初始化

    IE=0x82;  

n=0;

while(1){

jianpu();//读取

if(v!=65535)

{

if (jiepai!0)

{

T0=v; //不初始化没办法用啊

TR0=1;//你得打开定时器啊

P2=dongzuo;

delay(jiepai);

}

}

else{RT0=0;

P1-0=1;

P2=0x00;}// 结束




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值