您现在所在的是:

单片机论坛

回帖:12个,阅读:1595 [上一页] [1] [2] [下一页]
809
328441641
文章数:20
年度积分:50
历史总积分:809
注册时间:2011/8/24
发站内信
发表于:2011/12/27 20:26:07
#0楼
#include<reg52.h>
#define uchar unsigned char

sbit led=P1;
uchar num=0,speed=0,t=0;

uchar code table[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
void main()
{
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
while(1)
{  
P1=table[num];
} }

void T0_time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
speed++;
switch(t)
{
case 0:
if(speed==20)
num++;
break;

case 1:
if(speed==18)
num++;
 break;

case 2:
if(speed==16)
num++;
break;

case 3:
if(speed==14)
num++;
break;

case 4:
if(speed==12)
num++;
break;

case 5:
if(speed==10)
num++;
break;

case 6:
if(speed==8)
num++;
break;

case 7:
if(speed==6)
num++;
break;

case 8:
if(speed==4)
num++;
break;

case 9:
if(speed==2)
num++;
break;
}

if(num==8)
{
num=0;


t++;
if(t==speed)


我程序switch(t)这样写才对;   写成switch(t):就错为什么的?
sbit led=P1;写成sfr led=P1;就错为什么
7479
转身祭喧哗
文章数:1874
年度积分:50
历史总积分:7479
注册时间:2011/12/16
发站内信
发表于:2011/12/27 21:27:45
#1楼
咋是日语那?
盛世煙花血染畫,霧如輕紗雪翎幻。 /太極玄清道浮沉,零落成泥淼水寒/ 詞
809
328441641
文章数:20
年度积分:50
历史总积分:809
注册时间:2011/8/24
发站内信
发表于:2011/12/27 21:37:10
#2楼
c语言,兄弟
c语言,兄弟

[此贴子已经被作者于2011/12/27 21:42:14编辑过]
4584
zhengpan2010
文章数:2686
年度积分:50
历史总积分:4584
注册时间:2010/9/13
发站内信
发表于:2011/12/27 22:21:28
#3楼

我程序switch(t)这样写才对; 写成switch(t):就错为什么的?switch是开关语句,每个语句都有自己的表达式
sbit led=P1;写成sfr led=P1;就错为什么
都是些固定格式没有那么多为什么的
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2005/5/2
发站内信
发表于:2011/12/27 22:48:47
#4楼
该用户被锁定,回复内容不予显示!
9676
Kate
文章数:1123
年度积分:53
历史总积分:9676
注册时间:2002/3/24
发站内信
发表于:2011/12/28 11:38:11
#5楼
switch(t):是语法错误,不能加冒号,类似if(……):也会出错。
sbit led=P1;写成sfr led=P1;就错为什么——注意句尾的分号“;”与“;”西文与中文的区别,用中文符号时编译就出错。
人有人意我有我意合得人意恐非我意合得我意恐非人意人意我意恐非天意合得天意自然如意
6518
jamsonwo
文章数:962
年度积分:50
历史总积分:6518
注册时间:2010/8/24
发站内信
发表于:2011/12/28 17:19:23
#6楼
sbit 好像是位定义吧!P1是一个字节的寄存器,它好像是有8个位吧!
只用过sbit led=P1^0;呵呵!有可能是我见得太少了!
2231
jog0821
文章数:250
年度积分:50
历史总积分:2231
注册时间:2010/6/16
发站内信
发表于:2011/12/29 11:42:15
#7楼
sfr 是直接寻址的   不能写 过sbit led=P1^0;  而是 sfr P1=0x90;




[此贴子已经被作者于2011/12/29 13:08:53编辑过]
天道酬勤!
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/11/20
发站内信
发表于:2011/12/29 11:59:40
#8楼
该用户被锁定,回复内容不予显示!
809
328441641
文章数:20
年度积分:50
历史总积分:809
注册时间:2011/8/24
发站内信
发表于:2011/12/29 19:06:09
#9楼
确实,刚学习的。
是的这样看比较烦…以后会注意的…

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005