C51入门与最小系统搭建

(一)、单板机

将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)

单板机

(二)、单片机

在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。

ROM:只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。

总结:只读存储器,掉电不丢失数据,一般用来存储程序。

RAM:随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

总结:随机存储器,掉电丢失数据,一般用来存储变量。

单片机

(三)、单片机能做什么

工业自动化:数据采集、测控技术。

智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。

消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。

通讯方面:调制解调器、程控交换技术、手机、小灵通等。

武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。

凡是与控制或简单计算有关的电子设备都可以用单片机来实现,根据具体实际情况还可以选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等。

(四)、80C51系列单片机

80C51是MCS-51系列中的一个典型品种,其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列

80C51系列单片机主要产品有:

l Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;

l ATMEL的:89C51、89C52、89C2051等;

l Philips、华邦、Dallas、STC、Siemens(Infineon)等公司的许多产品;

80C51

P3口第二功能各引脚功能定义:

P3.0:RXD串行口输入

P3.1:TXD串行口输出

P3.2:INT0外部中断0输入

P3.3:INT1外部中断1输入

P3.4:T0定时器0外部输入

P3.5:T1定时器1外部输入

P3.6:WR外部写控制

P3.7:RD外部读控制

8051内部结构:

内部结构

总线:

总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。 外部总线有三种: 数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CBControl Bus)。

内部资源:

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊
功能寄存器;

RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

ROM:用以存放程序、一些原始数据和表格;

I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;

T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统:

一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;

片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。

机器周期和指令周期:

振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,一般为12MHZ(通过晶振产生)。

状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 

机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 

指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。

(五)、单片机最简程序与最小系统

5.1、开发环境的搭建

1、首先安装KEIL C51 Version 9.00,双击C51V900.exe,直接下一步...下一步...傻瓜安装就好,遇到需要填写的信息,直接空格就好。

2、准备好软件stc-isp,这个软件不需要安装,是一个上位机程序,用于把写好的C语言程序上次给单片机,下载好软件之后双击就可以运行,可以发送到桌面快捷方式。

3、安装USB转TTL的下载器,安装PL2303,双击安装即可。

下载地址:
链接:https://pan.baidu.com/s/1kcludXeInbRJm48wLfevVA
提取码:fpnv

5.2、KEIL建立工程

1、首先创建一个文件夹,用来存放工程文件,文件夹名称可以为中文。

2、打开软件KEIL,Project ->new uVision Project,选择刚才新建的文件夹,输入项目的名称,然后点击保存,这里我们需要选择单片机的型号,选择Atmel公司的AT89C52即可,当然也可以选择AT89C51RC,内核是一样的,所以可以通用。

KEIL工程

这是是否需要添加单片机启动代码,点击是就可以了。

下图的STARTUP.A51就是单片机的启动文件,使用汇编写的。

3、我们找到我们创建的工程文件夹,在里面新建一个文本文档,随便一个重命名,但是文件的扩展名称改为.c的文件,这样就建立了一个C文件。点击Source Group1文件夹,右键Add File to Group “****Source Group1****”****,把我们的C文件添加进去即可。

项目目录

5.2、最小系统电路图

最小系统电路图

5.2.1、物料准备:

51单片机STC89C52RC X 1:2020年这个型号的单片机入门使用的比较多。

按键开关 X 1:这个开关用来做复位电路使用。

电阻10K X 1:用在复位电路上。

12M的晶振 X 1:晶振是为单片机提供一个基本震荡源,也就相当于人体的心跳,没有震荡源单片机是无法启动的。

10uf电解电容 X1 和30pf瓷片电容 X 2:瓷片电容作用是滤除晶振工作时产生的一下谐波,电解电容用在复位电路上。

最后需要一块面包板和若干导线。

5.2.2、烧写程序:

这里我们需要一个USB转TTL的烧写器。

烧写器

长相酷似一个U盘,上面有五个引脚,但其实我们只需要4个就可以了,因为上电电压这里有5V和3.3V,根据不同的单片机做出相应的选择,这里的STC89C52RC使用5V的上电电压。

VCC(5V/3.3V) ------> 单片机的40引脚。

GND ------> 单片机的20引脚(VSS)。

RXD ------> 单片机的11引脚(TXD)。

TXD ------> 单片机的10引脚(RXD)。

RXD和TXD是信号线:

RXD,全称receive external data,即接收外部设备传来的数据,也称为接收数据的引脚。

TXD,全称transmit external data,即发送给外部设备的数据,也称为发送数据的引脚。

5.2.3、、实物电路连接
右边的RGB灯珠是为后面的测试程序准备的。

实物连接图

5.2.4、单片机最简单程序

程序测试:
# include "reg52.h"
// set bit 4组IO口p0 p1 p2 p3 、每一组都有八个针p10 p12 p13.....
sbit LED_R = P1^1;
sbit LED_G = P1^2;
sbit LED_B = P1^3;

void main()
{
    // 实现灯的闪烁。
    int i;
    while(1)
    {
        LED_B = 1;
        LED_R = 1;
        LED_G = 1;
        for(i=0; i<30000; i++);    // 程序等待
        LED_B = 1;
        LED_R = 0;
        LED_G = 0;
        for(i=0; i<30000; i++);
        LED_B = 1;
        LED_R = 1;
        LED_G = 0;
        for(i=0; i<30000; i++);
        LED_B = 1;
        LED_R = 0;
        LED_G = 1;
        for(i=0; i<30000; i++);
        LED_B = 0;
        LED_R = 0;
        LED_G = 0;
        for(i=0; i<30000; i++);
    }
}

5.2.5、编译程序:

编译程序执行,要设置一下,点击下图左上角的图标,生成.HEX文件。

然后点击下方的第2个按钮,进行编译。


5.2.6、使用上位机烧写程序

选择一个单片机型号,然后点击“打开程序文件”,选择我们生成的.HEX文件,点击“下载/编程”,然后这里需要给单片机重新上电,可以拔掉烧写器的VCC引脚然后再插上即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,552评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,666评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,519评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,180评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,205评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,344评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,781评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,449评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,635评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,467评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,515评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,217评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,775评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,851评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,084评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,637评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,204评论 2 341

推荐阅读更多精彩内容