上移的:
void delay(void);
int8 n;
int8 delta_p;
int8 *p;
void main(void){
int8 i;
int8 j;
p=&num_tab[0][0];
TMOD=0x01;
TH0=0xfc;
TL0=0x18;
ET0=1;
EA=1;
TR0=1;
while(1)
{
for(i=0;i<8;i++){
delay();
P0=*(p+delta_p);
P2=i|0x18;
p++;
if(p>&num_tab[0][7])
p=&num_tab[0][0];
}
}
}
void delay(void){
int16 i;
for(i=0;i<500;i++);
}
void timer0() interrupt 1 using 3
{
TF0=0;
TH0=0xfc;
TL0=0x18;
if(n<200)
{
n++;
}
else
{
n=0;
if(delta_p>240)
delta_p=0;
else
delta_p+=2;
}
}
谢谢了呵呵!向上移动的我知道怎么写啊!就是向左右移动不知道怎么写的!请帮我看一下这个程序(向右移动的)什么意思啊?有3句看不懂啊?谢谢!
//功能:实现→向右移动
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code TAB[]={0xFF,0xC1,0xDF,0xDF,0xC1,0xFD,0xFD,0xC1};
uchar i,t,j=0;
delay(uchar t)
{
while (t--)
{;}
}
void main(void)
{
uchar T,Y,Q;
while(1)
{
for(Q=0;Q<8;Q++)
for(T=0;T<100;T++) //速度
{ P1=0x01;
for(i=0;i<8;i++)
{
Y=TAB[i+1]*256+TAB[i];//这什么意思 为什么乘256
Y=Y<<(7-Q)|Y>>Q; //这什么意思
P0=Y%256; //什么意思 为什么要取它的摸!
delay(60);
P1=P1<<1|P1>>7;
}
}
}
}
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |

我要赚赏金
