51单片机的配p10端口c语言,51单片机基本端口操作.doc

51单片机基本端口操作

51单片机的基本端口操作

主要对单片机最简系统在实际应用中的使用方法,从简单到复杂地实现单片机最简系统的基本功能。

“点亮最简单的单片机系统”从单片机原理上介绍单片机的基本组成和最简单系统的典型电路,以及有关单片机C51编程方法和例程。

“更加明亮的小灯”从功能上介绍如何使LED发光稳定,从原理上介绍单片机I/O口的电气特性和使用方法。

“定时亮灭的小灯”介绍如何使LED灯定时亮、灭,从单片机原理上介绍定时器的使用和编程方法。

“小灯亮灭的人工控制”从功能上介绍如何通过按键控制LED灯的亮灭,从单片机原理上介绍单片机中断的使用和编程方法。

先复习下Keil 51的操作。

点亮最简单的单片机系统

常用MCS-51系列单片机引脚功能说明

引脚定义引脚功能功能说明Vcc+5V电源电源电压Vss地电路接地端P0.0-P0.7通道08位漏极开路的双向I/O通道P1.0-P1.7通道18位拟双向I/O通道P2.0-P2.7通道28位拟双向I/O通道P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入口P3.3INT1外部中断1输入口P3.4T0定时器/计数器0外部时间脉冲输入端P3.5T1定时器/计数器1外部时间脉冲输入端P3.6WR外部数据存储器写脉冲P3.7RD外部数据存储器读脉冲RST/VPD复位输入信号该引脚上有2个机器周期的高电平可以实现复位操作,在掉电情况下将只给片内RAM供电ALE/PROG地址锁存有效信号主要作用是提供一个适当的定时信号PSEN程序选通有效信号低电平时,指令寄存器的内容读到数据总线上EA/Vpp 片选使能当保持TTL高电平时,8051执行内部ROM的指令;当使TTL为低电平时,从外部程序存储器取出所有指令XTAL1晶振输入端内部振荡器外接晶振的一个输入端XTAL2晶振输入端内部振荡器外接晶振的另一个输入端

提问:什么是单片机系统、

提问:单片机中晶振有什么作用?

回答:单片机访问一次存储器的时间,称之为一个及其周期,是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12X(1/12us),也就是1us。

若是12MHz的晶振,当单片机中定时/计数器的数值加1时,实际经过的时间就是1us。

提示:晶振电路,复位电路

基本电路图:

发光二极管导通压降通常为1.7V-1.9V;

为什么要接电阻?

电路原理及器件选择?

89C51:单片机,控制发光二极管亮灭

OSC:晶振,在本例中选择12MHz的立式晶振

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)

{

for(i=1000;i>0;i--) //双重循环,延时约1s

for(j=1000;j>0;j--);

gate=!gate; //对P10取反,控制小灯

}

}

补充:结合第五代开发板电路图可以看到…

更加明亮的小灯

外加与非门做驱动电路,增大电流,当然也有相应的电子驱动芯片。

定时亮灭的小灯

下面我们进入单片机最重要的内容之一,定时和中断。

什么是单片机的定时器?

MSC-51单片机一般有两个内部的16位定时器/计数器,分别成为T0和T1.分别有两个8位的RAM单元组成,即每个计数器都是16位的计数器,最大计数量为2的16次方等于65536.

而定时和计数的关系是什么呢?找个同学告诉我吧。定时器每完成一个时间的定时,计数器就加1.

2.一定要计满65536个数吗?

3.如何使用MCS-51单片机的定时器呢?

定时器有两个特定的寄存器TMOD和TCON,就象定时器的操作界面。

首先介绍定时器/计数器的方式寄存器TMOD。

TMOD的控制字

TMOD.7TMOD.6TMOD.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值