MCU-51 单片机初学者

合集下载

十天学会单片机非常完整版 轻松学51单片机

十天学会单片机非常完整版 轻松学51单片机
有, 就有”这种逻辑关系的一种运算,
其运算符为“+”。 “或”运算规则如
下:
0+0=0,
0+1=1+0=1, 1+1=1
3. “非”运算
“非”运算是实现“求反”这种逻
辑的一种运算,如变量A的“非”运算 记作 A 。 其运算规则如下:
1 0, 0 1
4. “异或”运算
“异或”运算是实现“必须不同,
总线(BUS)是计算机各部件之间传送信息的公共通道。 微机中有内部总线和外部总线两类。内部总线是CPU内部之 间的连线。外部总线是指CPU与其它部件之间的连线。 外 部总线有三种: 数据总线DB(Data Bus), 地址总线 AB (Address Bus)和控制总线 CBControl Bus)。
• 五个中断源的中断控制系统; • 一个全双工UART(通用异步接收发送器)的串行I/O口,用 于实现单片机之间或单片机与微机之间的串行通信; • 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。 最高振荡频率取决于单片机型号及性能。
C51知识
• C语言是一种编译型程序设计语言,它兼顾了多种高级语 言的特点,并具备汇编语言的功能。目前,使用C语言进 行程序设计已经成为软件开发的一个主流。用C语言开发 系统可以大大缩短开发周期,明显增强程序的可读性,便 于改进、扩充和移植。而针对8051的C语言日趋成熟,成 为了专业化的实用高级语言。
单板机
单片机
单片机能做什么
• • 1. 2. 3. 4. • 实物展示 用到单片机的项目经验介绍 手持粮库温度寻检设备 毕设答辩打分器 电话台灯 自动感应水龙头 凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根 据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳, 80C51,arm等

51单片机自学笔记(基础部分)

51单片机自学笔记(基础部分)

一、51单片机的硬件结构1. 硬件结构框图说明:○1微处理器(CPU):51单片机含一个8位CPU,与通用的CPU功能基本相同,含运算器和控制器,不仅可以字节处理,还可以位处理。

例如:未处理、查表、状态检测、中断处理等。

○2数据存储器(RAM):51为128B,52为256B;片外最大可扩展到64K。

○3程序存储器(ROM/EPROM):8031没有,8051有4K的ROM,8751有4K的EPROM;片外可扩展至64K。

○4中断系统:5个中断源,2级优先权。

○5定时器/计数器:2个16位定时/计数器,四种工作方式。

○6串行口:1个全双工串行口,四种工作方式。

可进行串口通信,扩展并行I/O口,多机通信等。

○7P1、P2、P3、P0口:四个8位并行I/O口。

○8特殊功能寄存器(SFR):共21个,对片内部件进行管理、控制、监视;实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。

2. 引脚排列(1)电源及时钟引脚○1电源引脚:Vcc(40脚)解5V电源、Vss(20脚)接地。

○2时钟引脚:两个始终引脚XTAL1、XTAL2外接晶振,或接晶体与片内反相放大器构成振荡器。

XTAL1(19脚):内部反相放大器的输入端。

若接晶振则应接地;XTAL2(18脚):内部反相放大器的输出端。

若采用外部时钟振荡器,该引脚接收时钟振荡信号。

(2)控制引脚○1RST/Vpd(9脚):复位信号输入,高电平有效。

单片机运行时,此脚持续2个机器周期(24个时钟振荡周期)的高电平,就可复位。

平时应为0.5V低电平;Vpd为第二功能,备用电源输入端。

○2:ALE为地址锁存允许,正常工作时,ALE不断输出正脉冲信号。

当访问外部存储器时,ALE输出信号的负跳变沿用作低8位地址的锁存信号;PROG’为编程脉冲输入端。

○3PSEN’(Program Strobe Enable,29脚):程序存储器允许输出控制端。

低电平是外部程序存储器选通。

快速掌握单片机MCU技巧

快速掌握单片机MCU技巧

如何快速掌握一款新的MCU任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。

对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。

因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:MCU的特点:要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。

了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确那些资源是目前所需要的,那些是本项目所用不到的。

对于项目中需要用到的而所选MCU不提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现,例如,所开发的项目需要与PC机COM口进行通讯,而所选的MCU不提供UART口,则可以考虑用外部中断的方式来实现;对于项目开发需要用到的资源,则需要对其Manua*进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。

对于MCU学习来讲,应用才是关键,也是最主要的目的。

明确了MCU的相关功能后,接下来就可以开始编程了。

对于初学者或初次使用此款MCU 的设计者来说,可能会遇到很多对MCU的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能;另一种则可以暂时忽略,程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。

前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定MCU开发经验的人或项目进度较紧迫的情况;指令系统千万不要特别花时间去理解。

指令系统只是一种逻辑描述的符号,只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可,而且随着编程的进行,对指令系统也会越来越熟练,甚至可以不自觉地记忆下来;MCU的基本功能:对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:Timer(定时器):Timer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的Timer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类Timer在4位MCU中比较常见,因此可以用来实现时钟、计时等相关的功能;另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。

单片机教程入门教程

单片机教程入门教程

单片机教程入门教程单片机是一种小型的、集成度很高的微型计算机系统,具有处理器、存储器和外设等功能。

它广泛应用于各个领域,如电子设备、控制系统、通信等。

对于初学者而言,学习单片机是一项非常有意义和有挑战性的任务。

下面是关于单片机的入门教程,希望对初学者有所帮助。

一、基础知识:1. 单片机的基本结构:讲解单片机的组成部分,包括中央处理器、存储器、时钟、输入输出端口等。

2. 常用的单片机芯片介绍:介绍一些常见的单片机芯片,如51系列、AVR系列等,让初学者了解不同芯片的特性和应用。

二、开发环境搭建:1. 下载和安装开发工具:介绍常用的单片机开发工具,如KeilC、IAR Embedded Workbench等,讲解如何下载和安装。

2. 编写第一个程序:通过简单的LED闪烁程序来演示单片机的基本编程方法,让初学者能够快速上手。

三、基本操作:1. I/O口的使用:讲解如何通过单片机的I/O口实现输入和输出操作,如通过按键控制LED灯的亮灭。

2. 定时器的使用:讲解单片机的定时器原理和使用方法,如通过定时器控制LED灯的闪烁频率。

四、数字信号处理:1. 数字信号的输入输出:讲解如何通过单片机的ADC和DAC模块实现数字信号的输入和输出,如通过麦克风采集声音信号并通过喇叭播放。

2. PWM技术的应用:介绍脉宽调制(PWM)技术的原理和应用场景,如通过PWM控制电机的转速和方向。

五、通信技术:1. 串口通信:讲解单片机的串口通信原理和使用方法,如通过串口与电脑进行数据交互。

2. SPI和I2C总线通信:介绍SPI和I2C总线通信的原理和应用场景,让初学者了解不同通信方式的特点和优势。

六、扩展应用:1. 温度传感器的应用:介绍如何通过单片机连接温度传感器,实时采集和显示温度值。

2. 蓝牙无线通信的应用:讲解如何通过单片机与蓝牙模块进行通信,实现无线控制和数据传输。

通过以上的入门教程,初学者可以了解到单片机的基本知识和应用场景,掌握一些基本的编程和操作方法。

51单片机-又该如何自学51单片机-

51单片机-又该如何自学51单片机-

51单片机?又该如何自学51单片机? 51单片机是目前使用最多的单片机之一,那么什么是51单片机呢?作为新手,又该如何自学51单片机?为帮助大家更好的学习51单片机,本文将对这两个问题予以阐述。

如果你对51单片机具有兴趣,不妨继续往下阅读哦。

一、何为51单片机51单片机是对所有兼容Intel8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8004单片机,后来随着Flashrom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。

很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是51系列的单片机一般不具备自编程能力。

二、51单片机入门自学建议作为一个初学者,如何51单片机入门?实际上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。

一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。

设备上,一般是建议购买一个仿真器,例如,的“双功能下载线”就具有良好的稳定性和较快的下载速度,上位机可扩展,可以下载更多的单片机及嵌入式芯片。

通过实验,这样才可以进行实际的,全面的学习。

日后在工作上,仿真器也大有用处。

还有,一般光有仿真器是不行,还得有一个实际的电路,即学习板,如图,即为,单片机最小系统。

学习板以强大的接口为主,单片机的学习分两方面,一方面是单片机的原理及内部结构,另一方面是单片机的接口技术。

这些都是需要平时多积累,多动手,多思考,这样才能学好单片机技术。

注:“双功能下载线”在百度文库里有详细的使用说明,并且上位机会定期更新以支持更多的单片机。

单片机学习的4个阶段:(一)整体了解要知道单片机是什么?单片机有何用?如何系统学习单片机?单片机系统设计的流程是怎样的,需要掌握哪些辅助软件?了解这些之后,我们的学习就有了目标和方向。

51单片机入门教程

51单片机入门教程
OK,这是一份面向对单片机一无所知的初学者的入门教程。单片机技术就如同一张 窗户纸,这份肤浅的教程就是来戳穿它的,呵呵。就如同你来到一个陌生的城市,我送你一张地 图——不是我水平高,是我比你来得早,就这么点优势,呵呵。它的作用仅仅是帮助你在茫然的 情况下顺利上手,至于上手之后的进展,就全靠你自己的辛勤钻研了。你要明白,没有任何路标 能够代替你走完脚下的路。显然,我不想你们再像我一样在入门上花费过多宝贵时间。你们当然 会感谢我,这是可以理解的,因为我也曾感谢过在我入门的时候给过我帮助的朋友。
如果不具备上述任何一项,请不要继续阅读本教程,收起你的书本,回家吧,你 无法学会单片机。知识方面的欠缺请自己尽快弥补。教材与应用书籍可以借阅,但是我建议各买 一本,因为它们属于工具书,需要随时翻看,版本我就不推荐了,各种版本内容基本都一样,这 个投资需要数十元。实验板可以使用我提供的这一款,硬件功底好的也可以自制,成本在 100 元以内,网上有很多这方面的资料,且基本配置都大同小异。具有 ISP 功能的 RD2 系列(价格 40 元左右)设计的(周立功单片机 公司全面代理飞利浦单片机,可以联系邮购)。其他 ISP 功能的单片机也行,如华邦的 W78E 系 列,AVR 哈佛结构(不是 51 内核)高速系列,不过我都没有使用过。具有 ISP 功能的单片机虽 然比 AT89C51 之类(10 元左右)贵很多,但是配置很强(仅 ROM 容量就有 64K,是 AT89C51 的 16 倍),而且相对于数百元的编程器或者仿真器来说,性价比还是很高的,有利于降低硬件投 资给初学者造成的门槛。KEIL 软件网上随处都可以下载到(搜索 KEIL 下载即可),当然尽量使 用高版本的。ISP 编程软件周立功单片机的网站可以下载,名称为 ZLGISP,飞利浦的 WINISP 也 可以。不算 PC 电脑的话,200 元的投资足够开始学习 51 单片机了(实验板+串口线+单片机+教 材)。

51单片机c语言教程

51单片机c语言教程

51单片机c语言教程在本教程中,我们将学习如何在51单片机上使用C语言进行编程。

无论您是初学者还是有一定经验的开发者,本教程都将对您有所帮助。

首先,我们需要了解一些基本概念。

51单片机是一种基于哈弗微电子公司的MCS-51架构的微控制器。

它采用了Harvard结构,即将程序存储器和数据存储器分开。

它具有各种功能和接口,可以满足不同的应用需求。

在使用C语言进行51单片机编程之前,必须安装相应的开发工具。

这里我们推荐使用Keil C51开发环境。

安装完成后,我们就可以开始编写第一个程序了。

#include <reg51.h>void main(){// 在这里编写您的代码}以上是一个简单的C语言程序模板。

我们使用了reg51.h头文件,该文件包含了与51单片机相关的寄存器定义和常量。

接下来,我们可以开始编写具体的功能代码了。

例如,如果我们想要在LED灯上闪烁一个简单的模式,可以使用以下代码:#include <reg51.h>sbit LED = P1^0;void main(){while(1){LED = 0; // 点亮LEDdelay(1000); // 延时1秒LED = 1; // 熄灭LEDdelay(1000); // 延时1秒}}在这个程序中,我们首先定义了一个LED的控制引脚,然后通过循环实现了闪烁的功能。

在每次循环中,我们先点亮LED,然后通过调用延时函数延时1秒,再将LED熄灭,再次延时1秒。

这样就形成了一个简单的LED闪烁效果。

除了控制IO口外,51单片机还可以实现其他各种功能,如定时器、串口通信等。

这些功能的实现也都可以通过C语言来完成。

希望通过本教程,您可以对51单片机的C语言编程有一个基本的了解。

在以后的学习中,您可以深入研究这些知识,并通过实践来提升自己的能力。

祝您学习愉快!。

单片机MCU基础知识,初学者必看

单片机MCU基础知识,初学者必看

单片机MCU基础知识,初学者必看1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。

2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。

有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。

在RS485一般采用主从通讯方式,即一个主机带多个从机。

3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。

4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。

如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。

5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。

通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。

6.如何区分有源蜂鸣器和无源蜂鸣器?从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。

有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。

7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。

8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。

因此在进入低功耗模式之前,必须配置莫个片内外设的中断,并允许其在低功耗模式下继续工作。

如果不这样,只有复。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1通过仿真芯片(此时需要修改一下keil options 选中第二个选项,后面的全打钩上电级可调式),上位机连接实验板进行在线调试..
2“a—”在while中,每执行一次循环,都要判断a的值,如果不是0,就继续,否则就跳出
3一个机器周期是12个时钟周期(振荡周期
4微调一秒的方法:在调试状态下,首先修改选项周期为11.0592 接着设置断点,使其全速执行,观察左侧方框中sec,按其修改变量的数值
5For循环
void delay()
{
uint x,y;
for(x=100;x>0;x--)
for(y=2000;y>0;y--);
}
6带参数指针
声明的时候注意uint必须带上
Void delay(uint)
void main()
{
delay(100)
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
7库函数的调用详见《C51库函数详解》
8继电器的连接原理
图中标示蜂鸣器的连接与继电器相类似,位置可以取代。

继电器中有一个长连状态,拉低b 级后,里面的两个连接。

同时注意反向二极管的连接
9 单片机上面的数码管是共阴极
片机I/O接口为低电平时,此时可以形成压差继而点亮LED
11段选位选的操作。

锁存器的使用。

为节省资源,尽量少的使用单片机接口,板子上仅适用两个接口分别控制段选和位选信号,同时借助于两个锁存器。

锁存器的原理为:高电平时传送,低电平时锁存。

首先选通位选信号,即给其高电平,紧接着给其赋值。

然后锁存即给其低电平。

这样就完成了
12 80C51有两个中断优先级,可实现两级中断嵌套80C52有四个中断优先级,可实现四级
嵌套中断优先级如下:
13 中断响应条件:1中断源有中断请求2 次中断源的中断允许位为1 3CPU开中断(即EA=1) 以上三条同时满足CPU才有可能响应中断
14 void exter0 interrupt 0 注意interrupt后面的数字与上述图片中的优先级顺序是一致的中断函数不需要声明
15 数组的写法uchar code table[]={0x3f,0x06,ox5b}; 此处使用code的好处是:数组里面的变量经编译后存放于程序存储器中,如果没有的话就放置于随机存储器中。

单片机的随机存储器是有限的,51单片机是128字节。

一个int型的变量是2个字节,因此这样可以节省空间
16 外部中断0设置方式: EA=1;/////开总中断EX0=1;//开外部中断0 IT0=0//设置触发方式为电平触发////此举可不写,单片机上电后所有的寄存器默认为低电平
17 定时器的工作原理
18 定时器的初始化
19程序初始化
20中断服务程序写法。

相关文档
最新文档