[基础知识] 单片机入门交流(开始做实验)

[复制链接] 查看: 75931|回复: 289

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

发表于 2007-7-17 09:29 | 显示全部楼层
新开一帖,开始做实验
现在是利用上班时间偷偷的画的,最近一直比较忙,如果更新速度慢请见谅!
下面是一个51单片机的最小系统,在P20加了一个发光二极管
先做一个最简单的实验,点亮和光掉发光二极管! 未命名.JPG
程序中午晚点上,要上班了,大家先把板焊好。

424

主题

3

好友

1万

积分
     

超级版主 当前离线

Rank: 8Rank: 8

UID
13663
帖子
13726
精华
6
经验
10608 点
金钱
8449 ¥
注册时间
2006-10-21

论坛版主 优秀版主 乐于助人 DIY大赛获奖

发表于 2007-7-17 09:40 | 显示全部楼层
终于开课了
头像被屏蔽

44

主题

0

好友

1267

积分

禁止发言 当前离线

民工

UID
3715
帖子
1199
精华
0
经验
1267 点
金钱
483 ¥
注册时间
2005-3-30
发表于 2007-7-17 16:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

88

主题

0

好友

2137

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
7437
帖子
2285
精华
0
经验
2137 点
金钱
2033 ¥
注册时间
2006-2-1
发表于 2007-7-17 16:39 | 显示全部楼层
这个要支持!

3

主题

0

好友

138

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
12514
帖子
78
精华
0
经验
138 点
金钱
74 ¥
注册时间
2006-9-19
发表于 2007-7-17 16:44 | 显示全部楼层
支持

0

主题

0

好友

24

积分

注册会员 当前离线

Rank: 2

UID
24402
帖子
19
精华
0
经验
24 点
金钱
24 ¥
注册时间
2007-7-7
发表于 2007-7-17 16:50 | 显示全部楼层
给大家介绍一个网站,www.pp51.com有很多好书和实验器材,我在那里购买过,信誉还可以
头像被屏蔽

100

主题

0

好友

4380

积分

禁止访问 当前离线

UID
6233
帖子
4488
精华
0
经验
4380 点
金钱
2995 ¥
注册时间
2005-11-8
发表于 2007-7-17 16:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

0

好友

93

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
20446
帖子
32
精华
0
经验
93 点
金钱
35 ¥
注册时间
2007-3-19
发表于 2007-7-17 17:33 | 显示全部楼层
max232的那四个电容我用0.1uF是不是太小了?2跟6脚的电压只有6V左右

96

主题

3

好友

2267

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
11148
帖子
2082
精华
0
经验
2267 点
金钱
1923 ¥
注册时间
2006-8-2
发表于 2007-7-17 18:04 | 显示全部楼层
,开了

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-17 18:04 | 显示全部楼层
不好意思,今天一直比较忙。
有6V差不多了,可以试下通讯是否正常
MAX232有几种后缀,用的电容容量是不同的
具体可以查一下它的文档!

晚上给程序。

424

主题

3

好友

1万

积分
     

超级版主 当前离线

Rank: 8Rank: 8

UID
13663
帖子
13726
精华
6
经验
10608 点
金钱
8449 ¥
注册时间
2006-10-21

论坛版主 优秀版主 乐于助人 DIY大赛获奖

发表于 2007-7-17 18:31 | 显示全部楼层
我这套东西都买快一年了,一直玩不转,都落一层灰了 这下有希望了

对了我这个东西适不适合你安排的学习教程?
S6000422.jpg
头像被屏蔽

44

主题

0

好友

1267

积分

禁止发言 当前离线

民工

UID
3715
帖子
1199
精华
0
经验
1267 点
金钱
483 ¥
注册时间
2005-3-30
发表于 2007-7-17 19:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

237

主题

0

好友

1795

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
14562
帖子
1856
精华
1
经验
1795 点
金钱
1724 ¥
注册时间
2006-11-12
发表于 2007-7-17 22:25 | 显示全部楼层
单片用脉冲电..是指交流吧?

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-17 23:10 | 显示全部楼层
回AHAO,如果你有这块板的原理图最好,只要把相应端口改成一样就可以了
我用的STC有部分功能AT89S系列是没有的,比如EEPROM,用你这个的话你就需要外扩,比如可以用IIC的AT24C系列的
回楼上小兄弟,你在哪里看到脉冲电呢?你可以在百度里搜索一下!


下面给出点亮和灭P20口发光二极管程序,单从电路上来说,要发光二极管灭把P20置高电平,要发光二极管亮的话把P20置低电平即可
在单片机中,数据是用二进制存储的,即0或1,0表示低电平0V,1表示高电平5V,一般书写的时候习惯写成十六进制。

程序很简单

下面是点亮P2.0灯的汇编程序:(如果LED是接在其他脚,把P2.0改成对应引脚就可以了)
;************************************************
;name:                main.asm
;
;designer:        lusson
;设计时间:                2007/7/17
;修改时间:
;************************************************

ORG        0000H                ;程序起始处
        LJMP        main        ;避开中断地址(习惯上这样)
ORG        0030H                ;主程序开始
main:                       
        CLR        p2.0        ;把P2.0置低,要灭掉的话把此句换成"SETB       P2.0"
        AJMP        $        ;原处跳
        END                ;程序结束

;**************************************************
;ORG  和  END都是伪指令,ORG后面跟地址,表示接下来的程序起始地址
;END编译到此结束,写在END后面的程序将不被编绎
;**************************************************

";"为注释符,后面的文字不被编绎,在文中仅起注释作用

其实上面的程序可以就简单地写作
CLR  P2.0
AJMP $
END
但编程最好养成一个好的习惯,在程序中加入适当的注释是很有必要的
特别是汇编来说,因为你写的程序可能不只你一个人看,还要给别人看
而且就算你一个人看,也许若干时间回来你也要看很久才能看明白

我的书写习惯也许不是很好,仅供大家参考,欢迎有经验的人指导

237

主题

0

好友

1795

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
14562
帖子
1856
精华
1
经验
1795 点
金钱
1724 ¥
注册时间
2006-11-12
发表于 2007-7-17 23:30 | 显示全部楼层
在一个51教程里看到的...

    哈。。我也想在暑假玩玩单片..

118

主题

0

好友

4168

积分

罗宾汉 当前离线

江西人在广东

Rank: 7Rank: 7Rank: 7

UID
3563
帖子
4355
精华
2
经验
4168 点
金钱
1275 ¥
注册时间
2005-3-22

优秀设计 论坛贵宾

 楼主| 发表于 2007-7-17 23:37 | 显示全部楼层
对了。忘了说一下程序的使用方法了!
新建一个记事本文件,然后复制下面的代码进去
;************************************************
;name:                main.asm
;
;designer:        lusson
;设计时间:                2007/7/17
;修改时间:
;************************************************

ORG        0000H                ;程序起始处
        LJMP        main        ;避开中断地址(习惯上这样)
ORG        0030H                ;主程序开始
main:                        
        CLR        p2.0        ;把P2.0置低,要灭掉的话把此句换成"SETB       P2.0"
        AJMP        $        ;原处跳
        END                ;程序结束

;**************************************************
;ORG  和  END都是伪指令,ORG后面跟地址,表示接下来的程序起始地址
;END编译到此结束,写在END后面的程序将不被编绎
;**************************************************

如果可以看文件名的,直接把.txt改成.asm
如果懒得改的另存为全部文件,把后缀改成.asm就可以了

然后把这个文件拖进在我另外帖子里的那个casm.exe程序里,会谈出一个DOS框
编绎通过界面如下
未命名.JPG

编绎未通过如下

未命名.jpg
图中会显示错误句子地址为0030H   CR     P2.0   这一句,只要找到相应的改过正确就可以了


编绎通过后会生成一个hex和一个LST文件,这个hex就是我们要烧录进单片机的文件,是十六进制文件。

然后打开从宏晶网站上下载安装好的STC-ISP软件,这里我们先选择单片机:STC89C52RC,后面可以看到程序ROM是从0到1FFF即8K
再打开文件,选择你需要烧录的HEX文件,其他不用动。把单片机和电脑通过串口连接好,点击”DOWNLOAD/下载“按钮,再给单片机上电,如果下载成功,最后一句是已加密,太晚了我就不截图了,这个软件很容易用的。
未命名.jpg

0

主题

0

好友

93

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
20446
帖子
32
精华
0
经验
93 点
金钱
35 ¥
注册时间
2007-3-19
发表于 2007-7-18 00:37 | 显示全部楼层
MAIN: CLR P1.0
ACALL ABC
SETB P1.0
CLR P1.2
ACALL ABC
SETB P1.2
CLR P1.4
ACALL ABC
SETB P1.4
CLR P1.1
ACALL ABC
SETB P1.1
CLR P1.3
ACALL ABC
SETB P1.3
CLR P1.5
ACALL ABC
SETB P1.5
ACALL ABC
AJMP MAIN
ABC: MOV R0,#250
D1: MOV R1,#250
D2:DJNZ R1,D2
DJNZ R0,D1
RET
END
那里错了,为什么写进去只有p1.0 p1.1常亮?

48

主题

1

好友

955

积分
     

职业侠客 当前离线

持续低烧

Rank: 5Rank: 5

UID
6043
帖子
1407
精华
0
经验
955 点
金钱
345 ¥
注册时间
2005-10-25
发表于 2007-7-18 00:45 | 显示全部楼层
楼主好同志啊,精神上支持下

73

主题

3

好友

2933

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
16559
帖子
3105
精华
0
经验
2933 点
金钱
2608 ¥
注册时间
2006-12-28
发表于 2007-7-18 00:47 | 显示全部楼层
找个地方坐下。

41

主题

0

好友

596

积分

职业侠客 当前离线

还是实在点好

Rank: 5Rank: 5

UID
16772
帖子
652
精华
0
经验
596 点
金钱
403 ¥
注册时间
2007-1-2
发表于 2007-7-18 08:13 | 显示全部楼层
楼主,我想请问
最小系统板中,震荡电路,晶振旁边不是要两个小电容的吗?
0..GIF
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部