单片机基础
来源:互联网 发布:匈牙利算法 证明过程 编辑:程序博客网 时间:2024/06/06 18:45
一. 什么是单片机?
在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
二. 80C51系列简介
80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:
l Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
l ATMEL的:89C51、89C52、89C2051等;
l Philips、华邦、Dallas 、STC 、Siemens(Infineon)等公司的许多产品 。
三. 8051内部结构
总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。 外部总线有三种:数据总线DB(Data Bus), 地址总线AB(Address Bus)和控制总线 CBControl Bus)。
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/计数器,既可以工作在定时模式,也可以工作在计数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。
四. C51语言特点
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。
C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机、DSP、ARM等.
C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。
C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。
五. C-51与ASM-51相比,有如下优点:
1. 对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;
2. 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;
3. 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;
4. 提供的库包含许多标准子程序,具有较强的数据处理能力;
5. 由于具有方便的模块化编程技术,使已编好程序可容易地移植。
六. C-51的数据类型
sfr:特殊功能寄存器声明
sfr16:sfr的16位数据声明
sbit:特殊功能位声明
bit:位变量声明
例:sfr SCON = 0X98;
sfr16 T2 = 0xCC;
sbit OV = PSW^2;
C语言中的基本数据类型
七. 最小系统能够运行起来的必要条件
1. 电源 (滤波处理)
VCC与GND成对出现
2. 晶振
有源晶振:不需要电源,价格便宜,精度稍差
无源晶振:需要电源,价格昂贵,精度好
3. 复位电路
八. 单片机工作的基本时序
机器周期和指令周期
(1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。
(2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
(3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。
(4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。
- 单片机基础
- 单片机基础
- 单片机编程基础
- 单片机程序设计基础(修订版)
- 51单片机基础汇总
- 51单片机系统基础
- 单片机入门基础
- MCS-51单片机基础
- 单片机 基础概念
- 单片机基础--IIC通信协议
- C51单片机硬件基础
- 单片机串口通信基础
- 单片机学习笔记--51单片机基础
- 单片机基础学-按键篇
- 系统概述及单片机基础
- 单片机==回顾基础
- 零基础一周学会PIC单片机视频教程
- VB与单片机实现通讯基础
- LeetCode 226 Invert Binary Tree
- HDU 2083 简易版之最短距离
- Mac上更新Ruby,安装cocoapods详细教程
- lightoj 1369 - Answering Queries (思维规律)
- 评价系统海量数据存储设计
- 单片机基础
- target操作,对当前单元格进行操作
- malloc和free的具体用法举例
- 细述 Java垃圾回收机制→How Java Garbage Collection Works?
- Git教程推荐
- μC/OS—III为缩短中断关闭时间作出的改进
- Packetdrill 简明使用手册
- 离线定位和GPS定位的区别
- 为SQL Server 2000数据库添加用户名和密码