51单片机RAM总结

51单片机RAM总结
51单片机RAM总结

51单片机RAM 数据存储区学习笔记

1.RAM keil C语言编程

RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small 模式,如果总的变量大小未超过128B,则未初始化的变量的初值默认为0.如果所有的变量超过单片机small模式下的128B大小,则必须对变量进行初始化,否则超过RAM大小变量的值是不确定的,在small模式下超过128B大小的变量也必须在编译器中重新设定存储器的存储模式。

在keil中,可选择small,compact,large三种方式存储数据变量:

在keil中可以用“TargetOptions”来配置这一项:

图1 选择数据存储模式

2.片内数据存储区

(1) 工作寄存器区

工作寄存器区位于片内数据存储器中的00H~1FH单元,共32字节( 如此说来每个单元是一个字节了),分成四组。每组8个字节,分别记为R0~R7.

程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。

选择四组工作寄存器区的哪一组作为R0~R7由位于PSW寄存器的两位RS1,RS0来确定.

RS1,RS0称为区开关或组开关,两位就可决定四种状态.

(2)位寻址区

用户存储区位于片内数据存储器中的020H~02FH单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00H-07H,如020H.1表示020H单元的bit[1]位。020H~02FH单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在C语言中,只能用位操作运算符(&、|、^、~、<<、>>)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。

如SETB, 020H.1 就将020H的bit[1]置为了1.

除了RAM此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( SFR )也能进行位寻址。

(3)数据缓冲区

51系列数据缓冲区地址为30H-7FH,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区。

(4)堆栈

栈:由系统自动分配释放,存局部值。

堆:一般由程序员分配和释放。

堆栈指针SP:8位寄存器,堆栈最大可达128单元,只可在片内RAM中进行堆栈操作。

堆栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。

MC51堆栈采用满顶法向上生成的软件堆栈。

软件堆栈:借助SP进行控制操作。

堆栈向上生长:新压栈的数据成为堆栈顶。

堆栈向下生长:新压入的数据远离堆栈顶。

地址大小还得看存储方式。

(5)专用寄存器区

专用寄存器区,也称特殊功能寄存器区SFR

SPECIAL FUNCTIONREGISTER

寻址地址离散地分布在80H~FFH,共128字节的空间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.SFR 主要用于片内硬件的管理,通常只能以字节为单位借助于MOV指令直接寻址,但也有一些专用功能寄存器可以位寻址。

包含程序状态字PSW、数据指针寄存器DPTR、端口地址P0-P0、其它专用寄存器(累加器A、B)

3.片外数据存储区

片外RAM区:可寻空间为共64K 0000H~FFFFH,

总是使用MOVX类指令寻址

借助于工作寄存器R0或R1间接寻址时,可寻256字节

从片外RAM区取数据:MOVX A,@Ri i=0-1

向片外RAM区存数据:MOVX @Ri,A

借助16位的数据指针DPTR间接寻址,可寻64K字节:

从片外RAM区取数据:MOVX A,@DPTR

向片外RAM区存数据:MOVX @DPTR,A

区分是访问内部存储器还是外部存储器地址靠指令来区分。

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

51单片机中断程序大全

//实例42 :用定时器T0 查询方式 P2 口8 位控制LED 闪烁 //#include单片机寄存器定义的头文件 51包含 /******************************************************* *******函数功能:主函数 ******************************************************** ******/void main(void){ // EA=1;开总中断// 中断允许T0 // 定时器// ET0=1; 1的模式TMOD=0x01;// 使用定时器T0 位赋初值定时器T0 的高8 TH0=(65536-46083)/256; // 位赋初值的高8 TL0=(65536-46083)%6; // 定时器T0 T0启动定时器TR0=1;// TF0=0;P2=0xff; 无限循环等待查询while(1)// {while(TF0==0); TF0=0;P2=~P2; 位赋初值的高8 定时器TH0=(65536-46083)/256; // T0 位赋初值T0 TL0=(65536-46083)%6; //

定时器的高8 }} 1KHzT1:用定时器43 实例// 音频查询方式控制单片机发出 #include 单片机寄存器定义的头文件51 // 包含sbit sound=P3^7;将// 引脚sound P3.7 位定义为 /********************************************************** **** 函数功能:主函数 ******************************************************** ******/void main(void){// EA=1;开总中断// 中断允许ET0=1;// // 定时器T0 1的模式使用定时器// T1 TMOD=0x10; 位赋初值// TH1=(65536-921)/256; T1 定时器的高8 TL1=(65536-921)%6; // 定时器T1 的高8 位赋初值 TR1=1;// 启动定时器T1TF1=0; while(1)// 无限循环等待查询{while(TF1==0); TF1=0;

最新-单片机原理及应用期末考试必考知识点重点总结 精品

单片机概述 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8181的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下:

51单片机中断程序大全

//实例42:用定时器T0查询方式P2口8位控制LED闪烁#include // 包含51单片机寄存器定义的头文件 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 } } //实例43:用定时器T1查询方式控制单片机发出1KHz音频#include // 包含51单片机寄存器定义的头文件 sbit sound=P3^7; //将sound位定义为P3.7引脚 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值

(完整版)单片机知识点总结

单片机考点总结 1.单片机由CPU、存储器及各种I/O接口三部分组成。 2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051 和8751. (1)I/O引脚 (2)8031、8051和8751的区别: 8031片内无程序存储器、8051片内有4KB程序存储器ROM、8751片内有4KB程序存储器EPROM。 (3)

4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用 为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2. 以P2口作为高8位地址线) 5.MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。(1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区; 00H—1FH: 可位寻址区; 00H—1FH: 用户RAM区。 (2)21个特殊功能寄存器(SFR)(21页—23页);

(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH 6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR. 7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。 8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR。(46页) 定时/计数器T0和T1各由2个独立的8位寄存器组成,共有4个独立寄存器:TH1、TL1、TH0、TL0,可以分别对对这4个寄存器进行字节寻址,但不能吧T0或T1当作1个16位寄存器来寻址。即:MOV T0,#data16 ;MOV T1,#data16 都是错的,MOV TH0,#data;MOV TL0,,#data是正确的。 9.程序状态字寄存器PSW(16页) (1)PSW的格式: D7 D6 D5 D4 D3 D2 D1 D0 PSW D0H (2)PSW寄存器中各位的含义; Cy:进位标志位,也可以写为C。 Ac:辅助进位标志位。

RTX-51学习总结

作者:大海橡树 前段时间给单片机写个跑马灯的程序,它是将单片机4组IO口全用了,一个引脚一个LED 一共32个,当初是拿出去当作品展用的,写了个程序,要求好几个花样,但是写程序的时候发现,单独控制一组端口还可以,要是同时控制4组IO口,并且显示的花样都不一样?该怎么办呢?这就要用的RTX51了,MCS-51单片机的RTOS(实时操作系统)。 RTX51简介: 图(1) RTX51是德国KEIL公司开发的专门针对于8051内核兼容MCU所作的实时操作系统(RTOS),RTX51有两个版本:RTX51-FULL与RTX51-Tiny。FULL版本支持四级任务优先级,最大256任务,它工作在类似于中断功能的状态下,同时支持抢占式与时间片循环调度、支持信号(signal)、消息队列、二进制信号量(semaphore)和邮箱(mailbox),其功能强大,仅仅占用6~8KB的程序存储器空间。RTX51_Tiny是RTX51FULL的子集,是一个很小的内核,只占用大约800byte的存储空间(主要程序RTX51TNY.A51仅有不足一千行)它适用于对实时性要求不非常严格的、仅要求多任务管理且任务间通信功能不要求非常强大的应用。它仅使用51内部寄存器来实现所有功能,应用程序只需要以系统调用(system call)的方式引用RTX51中的函数即可,RTX51-Tiny可以支持16个任务,多个任务遵循时间片轮转的规则,任务间以信号signal的方式进行通信,任务可以等待另一任务给他发出signal然后再从挂起状态恢复运行,它并不支持抢占式任务切换的方式。 上面只是RTX51的简单介绍,具体的用法自己到百度文库下载RTX51实时操作系统的使用方法:https://www.360docs.net/doc/f816902200.html,/view/0902ce1755270722192ef70d.html。 上面有详细的介绍,由于篇幅有限,这里就不做过多的介绍。大家好好阅读文档上的内容,才知道怎么使用RTOS,刚开始接触的时候有点不好理解,多写几个程序练练手,就有点理解了,确实,要建立起操作系统的概念不是一两天的事情,其中要设计很多的抽象的概念,只有把他们完全理解了,才好应用。 使用说明和应用举例:言归正传,回到开头的“LED问题”上来。根据RTX51

51单片机中断系统详解

的定时器中断后便认为是1s,这样便可精确控制定时时间啦。要计50000个数时,TH0和TL0中应该装入的总数是65536-50000=15536.,把15536对256求模:15536/256=60装入TH0中,把15536对256求余:15536/256=176装入TL0中。 以上就是定时器初值的计算法,总结后得出如下结论:当用定时器的方式1时,设机器周期为T CY,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/T CY ,装入THX和TLX中的数分别为: THX=(65536-N)/256 , TLX=(65536-N)%256 中断服务程序的写法 void 函数名()interrupt 中断号using 工作组 { 中断服务程序内容 } 在写单片机的定时器程序时,在程序开始处需要对定时器及中断寄存器做初始化设置,通常定时器初始化过程如下: (1)对TMOD赋值,以确定T0和 T1的工作方式。 (2)计算初值,并将初值写入TH0、TL0或TH1、TL1。 (3)中断方式时,则对IE赋值,开放中断。 (4)使TR0和TR1置位,启动定时器/计数器定时或计数。 例:利用定时器0工作方式1,实现一个发光管以1s亮灭闪烁。 程序代码如下: #include #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num; void main() { TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1) TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872 TL0=(65536-45872)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1) { if(num==20) //如果到了20次,说明1秒时间 { led1=~led1; //让发光管状态取反 num=0; } } } void T0_time()interrupt 1

单片机原理及应用知识点汇总复习

单片机原理及应用知识点汇总 一、填空题 1、单片机是将微处理器、一定容量的RAM和ROM以及I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。 2、单片机80C51片内集成了 4 KB的FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示256 个存储单元。 4、在80C51中,只有当EA引脚接高电平时,CPU才访问片内的Flash ROM。 5、当CPU访问片外的存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由P0 口提供。 6、在I/O口中,P0 口在接LED时,必须提供上拉电阻,P3 口具有第二功能。 7、80C51具有64 KB的字节寻址能力。 特 第 持 ,其 。 IP。 边沿 计数 / 22 、串行通信有同步通信和异步通信两种通信方式。 23、在异步通信中,数据的帧格式定义一个字符由4部分组成,即:起始位、数据位、奇偶校验位和停止位。 24、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是通信双方必须采用统一的编码方式,二是通信双方必须能产生相同的传送速率。 25、单片机80C51中的串行通信共有 4 种方式,其中方式0 是用作同步移位寄存器来扩展I/O口的。 26、设80C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为F4H 27、键盘可分为独立连接式和矩阵式两类。键盘可分为编码式和非编 码式两类。 28、LED数码管有静态显示和动态显示两种方式。 29、在执行下列指令后,A=___60H___,R0=__45H____,(60H)=___45H___。

C51单片机实验总结报告

HEFEI UNIVERSITY 单片机实验报告 系别电子信息与电气工程系专业 班级 学号 姓名 指导老师 完成时间

实验一构建单片机最小系统和实验环境熟悉 一、预习要求 1.构建单片机最小系统,熟悉51单片机的结构及编程方法 2.按照程序流程图编写出程序 二、实验目的 1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。 2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。 三、实验内容 单片机最小系统实验: 1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。 2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。 存储单元数据传输实验 1、熟悉MCS51汇编指令。 2、进行存储单元数据传输实验,编写程序。 3、运行程序,验证译码的正确性。 四、实验原理 1、作出单片机最小系统的组成原理图

2.最小系统版的组成: 时钟电路,复位电路,电源电路。 3.软件编译环境的熟悉 实验中我们使用keilC环境编译程序。其窗口界面如下: 4.测试程序 ;将从外部RAM3000H单元开始连续存放的 ;50个单字节数据传送到内部RAM30H单元的50个单元中。 ORG 0000H MOV R0,#32H ;计数初值50 MOV A,#78H ;(A)=78H送外部3000H--3050H MOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTR LOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一 DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0 SETB P1.2 CLR P1.3 CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0 MOV R1,#30H ;内部数据存储区首址30H送R1 MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR

单片机中断实验报告

实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer1_init() 开始 设置显示初值启动定时器 判断是否到59 继续 是 否

{ TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer0_init() {TMOD=0x01;//将定时器0设置为工作方式1 TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us //500us/6us=83.3333 TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83 EA=1; ET0=1; TR0=1; }void main() { timer0_init(); while(1); } void timer0() interrupt 1 { TH0=(65536-83)/256;//每次进入中断,重装初值 TL0=(65536-83)%256; F=~F;//每次进入中断P1.1口取反,表示定时时间到 } #include // 包含51单片机寄存器定义的头文件 #define seg_data P1 #define seg_data2 P3 #define uint unsigned int

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

(完整word版)单片机知识点总结

第一部分硬件基础 1、单片机的组成; 2、单片机的并行I/O口在使用时,有哪些注意的地方? 3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 4、时钟及机器周期; 5、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1.MCS-51单片机有4个存储空间,它们分别是:、、、。 2、MCS-51单片机的一个机器周期包括个状态周期,个振荡周期。设外接12MHz晶振,则一个机器周期为μs。 3.程序状态字PSW由位组成。 4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称 为区,但其中仅有个字节有实际意义。 5. MCS-51 系列单片机为位单片机,其数据总线为位,地址总线为位,可扩展的地址范围为。 6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为,TMOD 为。 8.通常MCS-51单片机上电复位时PC= H、SP= H、通用寄存器采用第组,这一组寄存器的地址范围 是 H。 9.MCS-51单片机堆栈遵循的数据存储原则。 10.在MCS-51单片机中,使用P2、P0口传送信号,且使用P0口来传送信号,这里采用的 是技术。 11.MCS-51单片机位地址区的起始字节地址为。

12.对于并行口在读取端口引脚信号时,必须先对端口写。13.PC的内容是。 14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过个时钟周期的高电平。 15、具有4KBytes 储存容量之存储器,其至少需具有根地址线。 二、问答 1.简述MCS-51 单片机的P0、P1、P2 和P3 口的功能。 2.MCS-51单片机的三总线是由哪些口线构成的。 3.MCS-51单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。 6.请写出MCS-51单片机的五个中断源的入口地址。 第二部分 C51程序设计 1、C51的指令规则;C51编程语句及规则; 2、C51表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、C51的函数; 5、中断函数。 例: 1.程序的基本结构有。 2.C51的存储器模式有、、。 3.C51中int型变量的长度为,其值域为;unsigned char型变量的长度为位,其值域为。 4.C51中关键字sfr的作用,sbit的作 用。 5.函数定义由和两部分组成。 6.C51的表达式由组成。C51表达式语句由表达式和组成。

51单片机学习板简介

USB下载 51单片机学习板 51单片机开发板超值价135元 实验板资源配置如下: 1、STC89C52单片机,支持USB口或者是串口两种下载程序方式不用另买烧写器编程器等产品可以方便的烧写程序到单片机里. 2、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。 3、8位LED发光二极管(做跑马灯实验交通灯实验) 4、8位数码管(可做数码管的静态和动态扫描显示实验 5、计数器实验,如0-24秒(NBA进攻时间到,蜂鸣器报警,数码管清零), 6、4*4矩阵键盘(熟悉矩阵键盘编码、扫描原理可作为人机输入接口编写按键输入程序) 7、蜂鸣器(做单片机发声实验播放音乐实验报警实验等声响实验) 8、DS18B20温度传感器,(一线式总线元件实验),温度传感器我们随板赠送(价值6元)。 9、A T24C08外部EEPROM存储芯片(IIC总线元件实验) 10、SPI串行实时时钟DS1302(熟悉SPI总线用DS1302可以做一个万年历电子时钟比定时器做的精确) 11、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口同时也可做为STC单片机下载程序的接口及仿真调试的接口) 12、字符液晶1602LCD接口。免费赠送1602LCD蓝底白字带背光液晶一个,价值17元 13、图形点阵液晶12864接口 14、做实验时需要不同晶振频率时可很方便的插拔更换(我们随板赠送三个不同频率的晶振11.0592MHZ、12MHZ、24MHZ各一个最大程度上满足了学习者的需要) 15、ISP下载接口(可以对AT89S51 AT89SS52 单片机直接编程需要另配ISP下载线) 16、本实验板采用40PIN锁紧座安放单片机芯片,非常方便单片机芯片的取放。 17、本实验板板上带有外接电源接口方便使用外接电源为单片机供电。 18、实验板带有+5V 和地线扩展口方便用户扩展其他外围电路时取电 货品清单 1、USB编程线 2、STC89C52RC单片机、DS18B20温度传感器各1片。 3、1602液晶模块1个。 4、源程序光盘1张。 5、可替换晶振11.0592M 12M 24M各一个 6、单片机学习板1块(见实物图) 有意者请来电:QQ:

51单片机中断总结

51单片机中断总结: 1. 查询优先级为固定的(外部中断0>定时器0>外部中断1>定时器1>串行中断)。 2. 执行优先级可以通过IP寄存器进行设置(高/低)。 3. CPU同时收到多个中断请求时,首先响应优先级较高者,然后相应优先级较低者;如果 优先级相同,则按照查询优先级顺序依次响应。 4. 正在执行的中断服务,不能被同级或更低级的中断请求打断,但会被更高级的中断请求 打断。推论(1)高优先级的中断不能被任何其它中断所打断(2)低优先级的中断只能在没有任何中断服务运行时得到响应。 5. 对于定时器和外部中断,在进入中断服务后,其中断标志位会自动清零;对于串行中断,由于有两个中断源,需要手动查询并清零RI或/和TI。 if (RI) { // processing RI = 0; } if (TI) { // processing TI = 0; } 6. 如果是使用汇编写中断服务,需要保护累加器、状态寄存器、寄存器组等 8051 Tutorial: Interrupts https://www.360docs.net/doc/f816902200.html,/tutint.php As the name implies, an interrupt is some event which interrupts normal program execution. As stated earlier, program flow is always sequential, being altered only by those instructions which expressly cause program flow to deviate in some way. However, interrupts give us a mechanism to "put on hold" the normal program flow, execute a subroutine, and then resume normal program flow as if we had never left it. This subroutine, called an interrupt handler, is only executed when a certain event (interrupt) occurs. The event may be one of the timers "overflowing," receiving a character via the serial port, transmitting a character via the serial

(完整版)MCS-51单片机复习要点

MCS-51单片机 8051单片机是8位单片机,有40个管脚,8根数据线,16根地址线。 单片机的八大组成部分:CPU 、ROM 、RAM 、I/O 、定时/计数器、串口、SFR 、中断服务系统 一、MCS-51机的内存结构 (如图1所示) 0FFFH FFH 80H 7FH 0000H 00H 0000H 程序存储器 内部数据存储器 外部数据存储器 图1 MCS-51机的内存结构 物理上分为:4个空间, 片内ROM 、片外ROM 片内RAM 、片外RAM 逻辑上分为;3个空间, 程序内存(片内、外)统一编址 MOVC 数据存储器(片内) MOV 数据存储器(片外) MOVX 1、程序内存 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址从内部ROM ;EA = 0,寻址从外部ROM 地址长度:16位 存储器地址空间为64KB 作用: 存放程序及程序运行时所需的常数。 8051 单片机6个具有特殊含义的单元是:0000H —— 系统复位,PC 指向此处; 0003H —— 外部中断0入口 000BH —— T0溢出中断入口 0013H —— 外中断1入口 001BH ——T1溢出中断入口

0023H ——串口中断入口 2、内部数据存储器 物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。如图2所示。 7FH 资料缓冲区 堆栈区80字节数据缓冲器用 工作单元 30H 2FH 位地址:16字节 00H~7FH 128 可位寻址位 20H 1FH 3区 2区 1区32字节4组R0~R7工作寄存器 0区 00H 图2 内部数据存储器 二、殊功能寄存器SFR 寻址空间离散分配在:80H ~ FFH , 注意PC不在此范围内。地址末尾为0或8的SFR具有位寻址功能 1、C PU是运算器加控制器 2、算术运算寄存器 (1)累加器A(E0H) (2)B寄存器:乘、除法运算用 (3)程序状态字PSW寄存器:包含程序运行状态信息。 PSW CY AC FO RS1 RS0 OV —P CY(PSW.7)——进位/借位标志;位累加器。 AC (PSW.6)——辅助进/借位标志;用于十进制调整。 F0 (PSW.5)——用户定义标志位;软件置位/清零。 OV (PSW.2)——溢出标志;硬件置位/清零。 P (PSW.0)——奇偶标志;A中1的个数为奇数P = 1;否则P = 0。 RS1、RS0 ——寄存器区选择控制位。 0 0 :0区R0 ~ R7 0 1 :1区R0 ~ R7 1 0 :2区R0 ~ R7 1 1 :3区R0 ~ R7

51单片机串口中断使用总结

下面的程序为通过串口调试助手实现上位机通过串口发送数据给单片机,单片机接收后并回发给上位机(发一个接一个)。 #include unsigned int flag,a; void main() { TMOD=0x20; //通过定时器1来设置串行口的波特率 TH1=0xfd; TL1=0xfd; //设置串行口的波特率为9600,相应的晶振频率为11.0592MHZ,SM0=0; SM1=1; //选择串行口为工作方式1 TR1=1; //启动定时器1 REN=1; //允许串行口接收数据 EA=1; //开总中断 ES=1; //开串行口中断 while(1) { if(flag==1) { ES=0; flag=0; SBUF=a; while(!TI); TI=0; ES=1; } } } void srei()interrupt 4 { //if(RI==1) //{ RI=0;

P0=SBUF; //P0口接led来检测接收到的数据 a=SBUF; flag=1; // } } 单片机的串口中断分发送中断和接收中断,即在串口发送完(给发送SBUF赋值并发送)一帧数据后TI(发送中断标志位)置位,而串口接收完(接收SBUF获得数据)一帧数据后RI (接收中断标志位)置位。根据要求在进入中断后可有两种写法: 一:在中断里检测是否是接收中断 void srei()interrupt 4 { if(RI==1) { P0=SBUF; RI=0; //P0口接led来检测接收到的数据 a=SBUF; flag=1; } } 即判断是接收中断,只有在接收中断后,才将SBUF取回,并在主函数里在发送给上位机,此时主函数 if(flag==1) { } 在这个if语句里不用关中断,为啥呢? 上位机发送数据单片机接收进入接收中断通过a=SBUF取回接收到的数据放入a中主函数用if(flag==1)检测a已取回数据用SBUF=a将取回到的数据再放入发送缓冲器并发送发送完后虽进入中断由于中断里用if(RI==1)检测,所以发送中断里并不执行其他命令,因此实现了数据的一收一发 二:不在中断里检测是否是接收中断 中断函数这样写

单片机基础知识点总结

单片机基础知识点总结 单片机基础知识点总结 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令 并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊 的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序 和数据;输入输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和IO端口引脚具有复用功能;软件上,采用面向控制的 指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机 还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性 高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、IO口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。

4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统;输入输 出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用 性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水 塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与 +5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到 水位上限或下降到水位下限。 第2章 1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时计数器、多功能IO口和中断控制等基本功能部件。1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。3)

单片机学习心得体会

单片机学习心得体会一:单片机学习心得体会 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 单片机学习心得体会二:单片机学习心得体会 熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是

相关文档
最新文档