13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-25 22:04 | 显示全部楼层
各位实在不好意思,这几天志愿者值班,每天都忙到很晚。而且快要开学了,可能要等到9月2日才能更新了。在这里向各位道歉,有时间我会尽量更新。

3

主题

0

好友

1180

积分

侠之大者 当前离线

论坛总版主

Rank: 6Rank: 6

UID
25005
帖子
1738
精华
0
经验
1180 点
金钱
1143 ¥
注册时间
2007-7-23
发表于 2011-8-26 22:28 | 显示全部楼层
焦急的等待中。。。。。。。

67

主题

0

好友

2169

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
44250
帖子
4956
精华
0
经验
2169 点
金钱
2151 ¥
注册时间
2008-5-28
发表于 2011-8-27 10:47 | 显示全部楼层
请教大侠门:--a和a--的区别是什么?我只知道a--是a自减1,--a是什么意思?同样的++a呢?

36

主题

4

好友

536

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
127879
帖子
724
精华
0
经验
536 点
金钱
490 ¥
注册时间
2009-8-28
发表于 2011-8-27 19:54 | 显示全部楼层
用KEIL4软件  如何将汇编语言生成HEX文件,谢谢!!!

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-27 20:43 | 显示全部楼层
回复 204# CDM1234


    这个跟C语言文件一样,只不过后缀名是XX.asm

13

主题

0

好友

84

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
269674
帖子
129
精华
0
经验
84 点
金钱
83 ¥
注册时间
2010-12-7
发表于 2011-8-27 22:06 | 显示全部楼层
回复 203# languifan

--a   就是在准备       使用a之前    让a自减1,即a=a-1 。
a--   就是在             使用a之后    让a自减1,即a=a-1 。


其实--的位置就是表示是在a使用前还是使用后把a自减1

13

主题

0

好友

84

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
269674
帖子
129
精华
0
经验
84 点
金钱
83 ¥
注册时间
2010-12-7
发表于 2011-8-27 22:13 | 显示全部楼层
回复 192# Sayno?


    这个位置是怎样的呢?  比如说P0^0~7     ,要是P0=0x01   ,那么是P0^0还是P0^1 等于1?

47

主题

2

好友

991

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
63566
帖子
1437
精华
0
经验
991 点
金钱
1028 ¥
注册时间
2008-11-16
发表于 2011-8-28 10:38 | 显示全部楼层
回复 207# nccz


    P0=0x01         就等于P0= 1000 0000

5

主题

0

好友

152

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
90262
帖子
183
精华
0
经验
152 点
金钱
161 ¥
注册时间
2009-3-22
发表于 2011-8-28 12:58 | 显示全部楼层
回复 199# 给你一支烟
#include<reg52.h>
#define uchar  unsignef  uchar
#define uint     unsigned int
#define duanma p0

sbit led=p1^0;  秒显示,两个发光二极管。
sbit wei1=p1^1;  七段数码管的选择位
sbit wei2=p1^2;
sbit wei3=p1^3;
sbit wei4=p1^4;

uchar code table[]={ 省略};七段数码管的段码

uchar shi ,fen,miao,shis,shig,fens,feng,tt;


void delay(uchar z)   延时子程序1ms
{
    uchar  x,y;
for(x=z;x>0;x--)
{
  for(y=110;y>0;y--)
}
}

void display()
{
  shis=shi/10;
  shig=shi%10;

fens=fen/10;
feng=fen%10;

wei1=0;
shuma=table[shis];
delay(5);
wei1=1;

we2=0;
shuma=table[shig];
delay(5);
wei2=1;

wei3=0;
shuma=table[fens];
delay(5);
wei3=1;

wei4=0;
shuma=table[feng];
delay(5);
wei3=1;

}

void init()
{
  shuma=1;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}

void main()
{
  init();
while(1)
{
   display();
}

void time0()  interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==20)
{
  tt=0;
led=0;
miao++;
if(miao==60)
{
  miao=0;
  fen++;
if(fen==60)
{
  shi++;
fen=0;
if(shi==60)
{
shi=0
}
}


}
}
else
{
led=1;
}
}
程序没有调试,自己去试一下,我没有在编译软件上面写,

8

主题

1

好友

1560

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
100126
帖子
1962
精华
0
经验
1560 点
金钱
1554 ¥
注册时间
2009-4-28
发表于 2011-8-28 13:57 | 显示全部楼层
谢谢,很详细

119

主题

2

好友

898

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
41985
帖子
2298
精华
0
经验
898 点
金钱
850 ¥
注册时间
2008-5-1
发表于 2011-8-29 13:13 | 显示全部楼层
本帖最后由 homeboy 于 2011-8-29 13:14 编辑

自学了一周,写了个流水灯花样:

#include<reg52.h>
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
sbit D7=P1^6;
sbit D8=P1^7;

                                                          
void delay (unsigned int a){   
        unsigned int i;
        while( --a != 0){
                for(i = 0; i < 600; i++);  
                        }
                           }

void main()

{D1=0;delay(100);D1=1;D2=0;delay(100);D2=1;D3=0;delay(100);D3=1;D4=0;delay(100);D4=1;D5=0;delay(100);D5=1;D6=0;delay(100);D6=1;D7=0;delay(100);D7=1;D8=0;delay(100);

D8=1;D7=0;delay(100);D7=1;D6=0;delay(100);D6=1;D5=0;delay(100);D5=1;D4=0;delay(100);D4=1;D3=0;delay(100);D3=1;D2=0;delay(100);D2=1;D1=0;delay(100);

D2=0;delay(100);D3=0;delay(100);D4=0;delay(100);D5=0;delay(100);D6=0;delay(100);D7=0;delay(100);D8=0;delay(200);

D1=D2=D3=D4=D5=D6=D7=D8=1;delay(200);

D8=0;delay(100);D7=0;delay(100);D6=0;delay(100);D5=0;delay(100);D4=0;delay(100);D3=0;delay(100);D2=0;delay(100);D1=0;delay(200);

D1=D2=D3=D4=D5=D6=D7=D8=1;delay(200);

D4=D5=0;delay(100);D3=D6=0;delay(100);D2=D7=0;delay(100);D1=D8=0;delay(200);

D1=D8=1;delay(100);D2=D7=1;delay(100);D3=D6=1;delay(100);D4=D5=1;delay(300);
}
                                                                                               
完全根据自己想象,应该有更简洁的办法吧

13

主题

0

好友

207

积分

业余侠客 当前离线

Rank: 4

UID
327390
帖子
142
精华
0
经验
207 点
金钱
152 ¥
注册时间
2011-5-1
 楼主| 发表于 2011-8-29 17:20 | 显示全部楼层
回复 211# homeboy


    可以是可以,只是复杂了哦,用for循环来写会很简单

4

主题

0

好友

1097

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
4426
帖子
1556
精华
0
经验
1097 点
金钱
995 ¥
注册时间
2005-5-30
发表于 2011-8-30 01:55 | 显示全部楼层
正好想入门学习,收下了。

36

主题

4

好友

536

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
127879
帖子
724
精华
0
经验
536 点
金钱
490 ¥
注册时间
2009-8-28
发表于 2011-8-30 15:50 | 显示全部楼层
本人初学,想用AT89S52驱动LCD1602A,晶振是11.0952MH,但只显示一行方块,下了多个程序,显示相同,程序是网上下的。
以下是程序,请指教,谢谢!!

/*LCD 1602生成两行字,分别是:"Believe yourself!"和"Happybirthy to you!"并作向左循环移动!*/
#include<reg51.h>
#define uchar unsigned char
#define uint  unsigned int
uchar code table1[]="Believe yourself!";
uchar code table2[]="Happybirthy to you!";
sbit RS=P1^0;
sbit RW=P1^1;
sbit E=P1^2;          
void delay(uint ms)
{
   uint n;
   for(;ms>0;ms--)
   for(n=124;n>0;n--);
}
/*写指令*/
void write_Instruction(uchar Instruction)
{
   RS=0;
   RW=0;
   E=0;
   P0=Instruction;
   delay(5);
   E=1;
   delay(5);
   E=0;
}
/*写数据*/
void write_Data(uchar Data)
{
   RS=1;
   RW=0;
   E=0;
   P0=Data;
   delay(5);
   E=1;
   delay(5);
   E=0;
}
/*初始化*/
void Init()
{
   delay(15);
   write_Instruction(0x38);
   delay(5);
   write_Instruction(0x38);
   delay(5);
   write_Instruction(0x38);
   delay(5);
   write_Instruction(0x38);
   write_Instruction(0x38);
   write_Instruction(0x08);
   write_Instruction(0x01);
   write_Instruction(0x06);
   write_Instruction(0x0c);
}
void left_move()
{
  uchar i;
  for(i=0;i<16;i++)
  {
    write_Instruction(0x18);
        delay(3000);
  }
}
void main()
{
   uchar i;
   Init();
   while(1)
   {
   write_Instruction(0x80);

                for(i=0;i<16;i++)
           {
              write_Data(table1[i]);
                  delay(1);
           }

   write_Instruction(0x80+0x40);
   for(i=0;i<19;i++)
   {
      write_Data(table2[i]);
          delay(1);
   }
   left_move();
  }
}

6

主题

0

好友

395

积分

业余侠客 当前离线

Rank: 4

UID
64777
帖子
970
精华
0
经验
395 点
金钱
706 ¥
注册时间
2008-11-23
发表于 2011-8-31 20:04 | 显示全部楼层
这样贴子非常详细,讲得非常好!请LZ继续为我们进读!非常感谢!

119

主题

2

好友

898

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
41985
帖子
2298
精华
0
经验
898 点
金钱
850 ¥
注册时间
2008-5-1
发表于 2011-8-31 22:32 | 显示全部楼层
回复 214# CDM1234


    这位同学,我也是初学者,我想你硬件弄好后要和软件匹配才行,不是随便一个程序拿来就来用的,比如一些端口和接口的定义,赋值什么的,每个方案都不一样,软件也大不相同

3

主题

0

好友

105

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
26976
帖子
117
精华
0
经验
105 点
金钱
103 ¥
注册时间
2007-9-8
发表于 2011-9-2 03:46 | 显示全部楼层
感谢楼主的贡献

2

主题

0

好友

64

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
309698
帖子
62
精华
0
经验
64 点
金钱
64 ¥
注册时间
2011-3-27
发表于 2011-9-3 18:33 | 显示全部楼层
进来好好学习,天天向上!
头像被屏蔽

34

主题

0

好友

704

积分

禁止发言 当前离线

UID
4319
帖子
812
精华
0
经验
704 点
金钱
375 ¥
注册时间
2005-5-20
发表于 2011-9-3 19:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

19

主题

1

好友

1062

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
13394
帖子
1043
精华
0
经验
1062 点
金钱
941 ¥
注册时间
2006-10-14
发表于 2011-9-3 21:04 | 显示全部楼层
好人氏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部