51单片机——芯片笔记(1)

硬件最小系统:

at89s51结构图:

中断系统:5个中断源

定时器/计数器:两个16位,四种工作方式

特殊功能寄存器:26个,用于cpu对内部各外设管理,控制和监控,在片内ram,80H-FFH地址上。

看门狗:1个,当单片机“死循环”,“跑飞”状态,重置单片机,使得程序恢复正常

串行口:1个全双工异步串行口(uart),四种工作方式,TXD——RXD

并行口:4个,P0 ,P1 ,P2,P3

最小应用系统

引脚

P0口:没有内部上拉

P0口的输入输出

P0口用作数据/地址总线

P1口

有内部上拉电阻

特殊引脚:

P1.5 MOSI

P1.6MISO

P1.7 SCK

P2口

有内部上拉电阻,用作地址总线的高八位

P3口

有内部上拉电阻,第二功能引脚

CPU

中央处理器:cpu包括运算器和控制器

存储器

程序存储器

ROM片内4K ,片外可以扩展至64KB

4K——2的12次方

64K——2的16次方,P0、P2十六条地址总线

外扩存储区:

数据存储器

RAM片内128B ,片外可以扩展64KB

五个中断源地址(在程序存储器中ROM):

0003H 外部中断0

0013H 外部中断1

0023H 串行口

000BH 定时器0中断

001BH 定时器1中断

特殊功能寄存器(SFR):26个(在数据存储器中RAM)

sp寄存器:断点保护和现场保护

数据指针寄存器DPTR0,DPTR1

DPTR0可以分为8位高地址寄存器DP0H

DPTR0可以分为8位低地址寄存器DP0L

时钟

atAT89S51有一个14位的看门狗定时器 和 看门狗复位寄存器

当定时器开启后,14位定时器会对系统时钟12分频后的信号计数,每隔2的14次方机器周期溢出一次,并且产生一个高电平复位信号,使单片机复位

sfr WDTRST=0Xa6;

看门狗寄存器的地址。

WDTRST=0X1E;

WDTRST=0XE1;//看门狗启动和清零

复位电路

当充电的时候,5v的电压一瞬间通过电容接触rst引脚,超过est引脚需要的电压,因此复位,然后因为电容在充电,到达rst引脚的电压会降低到rst引脚复位电压以下,因此不会再复位。

当按下按键的时候,5v电压依旧通过电容有输出电压但是不够rst复位电压,但是按下按键后,红线导通也会输出一部分电压,加上原先的电压,足够使得rst引脚再次复位。

低功耗节电模式

空闲模式

掉电保护模式

目的是降低系统功耗

PCON寄存器中有两个位

IDL位

PD位

IDL位为1时候进入空闲模式

PD位为1时候进入掉电模式

空闲模式:振荡器工作,cpu空闲状态,外围电路工作正常工作,内部RAM空闲状态

掉电保护状态:振荡器停止工作,内部部件全部停止工作

退出:硬件复位,外部中断

可以暂停计数,也可以继续计数

看门狗停止计数

数据存储类型

代码:在C语言的基础上增加了4种类型

数据存储类型:

内部数据存储区

data、idata、bdata

外部数据存储区

xdata、pdata

程序存储区

code 只能读不能写

如果不写,编译器选择默认存储类型

char var1

SMALL

data

COMPACT

idata

LARGE

xdata

#include 头文件

#include <REG51.H>

直接到软件安装夹处搜索该头文件,如果有就不会报错

#include “intrins.h ”

到自己创的当前工程所在的文件夹搜索该头文件,没有找到

又回到到软件安装夹处搜索该头文件

扩展数据类型

C51数据类型,红框是扩展的数据类型

bit的值是0或者1

sfr是特殊功能寄存器,在内部RAM中如下图红框

sfr定义寄存器位置

例子sfr P1=0x90;P1=0xff;

sfr16也是特殊功能寄存器,不过是两个八字节的特殊功能寄存器

sfr16 DPTR=0X82;

sbit

sbit是指可位寻址变量其中的某一位。至于这个“可位寻址的变量”究竟是不是寄存器,没有任何关系。换句话说,就算一个普通的变量,只要定义在位寻址区,那它也是可以用sbit声明各位的。(51内部RAM的data段,地址20H~2FH有一个长度为16字节的位寻址区,称为bdata段,把普通变量定义在这个位置就能用sbit声明

使用方法:

1 sfr PSW=0xd0;

sbit CY=PSW^7;

sbit OV=PSW^2;

2 sbit CY=0xd0^7;

sbit OV=0xd0^2;

3 sbit CY=0xd7;

sbit OV=0xd2;

第三种有要求地址必须是在0x80-0xff

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值