51单片机自学笔记(基础部分)
51单片机复习笔记经典1
《单片机原理与应用》复习提纲第一章第二章MCS-51系列单片机的硬件结构1. MCS-51单片机的总体结构MCS-51单片机的内部结构•8位的CPU;•128个字节的片内RAM;•4K字节的片内ROM程序存储器(8031无)•外部的RAM和ROM的寻址范围为64K•21个字节的专用寄存器•4个8位并行I/O口•1个全双工的串行口•2个16位的定时器/计数器•5个中断源、2个中断优先级MCS-51单片机的总线结构微处理器又称为CPU,是单片机内部的核心部件,它决定了单片机的重要功能特性。
它由运算器和控制器两大部分组成。
对CPU的使用就是对CPU中的寄存器的使用。
•累加器ACC•寄存器B•程序状态字PSW•布尔处理器C•程序计数器PC,16位•数据指针寄存器DPTR,16位DPTR寄存器中存放外部数据存储器地址•堆栈指针SP•2.程序存储器程序存储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据。
.程序的几个特殊地址:•复位0000H,PC复位指向该地址•外部中断0 0003H•定时器/计数器0溢出000BH•外部中断1 0013H•定时器/计数器1溢出001BH•串行口中断0023H3.数据存储器•数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。
•包括:•1)编址与访问•2)片内数据存储器•3)特殊功能寄存器块片内128字节数据存储器要求熟悉4个工作寄存器区的使用方法RS0,RS1。
如:RS1,RS0=10 , R1的直接地址为11H。
00H~1FH :32个字节,内部RAM的寄存器区共有32个单元,分为4组,每组8单元。
•20H~2FH:16个字节,128位寻址区,128位寻址区的字节地址范围是20H~2FH。
•30H~7FH:通用寄存器区或数据缓冲区,堆栈区。
••堆栈:•使用片内RAM、初始化时SP=07H•51系列单片机的堆栈是向上生长的•一般程序中堆栈的开始:•MOV SP,#60H4.单片机的复位电路高电平复位,一般高电平保持2个机器周期以上有效复位5.时序•(1)振荡周期•(2)状态周期•(3)机器周期•(4)指令周期•外部晶振的2分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的1个机器周期。
51单片机基础入门
单片机基础一、 单片机基础知识1.1 51系列单片机简介:51系列单片机是单片机领域中的一类,也是影响最为深远,使用最为广泛的单片机系列。
51单片机是指Intel的MCS‐51系列及和其具有兼容内核的单片机。
51系列单片机最早由Intel公司发展起来,随后将51内核授权给其他各个厂商。
因此,现在MCS‐51兼容的单片机种类繁多,如:Atmel公司的AT889C系列、AT89S系列、Silicon Laboratories的C8051F 系列以及STC的单片机等。
这些系列的单片机都有着十分接近的指令系统和硬件结构,在开发起来很方便移植。
1.2 STC系列单片机:STC89C51RC系列单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统的8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择,HD版本和90C版本内部集成MAX810专用复位电路。
特征:1) 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可任意选择,指令代码完全兼容传统80512)工作电压:5.5V ‐ 3.3V (5V单片机) / 3.8V ‐ 2.0V (3V单片机)3) 工作频率范围:0~40MHz,相当于普通8051的 0~80MHz,实际工作频率可达48MHz.4)用户应用程序空间:4K / 8K / 13K / 16K / 32K / 64K字节5)片上集成1280字节或512字节RAM6)通用I/O口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O 口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7)ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(RxD/P3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片8)有EEPROM功能9)看门狗10)内部集成MAX810专用复位电路(HD版本和90C版本才有),外部晶体20M以下时,可省外部复位电路。
51单片机初学知识点总结
51单片机初学知识点总结1. 什么是51单片机:51单片机是指Intel公司生产的8位单片机芯片系列。
51单片机由中央处理器单元(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出端口以及中断系统等组成。
2. 51单片机的发展历史:51单片机最早在1980年由Intel公司发布,之后逐渐发展壮大。
目前,市面上有很多公司都生产和销售51单片机。
3. 51单片机的架构:51单片机采用Harvard结构,即程序存储器与数据存储器分开。
程序存储器分为片内存储器和片外存储器,数据存储器包括RAM和特殊功能寄存器。
4. 51单片机的寄存器:51单片机有一组特殊功能寄存器,用于存储和控制各种系统状态。
这些寄存器可以分为SFR(Special Function Register)和控制寄存器两种类型。
5.51单片机的引脚和IO口:51单片机有40个引脚,其中一些引脚是I/O(输入/输出)口。
这些I/O口可以配置为输入或输出,并可以被程序控制。
6.51单片机的时钟系统:51单片机需要一个时钟源来提供时钟信号。
时钟源可以是外部晶体振荡器或者片内RC振荡器。
7.51单片机的存储器:51单片机具有不同类型的存储器,包括内存区域、堆栈区域和特殊功能寄存器。
内存区域包括RAM和ROM,堆栈区域用于保存中断处理和函数调用的返回地址。
8.51单片机的指令集:51单片机具有丰富的指令集,可以执行各种操作,例如算术运算、逻辑运算、位操作和跳转等。
9.51单片机的中断系统:51单片机具有中断系统,可以响应外部中断和定时器中断。
中断可以打断当前执行的程序,并转移到中断处理函数。
10.51单片机的编程和调试:51单片机的编程可以使用汇编语言或高级语言(如C语言)进行。
调试可以使用模拟器或者仿真器进行。
11.51单片机的应用领域:51单片机广泛应用于各种控制系统和嵌入式系统,例如家用电器控制、电动工具、汽车电子等。
12.51单片机的扩展接口:51单片机可以与其他外设连接,例如LCD显示屏、键盘、温度传感器等。
51单片机学习笔记
单片机C51学习笔记一, C51内存结构深度剖析二, reg51.头文件剖析三,浅淡变量类型及其作用域四, C51常用头文件五,浅谈中断六, C51编译器的限制七,小淡C51指针八,预处理命令一,C51内存结构深度剖析在编写应用程序时,定义一个变量,一个数组,或是说一个固定表格,到底存储在什么地方;当定义变量大小超过MCU的内存范围时怎么办;如何控制变量定义不超过存储范围;以及如何定义变量才能使得变量访问速度最快,写出的程序运行效率最高。
以下将一一解答。
1 六类关键字(六类存储类型)data idata xdata pdata code bdatacode:code memory (程序存储器也即只读存储器)用来保存常量或是程序。
code memory 采用16位地址线编码,可以是在片内,或是片外,大小被限制在64KB作用:定义常量,如八段数码表或是编程使用的常,在定义时加上code 或明确指明定义的常量保存到code memory(只读)使用方法:char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};此关键字的使用方法等同于constdata data memory (数据存储区)只能用于声明变量,不能用来声明函数,该区域位于片内,采用8位地址线编码,具有最快的存储速度,但是数量被限制在128byte或更少。
使用方法:unsigned char data fast_variable=0;idata idata memory(数据存储区)只能用于声明变量,不能用来声明函数. 该区域位于片内,采用8位地址线编码,内存大小被限制在256byte或更少。
该区域的低地址区与data memory地址一致;高地址区域是52系列在51系列基础上扩展的并与特殊功能寄存器具有相同地址编码的区域。
即:data memory是idata memory的一个子集。
51基础 笔记
Keil –C51基础应用1、十六进制数与ASCII码的转换凡是大于等于10的十六进制数加37H,凡是小于10的十六进制数加30H便可得到相应的ASCII码。
具体程序如下:#include<reg52.h>#define unchar unsigned charunchar slz_asc(unchar shuru);void main(){P1=slz_asc(0x30);通过P1口输出转换结果while(1){}}unchar slz_asc(unchar shuru)转换子函数{if(shuru<10)shuru=shuru+0x30;shuru=shuru+0x07;return (shuru);}2、二进制数与BCD码的转换将二进制数除以100得到百位的BCD码,余数除以10得到十位BCD码,再得余数为个位BCD码。
具体程序如下:#include<reg52.h>#define unchar unsigned charunchar shu_chu[3]; 转换结果存储数组void main()转换主函数{unchar shuru,i,j,k,p;shuru=0x10;i=shuru/100;j=shuru%100/10;k=shuru%100%10;shu_chu[p++]=i;shu_chu[p++]=j;shu_chu[p++]=k;while(1){}}3、BCD码与ASCII码的转换一位BCD码加30H即为ASCII码,将ASCII码减去30H如果结果为0~9时则为所求的ASCII码,结果<0或>=10则结果单元送0FFH。
具体程序如下:#include<reg52.h>#define unchar unsigned charunchar BCDzhuanASCII(unchar shuru);unchar ASCIIzhuanBCD(unchar shuru1);void main(){P1=BCDzhuanASCII(0x019);通过P1口输出BCD码19转换成ASCII码的结果P2=ASCIIzhuanBCD(0x033);通过P2口输出ASCII码33H转换成BCD码的输出结果while(1){}}unchar ASCIIzhuanBCD(unchar shuru1) ASCII码转换成BCD码的子函数{char zhong;zhong=shuru1-0x30;if(zhong>10)return 0xff;if(zhong<0){zhong=zhong+0x29;shuru1=zhong&0xf0;shuru1>>=4;zhong=zhong&0x0f;zhong=shuru1*10+zhong;return(zhong);}return(zhong);}unchar BCDzhuanASCII(unchar shuru) BCD码转换成ASCII码的子函数{unchar zhong;zhong=shuru&0xf0;zhong>>=4;shuru=shuru&0x0f;shuru=zhong*10+shuru;if(shuru<10)shuru=shuru+0x30;shuru=shuru+0x07;return(shuru);}4、二进制与雷格码的转换若二进制数为b n-1b n-2...b 1b 0,其对应的格雷码为g n-1g n-2...g 2g 1,则有g n-1=b n-1g i=b i+1xor b i若格雷码为g n-1g n-2...g 2g 1, ,其对应的二进制数为b n-1b n-2...b 1b 0,则有b n-1=g n-1 b i= b i+1 xor g i具体程序如下:#include<reg52.h>#define unchar unsigned charunchar Er_zhuan_gelei(unchar shuru);unchar Gelei_zhuan_er(unchar shuru);void main(){unchar a,b;a=Er_zhuan_gelei(0xf1); a中是二进制转格雷码的转换结果b=Gelei_zhuan_er(a);b中是格雷码转二进制的转换结果P1=b;结果通过P1口输出while(1);}unchar Er_zhuan_gelei(unchar shuru)二进制转格雷码的子函数{unchar zhong;zhong=shuru>>1;zhong=(zhong|shuru)&~(zhong&shuru);return(zhong);}unchar Gelei_zhuan_er(unchar shuru)格雷码转二进制的子函数{unchar zhongjian,i,zhong,chu,cong,kong=0x01;zhong=shuru&0x80;chu=shuru&0x80;cong=chu;for(i=0;i<8;i++){zhongjian=cong>>1;zhongjian=zhongjian^shuru;cong=zhongjian&kong<<7-i;zhong=zhong|cong;}return(zhong);}五、中断设置与应用MCS-51 单片机提供了5个中断源它们在程序存储器中各有固定的中断入口地址,并由此进入中断服务程序,5个中断源的符号、中断向量入口地址、中断触发条件如下。
51单片机入门零基础1.4 C51基础知识介绍
1.4 C51基础知识介绍1.4.1 C51中的基本数据类型首先知道什么是常量和变量,例如A=1、B=D、C=A+B,A的值固定是1所以是常量,B的值随D的变化而变化所以是变量,同样道理C也是变量。
接下来C51有哪些数据类型,见表0-1。
表0-1 C51中常用的数据类型数据类型关键字所占位表示范围无符号字符型unsigned char80~255有符号字符型Char8-128~127无符号整型unsigned int160~65535有符号整型Int16-32768~32767无符号长整型unsigned long320~2^32-1有符号长整型Long32-2^31~2^31单精度实型Float323.4e-38~3.4e38双精度实型Double641.7e-308~1.7e308位类型Bit10~1数据类型前面没有unsigned的认为是signed型。
关于占位的解释:编程的时候无论采用什么进制在单片机中都以二进制方式存在,二进制只有0和1,这两个数每一个所占的空间就是一位(b),位也是单片机存储器中最小的单位。
比位大的是单位字节(B),一个字节等于8位(即1B=8b)。
为方便理解,数据类型所占位如图0-1所示。
图0-1 数据类型所占位其中float和double型是用来表示浮点数的,即带有小数点的数,通常float 能提供7位有效数字,double能提供15~16位有效数字,但是这个精度还和编译器有关,并不是所有编译器都遵守这个原则。
当把一个double型赋给float型的时候,系统会截取相应的有效位。
例如float a;a=1.2345678,那么a=1.234567,但改成double则能全部显示出来。
1.4.2 C51中的运算符C51算数运算符如表0-2所示。
表0-2 算数运算符算数运算符含义+加法-减法*乘法/除以++自加--自减%求余运算C51逻辑运算符如表0-3所示。
表0-3 逻辑运算符逻辑运算符含义>大于>=大于等于<小于<=小于等于==测试相等!=测试不等&&与||或!非C51位运算符如表0-4所示。
单片机学习笔记
MC51单片机学习笔记一准备知识:1.内部结构:4K Rom 程序存储器(硬件)128节Ram随机存储器(软件)8位cpu,4个8位并口,1个全双串行口,2个16位定时器/计数器;寻址范围64k 布尔处理器CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率取决于单片机型号及性能。
2.分类:arm(快)凌阳(处理声音较好)3.型号说明:STC (公司名) 89(系列)C(CMOS;CAD:自带AD转换;S:串行下载无需专门的编程器;lv:工作电压为3v)51(1*4=4K) RC 40(晶振最高频率)C(商业级:温度0--85,I工业级温度-40--125)----PDIP (双列直插式)0721(07年第21周).........4.电平:TTL:高:+5v--低0v;RS232:计算机串口:+12v--低-12v,故计算机和单片机通信需要电平转换芯片5.二进制与十六进制之间的转换:每4位转变一次6.二进制转换逻辑符号:&与,//或,---非,异或7. 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外部读控制RST :复位管脚,高电平有效,时间大于两个机器周期VPD:备用电源注:机器周期和指令周期(1)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。
单片机C51基础知识的汇总
单片机C51基础知识汇总目录1、标识符2、数据类型3、变量4、常量5、二进制、八进制、十进制、十六进制6、运算符7、语句8、注释9、if语句10、switch--case语句11、for循环12、while循环13、do—while循环14、循环控制15、一维数组16、二维数组17、字符数组与字符串数组18、函数19、函数重入与递归20、预处理21、宏22、条件编译指令23、指针(*)24、结构(struct)25、联合(union)26、枚举(enum)主要内容1 .标识符标识符就是编程时使用的表示某个事情名称的符号,如函数名、变量名、引脚名、特殊功能寄存器名等。
标识符有系统标识符和用户自定义标识符之分。
标识符的命名规则:(1) 标识符第一个字符必须是字母或下划线。
(2) 标识符只能由字母、数字和下划线三类字符组成。
(3) 标识符是区分大小写的。
如A 和a 是两个不同的标识符。
(4) 标识符有效长度不超过32 个字符。
(5) 标识符不能是C51 的关键字。
2 .数据类型char有符号字符型,一字节,值域-128~127。
int 有符号整型,两字节,值域-32768~32767。
long有符号长整型,四字节,值域-2147483648~2147483647 unsigned char无符号字符型,一字节,值域0~255unsigned int无符号整型,两字节,值域0~65535unsigned long无符号长整型,四字节,值域0~4294967295float浮点型(都是有符号的),四字节,±1.175494E-38~±3.402823E+38bit位变量,一个二进制位,值域0~1。
sbit51 单片机特殊功能寄存器位,值域0~1。
Sfr 51 单片机特殊功能寄存器,值域0~255。
sfr1651 单片机特殊功能寄存器,如DPTR,值域0~65535。
bit,sbit,sfr,sfr16不是标准C 的内容,是51 单片机及C51 编译器特有的,不能用指针对它们进行操作。
51单片机学习笔记
sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON=Ox98//sfr T2=OxCC;sbit OV=PSW^2c-51包含的头文件通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.habsacc.h常用有:reg51.h reg52.h定义特殊功能寄存器和位寄存器;math.h定义常用数字运算;运算符:>> <<位右移和位左移&|按位与按位或^~按位异或按位取反单片机主要掌握以下几点:最小系统能够运行起来的必要条件。
1.电源2.晶振3.复位电路对单片机任意IO口的随意操作1.输出控制电平高低2.输入检测电平高低定时器:重点掌握最常用的方式2中断:外部中断、定时器中断、串口中断串口通信:单片机之间、单片机与计算机间串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。
具体步骤如下:确定T0的工作方式(编程TMOD寄存器;计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR1位);确定串行口控制(编程SCON寄存器);串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。
编程时如下函数:void delay(unsigned int ms){unsigned i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}其中ms处如果是1000,则延时1s。
74HC573芯片循环左移a=_crol_(a,1)_nop_();延时一个机器周期1.085us头文件<intrins.h>中断中断响应的条件和时间中断响应条件:中断源有中断请求;此中断源的中断允许位为1;CPU开中断即(EA=1)。
EA=1时开全局中断。
EA=0的时候关全局中断EX0=1的时候打开外部中断INT0EX0=0的时候关闭外部中断IT0=0时电平触发定义中断函数的一般形式;void 函数名()interrupt n中断优先级分别是:外部中断0(?-INT0);定时/计数器0(T0);外部中断1(INT1);定时/计数器1(T1);串行口;EX0(IE.0),外部中断0允许位;ET0(IE.1),定时计数器T0中断允许位;EX1(IE.2),外部中断1允许位;ET1(IE.3),定时计数器T1中断允许位;ES(IE.4),串行口中断允许位;EA(IE.7),CPU中断允许(总允许)位。
第1章 51单片机的基础知识
第1章 51单片机的基础知识51单片机是一种广泛应用的嵌入式微控制器,具有强大的功能和灵活性。
在学习和使用51单片机之前,了解其基础知识是至关重要的。
本章将介绍51单片机的基础知识,包括硬件结构、寄存器、指令集和编程语言。
1.1 51单片机的硬件结构51单片机的硬件结构是指其内部的组成部分和外部连接。
51单片机包含中央处理器(CPU)、存储器、输入/输出(I/O)口、定时器/计数器、串行通信口等功能模块。
这些功能模块共同协作,完成各种任务。
1.1.1 中央处理器(CPU)51单片机的中央处理器是核心部件,负责执行指令、控制程序运行和处理数据。
51单片机采用哈佛结构,将程序存储器和数据存储器分开。
它包含一个8位的累加器(A)和一个指令寄存器(IR),用于指令的执行。
1.1.2 存储器51单片机的存储器包括程序存储器和数据存储器。
程序存储器用于存储程序指令,可以是内部存储器或外部存储器。
数据存储器用于存储程序运行中产生的数据,包括RAM和ROM。
1.1.3 输入/输出(I/O)口51单片机具有一定数量的I/O口,用于与外部设备进行数据交互。
输入口用于接收外部信号,输出口用于发送数据或控制外部设备。
它们可以是并行口或串行口,根据需要进行配置。
1.1.4 定时器/计数器定时器/计数器是51单片机的重要组成部分,用于产生定时延迟和计数脉冲。
定时器可以设置为定时模式或计数模式,定时器中断可用于实现时间控制和精确计时。
1.1.5 串行通信口串行通信口是51单片机与外部设备进行串行通信的接口,常用的有UART和SPI。
它们通过串行传输数据,实现与外部设备的数据交换和通信。
1.2 51单片机的寄存器51单片机具有一组特殊功能寄存器,用于配置和控制其各项功能。
这些寄存器负责存储和传输数据,执行各种功能操作。
常见的寄存器包括通用寄存器、状态寄存器、特殊功能寄存器等。
1.2.1 通用寄存器通用寄存器是用于存储临时数据的寄存器,包括8个存储器编号,分别为R0 - R7。
51单片机基础知识必备
51单片机基础知识必备一. 基础知识必备1 . 单片机复位引脚——RST当输入连续两个机器周期以上的高电平时为有效,用来完成单片机复位的初始化操作,复位后的程序计数器PC = 0000H,即复位后将从程序存储器的0000H单元读取第一条指令代码。
通俗的讲,就是单片机从头开始执行程序。
2.PSEN 全称是程序储存器允许输出控制端。
在读取外部程序储存器时,PSEN低电平有效,以实现外部程序储存器的读操作。
(内存足够了,没必要)3.电平重要知识点CMOS电路中不使输入端悬空,否则会造成逻辑混乱。
CMOS电平能驱动TTL电平,但是TTL电平不能驱动CMOS电平,需加上拉电阻4. 51系类扩展数据类型sfr——特殊功能寄存器的数据声明,声明一个8位寄存器。
sfr16 ——16位特殊功能寄存器的数据声明。
sbit ——特殊功能位声明,就是声明某一个特殊功能寄存器中的某一位。
bit ——位变量声明,当定义一个位变量时,可使用此符号。
5. 电阻的标志读数如果标称是103,就是10*10^3欧姆,150表示15*10^0欧姆,三位数表示5%精度,四位数表示1%精度6.要牢记,51MCU上电时,如果没有人为的控制IO状态,它所有的IO口都将是高电平,因此,我们没有必要写一句让锁存端置于高电平的语句7.和MCU有关的周期(1)时钟周期,也称震荡周期,定义为时钟频率的倒数。
MCU中最小的事件单位(2)状态周期,他是时钟周期的两倍(3)机器周期,MCU的基本操作周期,在一个操作周期内,MCU完成一个基本操作,如读取指令,储存器的读写。
它由12个时钟周期(6个状态周期组成)(4)指令周期,他是指MCU执行一条命令所需要的事件,一般一个指令周期含有1~4个机器周期8.“消影”——P0 = 0xff每次送完段选数据之后,在送入为选数据之前,需加上P0 = 0xff。
9 中断概念51内部有5个终端源,也就是说有5种情况发生,会使得单片机去处理终端程序。
51单片机学习笔记电子电路
1 入门篇-房门开关485通信1个月都在电子电路上没有进展,去年的夏天,花了10天时间学习了郭天祥的视频教程,收获很多,于是从网上买了个开发板,150多吧。
然后又去了几次电子市场,一开始没经验,20*30的面包板15元买了一片。
102的电容买了1000个。
用学到的东西,在面包板上做了一个485通信的,通过低电平触发报警,根据不同的报警点,在led数码管上显示指定的位置。
比如1楼后门是1,前门是2.触发后,通过485发送给pc上位,取得报警点信息。
可以计算几天来,我家各个门的开门次数和开门时间。
比较无聊吧。
还是学习为主。
起码在面包板上实现了。
1 通过这个学会了proteus制作自定义元件和封装2 学会proteus出pcb3 学会proteus仿真51配合keil34 郭天祥是一个比较伟大的老师,起码比我大学任何一个老师都要好。
10天学会了大学2个学期需要学会的内容。
不过从我的一些基础知识可能也帮了不少忙。
我以前都用汇编,用了c之后发现,51的程序变的更加的生动和形象。
因为有开发板,所以很多都是通过开发板搞出来的,但是中间有个插曲,开发板的led数码管是共阳我的是共阴,于是每次都要在p1上取反码。
困难:1 万能板只有底层布线,碰到飞线很麻烦。
2 51的管脚很多,我的万能板不是那种万能洞洞板,而是比较特殊有特殊横线那种。
Pcb 布线不太顺利,所以做起来有点麻烦。
3 proteus7.7对中文的支持不是很好。
如果你用来中文补丁,那么你做的自定义元件封装很有可能无法保存,而是直接报错。
这个问题困扰了我好几天。
同样的问题后来又出现在pcb 和原理图上。
如果出现中文则,原理图仿真会出现错误,pcb可以自动布局,但是无法自动布线。
汉化很有问题,只好用英文原版的。
4 一个人学习很是困难,碰到问题上的最多的是csdn,百度知道,百度文库。
其他什么qq 群基本都是学生,或者没耐心帮你的人。
要是有几个人就好了。
通过yy或者语音聊天,大家一起讨论分享,该有多好。
51单片机学习笔记
一、汇编语言实现流水灯ORG 0H // ORG 16位地址,程序起始地址,即用来说明此语句后的内容被存放的ROM起始地址;MOV A,#0FEH //立即寻址,操作数为立即数,#用来表示非地址;MOV P1,A //寄存器寻址;MOV R2,#7DOWN:RL A //循环左移指令,A左移一位;ACALL DEL50 //ACALL,子程序调用,绝对调用指令,调用范围2KB;MOV P1,ADJNZ R2,DOWN //DJNZ,减1非零转移指令,即R2=R2-1,若R2=0,则顺序执行,否则转移到DOWN指示的程序段;MOV R2,#7UP:RR A //循环右移指令,A右移一位;ACALL DEL50MOV P1,ADJNZ R2,UPMOV R2,#7SJMP DOWN //无条件转移指令,相对转移指令,-80H~7FH短转移;DEL50:MOV R7,#200 //大约50ms软件延时;DEL1:MOV R6,#125DJNZ R6,$DJNZ R7,DEL1RET //子程序返回;END //汇编程序源程序结束;二、独立按键识别#include<reg51.h>void main(){char key=0;P2=0;while(1){key=~P0&0x0f; //读取按键状态;if(key!=0) P2=key;}}三、键控流水灯#include<reg51.h>char led[]={0x01,0x02,0x04,0x08};void Delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<125;j++);}char key(){return ((P0&0x0f)==0x0f)?0:(P0&0x0f);}void main(){bit direction=0,run=0; //位变量;char i;while(1){switch(key()){case 0x0e:run=1;break;case 0x0d:run=0,direction=0;break;case 0x0b:direction=1;break;case 0x07:direction=0;break;}if(run) if(direction) //自上而下流动;for(i=0;i<=3;i++){P2=led[i]; Delay(100);}else //自下而上流动;{for(i=3;i>=0;i--){P2=led[i]; Delay(100);}}else P2=0;}}四、混合编程实现键控流水灯PUBLIC KEY//按键处理函数的汇编实现,在上述C语言程DE SEGMENT CODE //序中,只要进行char key();的原型声明即可;RSEG DEKEY:MOV A,P0ANL A,#0FH //与操作;MOV B,ACJNE A,#0FH,KEYOUT //比较条件转移指令,若A=0FH,则顺序进行,否则转移;MOV R7,#0KEYOUT:MOV R7,BRETENDC程序中调用汇编语言实现的函数:1)程序的寻址,通过在汇编文件中定义同名的“函数”来实现,如key()和KEY;函数名的转换规则:2参数传递规则:3)返回值传递,汇编语言通过寄存器或存储器传递参数给C程序;五、数码管计数显示器#include<reg51.h>sbit P3_7=P3^7;unsigned chartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char count=0; //LED显示字模;void Delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<125;j++);}void main(){P2=table[count/10];P0=table[count%10];while(1){if(P3_7==0) //软件消颤,检测按键是否压下;{Delay(10);if(P3_7==0) //若按键压下;{count++;if(count==100) count=0;P2=table[count/10];P0=table[count%10];while(P3_7==0);} //等待按键松开,防止连续计数;}}}六、数码管动态显示#include<reg51.h>char led_mod[]={0x71,0x5B,0x76,0x4F}; //显示字模F2H3;sbit P17=P1^7;void Delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<125;j++);}void main(){char led_point=0; //数码管共阴极点选择;char switch_sta=0; //开关触点选择;while(1){switch_sta=(P17==1)?2:0;P3=2-led_point; //LED位选择;P2=led_mod[switch_sta+led_point]; //P2口输出字模;led_point=1-led_point;Delay(30);}}七、行列式键盘1、键盘扫描的一种典型做法:1)先使行线和列线端口的输出电平分别为低电平和高电平。
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脚):程序存储器允许输出控制端。
低电平是外部程序存储器选通。
单片机学习笔记51单片机基础
单片机学习笔记51单片机基础1980 年因特尔退出MCS-51 单片机现在扩展告诉IO 口AD 转换器PWM WDT(看门狗)IIC 等MCS-51 停产与MCS-51 兼容的有Atmel 公司AT89C5X 停产不支持ISP 下载已经被AT89S5X 取代这个可以ISP 下载SST 公司SST89E5X 带监控程序可以简单仿真宏晶STC(大陆的)STC89C5X 支持串口下载STC89C52 AT 表示Atmel 公司的芯片9 表示flash 存储器S 表示可以下载的flashLV 表示低电压3.3V52 是型号 2 表示8K 的ROM24 表示最高使用晶振24MP 表示双列直插封装的 D 陶瓷封装J 方形封装的S、Q 贴片封装C 表示商业用品0~75 度I 表示工业用品温度范围高点 A 表示汽车用品M 表示军用级别U 表示无铅的产品51 内部结构8 位CPU4KROM128 字节的RAM4 个8 为的IO 口一个全双工串口2 个16 位定时、计数器5 个中断源RAM 相当于内存掉电丢失用于存放运算数据ROM 相当于硬盘掉电不丢失用于存放程序数字电路中只有两种电平高+5V 和低0VRS232 电平:计算机串口高-12V 和低+12V 所以单片机和电脑通讯要转换电平MCS-51 系列单片机产品有8051,8031,8751,80C51,80C31 等型号(前三种为CMOS 芯片,后两种为CHMOS 芯片)。
它们的结构基本相同,其主要差别反映在存储器的配置上。
8051 内部设有4K 字节的掩模ROM 程序存储器,8031 片内没有程序存储器,而8751 是将8051 片内的ROM 换成EPROM。
由ATMEL 公司生产的89C51 将EPROM 改成了4K 的闪速存储器。
MCS-51 单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O 线等一台计算机所需要的基本功能部件。
51单片机知识点
51单片机知识点单片机(Microcontroller,简称MCU)是指集成了微处理器、存储器和各种输入输出接口功能于一体的芯片。
作为嵌入式系统的核心,单片机被广泛应用于各个领域,具有重要的意义。
本文将介绍51单片机的一些基础知识点。
一、51单片机概述51单片机是由Intel公司推出的一种8位单片机,采用Harvard结构,具有较高的性价比和广泛的应用。
它的内部包含了CPU、RAM、ROM、I/O接口等重要组成部分,同时支持多种外设接口,具备较强的可扩展性。
二、51单片机的特点1. 8位架构:51单片机采用的是8位的数据总线和内部寄存器,可以处理8位数据,适用于许多小型应用。
2. 存储器:51单片机内部包含了存储器单元,其中包括RAM和ROM。
RAM用于存储数据和临时变量,ROM用于存储程序代码。
3. I/O接口:51单片机提供了丰富的I/O接口,可以与各种外设进行通信和数据交换。
4. 定时器和计数器:51单片机内部集成了定时器和计数器,可用于计时、调度和产生精确的时间延迟。
5. 中断系统:51单片机支持中断功能,可以及时响应外部触发的事件,提高了系统的实时性和可靠性。
6. 低功耗设计:51单片机在设计上考虑了功耗优化,具有较低的工作电流和待机电流,适用于电池供电和节能应用。
三、51单片机的编程语言51单片机的编程语言主要有汇编语言和C语言两种。
汇编语言是直接操作单片机硬件的底层语言,具有高效性和灵活性,但难以学习和维护。
C语言是一种高级语言,可以通过编译器将C语言代码转换为单片机可执行的机器语言,更容易编写和调试。
四、51单片机的应用领域51单片机广泛应用于各个领域,如家电控制、电子仪器、通信设备、汽车电子、工业自动化等。
它具有价格低廉、易于使用、可靠性高等优点,在小型控制系统中得到了广泛应用。
五、51单片机的开发工具51单片机的开发工具主要包括开发板、编译器、调试器等。
开发板是一个硬件平台,提供了丰富的接口和外设,用于连接和测试电路。
51单片机笔记经典2
51单片机笔记经典2一、填空题1、A T89S51单片机为8位单片机,共有40个引脚。
2、M CS-51系列单片机的典型芯片分别为8031、8051、8751 。
3、A T89S51访问片外存储器时,利用ALE信号锁存来自P0 口发出的低8 位地址信号。
4、A T89S51的P3 口为双功能口。
5、A T89S51内部提供2个可编程的16位定时/计数器,定时器有4种工作方式。
6、AT89S51有2级中断,5个中断源。
7、AT89S51的P2 口为高8 位地址总线口。
8、设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,那么其EA*引脚应该接+5V9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。
10、AT89S51内部数据存储器的地址范围是00H~7FH,位地址空间的字节地址范围是 20H~2FH ,对应的位地址范围是 00H~7FH ,外部数据存储器的最大可扩展容量是 64K 。
11、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH,(R7)=34H 。
12、在R7初值为00H的情况下,DJNZ R7, rel指令将循环执行256次。
13、欲使P1 口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H命令。
14、假设CPU使用的是存放器第1组,R0~R7的地址范围是08H-0FH。
15、单片机进行串行通信时,晶振频率最好选择11.0592MHz 16、当MCS-51执行MOVX A,@R1指令时,伴随着RD*控制信号有效。
17、假设A中的内容为67H,那么,P标志位为1。
18、AT89S51唯一的一条16位数据传送指令为MOV DPTR,data16。
19、LJMP的跳转范围是64K, AJMP的跳转范围是2KB,SJMP的跳转范围是土128 B〔或 256B〕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、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脚):程序存储器允许输出控制端。
低电平是外部程序存储器选通。
○4EA’/Vpp(Enable Address/Voltage Pulse of Programing,31脚):EA’为内外程序存储器选择控制端。
当为高电平时,访问内部程序存储器,超出0FFFH时,自动跳变为低电平访问外部程序存储器;当保持为低电平时,只访问外部程序存储器。
Vpp为第二功能,用于施加较高编程电压。
(2)I/O口引脚○1P0口:8位双向三态I/O口;地址总线低8位及数据总线分时复用。
○2P1口:8位准口双向I/O;可驱动4个TTL负载。
○3P2口:8位准口双向I/O;与地址总线高8位复用。
○4P3口:8位准口双向I/O;双功能复用口。
○5注意:除P0口外,其他三组I/O口内部均有固定上拉电阻,只有P0口有“悬空”状态。
3.微处理器(1) 运算器○1算术逻辑运算单元ALU:可对8位变量进行“与”“或”“异或”运算、循环、求补和清零等基本操作;还可进行加减乘除运算;还有一般微计算机ALU不具备的位操作。
○2累加器A:是一个8位累加器,在CPU中使用最频繁,或叫Acc。
其作用为:是ALU单元的输入之一,因而是数据处理源之一;也是ALU运算结果的存放单元。
○3寄存器B:为执行乘法和除法而设置的。
乘法时,输入为A、B,结果放在BA寄存器对中,B 中放高8位,A中放低8位。
除法时,A为被除数,B为除数,商存在A中,余数存在B中。
不执行乘除法时,可作为普通寄存器使用。
○4程序状态字寄存器PSW:Cy(PSW.7):进位标志,可有软、硬件置位或清零Ac(PSW.6):辅助进位标志,硬件F0(PSW.5):标志位,用户使用,可用软件置1或清0RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制为1和0;用来选择4组工作寄存器去中的哪一组为当前工作寄存器区;4组寄存器如下:OV(PSW.2):溢出标志位,有硬件置1或清0PSW.1位:保留位,未用P(PSW.0):奇偶标志位,表示累加器A中的‘1’的位数,P=1,A中“1”的位数为奇数P=0,A中“1”的个数为偶数在串口通信中用于奇偶校验。
(2) 控制器程序执行顺序:程序存储器中取指令——>指令寄存器——>指令译码器——>定时控制逻辑电路——>产生各种定时信号和控制信号——>各部件执行○1程序计数器PC(Program Counter):MCS-51单片机中PC为16位,决定的其直接寻址范围为2^16=65536=64k;其基本工作方式有以下几种:程序计数器自动加1。
执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生改变。
在执行调用子程序指令或响应中断时,单片机自动完成如下操作:PC的现行值,即下一条将要执行的指令的地址,即断点值,自动送入堆栈;将子程序的入口地址或中断向量的地址送入PC,程序流向发生变化,执行子程序或中断子程序。
子程序或中断子程序执行完毕,遇到返回指令RET或RET1时,将栈顶的断点值弹回到PC中,程序的流程又返回到原来的地方,继续执行。
○2指令寄存器IR、指令译码器及控制逻辑电路:IR用来存放指令操作码的专用寄存器。
条件转移逻辑电路主要用来控制程序的分支转移。
2. 存储器的结构(1) 程序存储器(ROM):程序存储器的某些单元被固定用于中断源的终端服务程序的入口地址。
如下:MCS-51单片机复位后,程序存储器PC的内容为0000H,故系统必须从0000H单元开始取指令,执行程序。
程序存贮器中的0000H地址是系统程序的启动地址。
一般在该单元存放一条绝对他跳转指令,跳向用户设计的主程序的起始地址。
(2)内部数据存储器(RAM)00H~1FH的32个单元为4组通用工作寄存器区,每区含8个8位寄存器,编号为R7~R0.用户可以通过指令改变PSW中的RS1、RS0来切换当前的工作寄存器区。
20H~2FH的16个单元可进行共128位的位寻址,这些单元构成了1位处理机的存储空间。
也可进行字节寻址。
30H~7FH的单元为用户RAM区,只能进行字节寻址。
(3)特殊功能寄存器(SFR-Special Function Register)SFR实质上是一些具有特殊功能的片内RAM单元,字节地址为80H~FFH。
特殊功能寄存器的总数为21个,离散分布在该区域中,其中有些SFR还可以进行位寻址。
○1堆栈指针SP:堆栈是在片内RAM中开辟出来的一个区域,其主要是为子程序调用和中断操作而设立的。
其具体功能有两个:保护断点和保护现场,也可用于数据的临时存放。
堆栈指针SP 是一个8位的特殊功能寄存器,其内容指示出堆栈顶在内部RAM中的位置。
他可指向内部RAM00H~7FH的任何单元。
单片机复位后,SP中的内容为07H,即指向07H的RAM单元,使得堆栈事实上有08H单元开始,考虑到08H~1FH单元分别属于1~3组的工作寄存器区,若在程序设计中要用到这些区,则最好把SP值改为1FH或更大的值。
当一个字节数据压入堆栈,SP自动加1;当一个字节数据弹出堆栈后,SP自动减1。
.○2数据指针DPTR:是一个16位的SFR,其高位字节寄存器用DPH表示,低位字节寄存器用DPL 表示;DPTR即可作为一16位寄存器DPTR来用,也可以作为两个独立的8位寄存器DPH和DPL 来用。
○3端口P0~P3:每一个8位I/O口都为RAM的一个单元(8位)。
○4串行数据缓冲器SBUF:用于存放欲发送或已接收的数据,在SFR块中只有一个字节地址,但实际上是有两个独立的寄存器组成,一个发送缓冲器,一个接收缓冲器。
○5定时器/计数器:两个16位定时器/计数器T1和T0,它们各有两个8位寄存器组成,公子哥独立寄存器:TH1、TL1、TH0、TL0可字节寻址,不能当做16位寄存器寻址。
(4)位地址空间在RAM和SFR中共有211个寻址位的位地址,位地址范围在00H~FFH内,其中00H~7FH这128个位处于内部RAM字节地址20H~2FH单元中,如下图:其余83个可寻址位分布在SFR中,有11个可位寻址寄存器,共有位地址88个,其中5个未用,其余83个位的位地址分布于片内字节地址80H~FFH内,其最低的位地址等于其字节地址,并且其字节地址的末位都为0H或8H。
如下图:(5)外部数据寄存器:RAM扩展最大64K。
使用存储器应注意以下几点:○1地址的重叠性:内部与外部存储器地址会重叠,ROM和RAM回地址重叠,通过EA’来控制。
○2ROM和RAM在使用上严格区分,不同操作指令不得混用。
○3位地址空间共有两个区域,即片内RAM中的20H~2FH的128位,以及SFR中的位地址。
○4堆栈指针SP的内容可任设,复位时SP=07H。
○5片外数据存储器中,数据区与用户外部扩展的I/O口统一编址。
51单片机的存储器结构如下:3. 并行I/O端口(1) P0口字节地址为80H,位地址为80H~87H。
每位包含:○1一个数据输出锁存器;○2两个三态的数据输入缓冲器;○3一个多路转接开关MUX,一个输入来自锁存器,另一来自“地址/数据”。
输入转接有“控制”信号控制,传送系统的低8位地址和8位数据;○4数据输出的驱动和控制电路;○5多数情况下都是作为单片机系统的地址/数据线使用;注意:做输入口使用时,应区分读引脚和读端口(或叫做读锁存器)(2)P1口○1P1口只传数据,没有MUX;○2准双向I/O口,无三态;○3字节地址90H,位地址为90H~97H;(3)P2口○1字节地址为A0H,位地址为A0H~A7H;○2为系统提供高位地址,有MUX;○3准双向I/O口,无三态;(4)P2口○1字节地址为B0H,为地址为B0H~B7H;○2P3口无论是作为输入口使用还是第二功能信号的输入,输出电路中的锁存器输出和“第二功能输出信号”线都应保持高电平。
(5)P0~P3口电路小结○1P0~P3口都是并行I/O口,都可以作数据的输入和输出;○2P0口和P2口通常还用来构建系统的数据总线和地址总线,所以都有MUX;○3P0口可作为“地址/数据”复用线使用,需传送系统的低8位地址和8位数据,因此MUX的一个输入端为“地址/数据”信号。
而P2口仅作为高地址线使用,不涉及数据,所以MUX的一个输入信号为“地址”。
○44组口中,只有P0口是真正的双向口,其他三组都是准双向口,原因是他们的输出缓冲器不是三态的。
4.时钟电路与时序(1)时钟电路○1内部时钟方式:C1、C2的取值通常为30pF;晶振范围在1.2MHz~12MHz之间,晶振频率越高系统时钟频率越高,单片机运行速度越快。
晶振常选用6MHz或12MHz,高速单片机时钟频率可达40MHz。
○2外部时钟方式:用于多片单片机同步,要求高电平持续时间大于20μS,一般低于12MHz的方波;由于XTAL2的逻辑电平不是TTL的,故要接一个4.7K~10K的上拉电阻。