项目51单片机相关基础知识介绍 联系客服

发布时间 : 星期一 文章项目51单片机相关基础知识介绍更新完毕开始阅读01b472def11dc281e53a580216fc700abb6852ad

的过程,所以才称为准双向口。对52单片机P1.0引脚的第二功能为T2定时器/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。構氽頑黉碩饨荠龈话骛。 P2口(P2.0~P2.7):准双向8位I/O口,内带上拉电阻,每个口可独立控制。第一功能作为基本输入/输出,与P1口相似。第二功能是在系统扩展时作为高位地址线使用。輒峄陽檉簖疖網儂號泶。 P3口(P3.0~P3.7):准双向8位I/O口,内带上拉电阻,每个口可独立控制。第一功能作为基本输入/输出,与P1口相似。作为第二功能使用时,各引脚的定义如表1-1-2所示。值得注意的是,P3口的第一个引脚均可独立定义为第一功能的输入/输出或第二功能。尧侧閆繭絳闕绚勵蜆贅。 表1-1-2 P3口各引脚第二功能定义

标号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

(3)I编程控制引脚。如RST、PSEN、ALE/PROG、EA/VPP。

RST:单片机的复位引脚。当在该引脚上出现连续两个机器周期以上的高电平时,单片机进入复位状态,完成初始化操作。识饒鎂錕缢灩筧嚌俨淒。 PSEN:外部程序存储器选通信号。当访问片外扩展ROM时,只有该引脚为低

引脚 10 11 12 13 14 15 16 17 第二功能 RXD TXD INT0 INT1 说明 串行输入口 串行输出口 外部中断0 外部中断1 定时器/计数器0外部输入端 定时器/计数器1外部输入端 外部数据存储器写脉冲 外部数据存储器读脉冲 T0 T1 WR RD 电平时才为有效信号,才能选通片外程序存储器对其进行读操作。由于现在我们使用的单片机内部已经有足够大的ROM,所以几乎没有人再去扩展外部ROM,

因此这个引脚大家只需了解即可。凍鈹鋨劳臘锴痫婦胫籴。 ALE/PROG:地址锁存控制/片内ROM编程脉冲输入信号。在访问外部程序存储器时,P0口作业地址/数据复用口,ALE用于锁存低8位地址。即ALE为高电平时P0口上的住处为低8位地址,在ALE下降沿时将P0口上的低8位地址送地址锁存器锁存起来,在ALE为低电平期间P0口上的住处为指令或数据信息,以此实现低位地址与数据的分离。该引脚的第二功能PROG作为编程脉冲的输入端。单片机内部有程序存储器(ROM),它的作用是用来存放用户需要执行的程序,那么我们怎样才能将写好的程序存入这个ROM中呢?实际上,我们是通过编程脉冲输入才写进去的,这个脉冲的输入端口就是PROG。现在很多单片机都已经不需要编程脉冲引脚往内部写程序了,比如我们用的AT单片机,它可以直接通过串口往里面写程序,只需要三条线与计算机相边即可。而且现在的单片机内部都已经带有丰富的RAM,所以也不需要再扩展RAM了,因此 ALE/PROG这个引脚的用处已经不太大。恥諤銪灭萦欢煬鞏鹜錦。 EA/VPP:访问外部程序存储器控制信号/片内Flash ROM编程电源输入。当EA接高电平时,单片机读取内部程序存储器。当扩展有外部ROM时,当读取完

内部ROM后自动读取外部ROM。EA接低电平时,单片机直接读取外部ROM。8031单片机内部是没有ROM的,所以在使用8031单片机时,这个引脚是一直接低电平的。8751单片机烧写内部EPROM时,利用此引脚输入21V的烧写电压。因为现在我们用的单片机都有内部ROM,所以在设计电路是此引脚始终接高电平。鯊腎鑰诎褳鉀沩懼統庫。

任务三 了解单片机的C51基础知识

1.利用C语言开发单片机的优点

每一块单C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发

都用C语言编程。单片机的C51与用汇编编程相比,有如下优点:硕癘鄴颃诌攆檸攜驤蔹。 ①对单片机的指令系统不要求有任何的了解,就可以用C语言直接编程操作单片机。

②寄存器分配、不同存储器的寻址及数据类型等细节完全由编译器自动管理。

③程序有规范的结构,可分成不同的函数,可使程序结构化。 ④库中包含许多标准子程序,具有较强的数据处理能力,使用方便。 ⑤具有方便的模块化编程技术,使已编好的程序很容易移植。

C语言常用语法不多,尤其是单片机的C语言常用语法更少,有益于编写小而快的程序。

2.C51中的基本数据类型

当我们给单片机编程时,单片机也要运算,而在单片机的运算中,变量中数据的大小是有限制的,我们不能随意给一个变量赋任意的值,因为变量在单片机的内存中是要占据空间的,变量大小不同,所占据的空间就不同,为了合理利用单片机的内存空间,我们在编程序时就要设定合适的数据类型,不同的数据类型也就代表了十进制中不同的数据大小,所以我们在设定一个变量之前,必须要给编译器声明这个变量的类型,以便让编译器提前从单片机内存中分配给这个变量合适的空间。单片机的C语言中常用的数据类型如表1-1-3所示。阌擻輳嬪諫迁择楨秘騖。 表1-1-3 C51中常用的数据类型

数据类型 无符号字符型 有符号字符型 无符号整型 有符号整型 无符号长整型 有符号长整型 关键字 unsigned char char unsigned int int unsigned long long 所占位数 8 8 16 16 32 32 表示数的范围 0~255 -128~127 0~65535 -32768~32767 0~232-1 -231~231-1 单精度实型 双精度实型 位类型

float double bit 32 64 1 3.4e-38~3.4e38 1.7e-308~1.7e308 0~1 那么什么是所占的位数呢?在编写程序时,无论是以十进制、十六进制还是二进制表示的数,在单片机中,所有的数据都是以二进制的形式存储在存储器中的,既然是二进制,那么就只有两个数,0和1,这两个数每一个所占的空间就是一位(b),位也是单片机存储器中最小的单位。比位大的单位是字节(B),一个字节等于8位(即1B=8b)。氬嚕躑竄贸恳彈瀘颔澩。 3.C51中的运算符

C51中的算术运算符如表1-1-4所示。

表1-1-4 C51中的算术运算符

算术运算符 + - * / ++ -- %

C51中的关系(逻辑)运算符如表1-1-5所示。

表1-1-5 C51中的关系(逻辑)运算符

关系(逻辑)运算符 > >= 〈 〈= 含义 大于 大于等于 小于 小于等于 含义 加法 减法 乘法 除法(或求模运算) 自加 自减 求余运算