百度文库 - 让每个人平等地提升自我
第一章 51单片机的基本端口操作
主要对单片机最简系统在实际应用中的使用方法,从简单到复杂地实现单片机最简系统的基本功能。
“点亮最简单的单片机系统”从单片机原理上介绍单片机的基本组成和最简单系统的典型电路,以及有关单片机C51编程方法和例程。
“更加明亮的小灯”从功能上介绍如何使LED发光稳定,从原理上介绍单片机I/O口的电气特性和使用方法。
“定时亮灭的小灯”介绍如何使LED灯定时亮、灭,从单片机原理上介绍定时器的使用和编程方法。
“小灯亮灭的人工控制”从功能上介绍如何通过按键控制LED灯的亮灭,从单片机原理上介绍单片机中断的使用和编程方法。
先复习下Keil 51的操作。
1.1 点亮最简单的单片机系统
常用MCS-51系列单片机引脚功能说明 引脚定义 引脚功能 Vcc Vss +5V电源 地 功能说明 电源电压 电路接地端 8位漏极开路的双向I/O通道 8位拟双向I/O通道 P0.0-P0.7 通道0 P1.0-P1.7 通道1 1
百度文库 - 让每个人平等地提升自我
P2.0-P2.7 通道2 P3.0 P3.1 P3.2 P3.3 P3.4 RXD TXD INT0 INT1 T0 8位拟双向I/O通道 串行输入口 串行输出口 外部中断0输入口 外部中断1输入口 定时器/计数器0外部时间脉冲输入端 P3.5 T1 定时器/计数器1外部时间脉冲输入端 P3.6 P3.7 WR RD 外部数据存储器写脉冲 外部数据存储器读脉冲 RST/VPD 复位输入信号 该引脚上有2个机器周期的高电平可以实现复位操作,在掉电情况下将只给片内RAM供电 ALE/PRO地址锁存有效主要作用是提供一个适当的定G PSEN 信号 时信号 程序选通有效低电平时,指令寄存器的内容读信号 到数据总线上 当保持TTL高电平时,8051执行内部ROM的指令;当使TTL为低电平时,从外部程序存储器取出所有指令 EA/Vpp 片选使能 2
百度文库 - 让每个人平等地提升自我
XTAL1 晶振输入端 内部振荡器外接晶振的一个输入端 XTAL2 晶振输入端 内部振荡器外接晶振的另一个输入端
提问:什么是单片机系统、
晶振、复位电路 单片机 输入控制 输出显示 外围功能器件
提问:单片机中晶振有什么作用?
回答:单片机访问一次存储器的时间,称之为一个及其周期,是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12X(1/12us),也就是1us。 若是12MHz的晶振,当单片机中定时/计数器的数值加1时,实际经过的时间就是1us。 提示:晶振电路,复位电路
3
百度文库 - 让每个人平等地提升自我
基本电路图:
发光二极管导通压降通常为1.7V-1.9V; 为什么要接电阻?
电路原理及器件选择?
89C51:单片机,控制发光二极管亮灭
OSC:晶振,在本例中选择12MHz的立式晶振
4
百度文库 - 让每个人平等地提升自我
C3,C2:晶振电路的起振电容,容值为22pF L1:发光二极管
R1:限流电阻,阻值为1k欧
地址分配和连接?
P1.0:与发光二极管电路相连,控制LED发光二极管阴极的电平高低 RESET:复位引脚
X1,X2:单片机的晶振引脚
程序设计:
延时程序:我们先不使用单片机的定时器,而是直接采用软件的延时程序定时控制发光二极管的亮灭。在12M晶振时,一个指令周期为1us,那么1M次就是1s。 程序代码:
#include
sbit gate=P1^0; //位定义 void main(void) {
unsigned int i,j; while(1) {
5
51单片机的基本端口操作



