单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 103936|回复: 277
打印 上一主题 下一主题
收起左侧

2课:单片机引脚介绍

  [复制链接]
跳转到指定楼层
#
admin 发表于 2013-5-21 02:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

 

单片机的40个引脚大致可分为4类:电源时钟控制I/O引脚
⒈ 电源: 
         ⑴ VCC - 芯片电源,接+5V;
         ⑵ VSS - 接地端;

⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根,
  ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
      ① ALE功能:用来锁存P0口送出的低8位地址
      ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
  ⑵ PSEN:外ROM读选通信号。
  ⑶ RST/VPD:复位/备用电源。
       ① RST(Reset)功能:复位信号输入端。
       ② VPD功能:在Vcc掉电情况下,接备用电源。
  ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
       ① EA功能:内外ROM选择端。
       ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线
  80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。  

   拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。

1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、 复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。

  我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻)

  按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。


   图1

  名字有了,我们又怎样让它变'高'或变'低'呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就能了。

  现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西——数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具"编程器"。如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的AT89s51或者STC89C51单片机能支持在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的编程器制作教程下载。

 下面我们来实战一下:下图(图2)所示的软件名字叫keil —>点此下载,是用来编写程序代码并生成一个可以写入到单片机芯片的Hex文件(我们人要控制单片机只能用汇编语言或者C语言而单片机不认识怎么办呢?所以keil这个软件就把程序语言转换成了一种特定格式的Hex文件,只要把这个文件下载到单片机芯片单片机就会按我们程序的思路来运行)

图2 (keil编程软件) —>  本例keil工程文件点此下载


       图3(下载软件) —> 点击此处下载

    好了…… ,我们把 SETB P1.0 这条汇编语句用keil软件编译生成Hex文件,然后用图3所示的软件和图1所示的硬件(用串口连接电脑)下载到我们已经做好的电路板上的单片机芯片里去(图省事的话建议直接买个开发板),然后接通电源……什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。所以要将keil编缉区的内容改为CLR P1.0,重新编译生成Hex文件,重新下载,接电,好,灯亮了。因为我们写入的Hex就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。


下一课:3课:单片机存储器结构

评分

参与人数 23威望 +5 黑币 +96 收起 理由
super1120 + 3 實用!!
nmji12 + 5
@小黑屋 + 5 绝世好帖!
jiangjieke + 5
Steven159 + 9 共享资料的黑币奖励!
废土传奇 + 1 绝世好帖!
轻730 + 1 很给力!
BadMoS + 5 绝世好帖!
周鑫鑫鑫666 + 1
ytteria0001 + 5 很给力!
wodetianna + 5 绝世好帖!
1248979828 + 5 很给力!
hcf + 5 很给力!
吉猪沙冰 + 5 很给力!
lt470484446 + 5 很给力!
小白稍稍 + 1 很给力!
rock5442107 + 5 很给力!
chen_zhouge + 5 很给力!
msifortinet + 5 赞一个!
god147 + 5 很给力!
jsrdx + 5 很给力!
xuelong + 5 很给力!
810158933 + 5

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏18 转播转播 分享分享 分享淘帖 顶13 踩
回复

使用道具 举报

277#
phoenix_me 发表于 2018-5-22 14:14 | 只看该作者
赶快回家买东西练练手
回复

使用道具 举报

276#
小灯巫18520 发表于 2018-5-17 14:26 来自手机 | 只看该作者
欧阳云天 发表于 2018-5-5 21:32
管理员能否讲一下P0  P1  P2  P3 这四个端口之间有啥不同的地方,就是想了解做什么用途选择哪个端口才更合 ...

P0口需要加上拉电阻而其他端口不需要
回复

使用道具 举报

275#
天才小能猫 发表于 2018-5-7 19:59 | 只看该作者
很棒,赞一下,课后可以学一学
回复

使用道具 举报

274#
欧阳云天 发表于 2018-5-5 21:32 | 只看该作者
管理员能否讲一下P0  P1  P2  P3 这四个端口之间有啥不同的地方,就是想了解做什么用途选择哪个端口才更合适,就好比LED实验,大家为什么都选P1口i呢,我知道P2  P3 这些端口肯定也行,问题就是没见过谁用其它端口来做LED实验
回复

使用道具 举报

273#
fymy 发表于 2018-5-3 09:04 | 只看该作者
好,实用!
回复

使用道具 举报

272#
han1233 发表于 2018-5-3 02:40 来自手机 | 只看该作者
新手多多关照 发表于 2018-4-27 21:27
为何p1.0脚是高电平  就不亮  低电平就会亮?

因为LED灯阳极通过限流电阻接的VCC,阴极接的P1.0,当P1.0输出低电平时,才能构成回路,LED中才有电流通过。
回复

使用道具 举报

271#
tsh1658 发表于 2018-5-1 13:03 | 只看该作者
很详细,对于新手很重要
回复

使用道具 举报

270#
icgsgf 发表于 2018-4-28 10:18 来自手机 | 只看该作者
希望能有个视频教一下
回复

使用道具 举报

269#
新手多多关照 发表于 2018-4-27 21:27 来自手机 | 只看该作者
为何p1.0脚是高电平  就不亮  低电平就会亮?
回复

使用道具 举报

268#
wx13808433053 发表于 2018-4-27 02:19 | 只看该作者
老贴居然今年这么多人看了,谢谢楼主分享
回复

使用道具 举报

267#
钾肥猫 发表于 2018-4-21 21:44 | 只看该作者
刚入门问一下,晶振随意吗?
回复

使用道具 举报

266#
DEPL 发表于 2018-4-21 16:39 | 只看该作者
很详细哟,不错
回复

使用道具 举报

265#
DEPL 发表于 2018-4-21 16:38 | 只看该作者
很详细
回复

使用道具 举报

264#
火麒麟 发表于 2018-4-12 12:44 | 只看该作者
这个编译不了,灯也不亮哦!
回复

使用道具 举报

263#
太阳黑子1 发表于 2018-4-11 23:21 | 只看该作者
houyuxuan 发表于 2018-4-6 09:19
led与电源间的那几个电阻啥作用?实际制作中阻值怎么确定?

限流用的电阻
回复

使用道具 举报

262#
太阳黑子1 发表于 2018-4-11 23:19 | 只看该作者
很给力
回复

使用道具 举报

261#
hiddenhand 发表于 2018-4-10 12:23 | 只看该作者
学习学习
回复

使用道具 举报

260#
18665988960 发表于 2018-4-9 20:30 | 只看该作者
好东西
回复

使用道具 举报

259#
houyuxuan 发表于 2018-4-6 09:19 | 只看该作者
led与电源间的那几个电阻啥作用?实际制作中阻值怎么确定?
回复

使用道具 举报

258#
z114355131 发表于 2018-4-1 18:59 | 只看该作者
keil中文版的链接失效了!求个新链接!谢谢!
回复

使用道具 举报

257#
swj851 发表于 2018-3-27 17:37 | 只看该作者
通俗易懂,谢谢老师
回复

使用道具 举报

256#
hyhezdh 发表于 2018-3-26 23:27 | 只看该作者
厉害了
回复

使用道具 举报

255#
Pangi 发表于 2018-3-22 00:12 | 只看该作者
非常好
回复

使用道具 举报

254#
CNMB_123 发表于 2018-3-11 22:47 | 只看该作者
赞一个!
回复

使用道具 举报

253#
centch 发表于 2018-3-11 10:19 | 只看该作者
讲的简单易懂明白,很给力。
回复

使用道具 举报

252#
何必诙谐 发表于 2018-2-17 20:53 来自手机 | 只看该作者
很有感觉
回复

使用道具 举报

251#
雨天的船 发表于 2018-2-14 11:25 | 只看该作者
适合入门,不错
回复

使用道具 举报

250#
hanwei718 发表于 2018-2-13 16:39 | 只看该作者
我的下载不了,是不是数据线有问题
回复

使用道具 举报

249#
wzs909 发表于 2018-2-11 10:03 | 只看该作者
通俗易懂
回复

使用道具 举报

248#
lcq403 发表于 2018-2-11 01:26 来自手机 | 只看该作者
教材很好,慢慢学习,谢谢
回复

使用道具 举报

247#
lcq403 发表于 2018-2-11 01:26 来自手机 | 只看该作者
教材很好,慢慢学习,谢谢
回复

使用道具 举报

246#
乱花建玉 发表于 2018-2-10 11:06 | 只看该作者
不错,通俗易懂,好好学习
回复

使用道具 举报

245#
ccxdtrj 发表于 2018-2-9 05:13 来自手机 | 只看该作者
通俗易懂,好好孚习
回复

使用道具 举报

244#
ccxdtrj 发表于 2018-2-8 20:55 来自手机 | 只看该作者
学习一下单片机
回复

使用道具 举报

243#
liyun159753 发表于 2018-2-1 16:15 | 只看该作者
介绍的很是到位了
回复

使用道具 举报

242#
maologao 发表于 2018-1-31 20:36 | 只看该作者
很好的教程。
回复

使用道具 举报

241#
286146975 发表于 2018-1-26 11:55 | 只看该作者
感谢楼主分享
回复

使用道具 举报

240#
汉子666 发表于 2018-1-26 08:08 | 只看该作者
这么多 记住不,只能用的时候来查了
回复

使用道具 举报

239#
ruoxing 发表于 2018-1-21 16:56 | 只看该作者
感谢楼主分享
回复

使用道具 举报

238#
1759502988 发表于 2018-1-20 15:27 | 只看该作者
学习了,非常好 谢谢老师
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛

Powered by 单片机教程网

快速回复 返回顶部 返回列表