c51单片机(预备知识)

1、什么是单片机

        单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备(小键盘、LED显示器)。

 2、结构示意图(以STC89C51为讲解)

0)  无源晶振:12MHZ

1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期.也是晶振频率12Mhz倒数。即 :1/ (12* 10^6).

2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的

3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。即:12 / (12*10^6)。

单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用。

2.1什么是I/O

即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出.

P0:P0.0~0.7(下同),无外扩芯片时作I/O口用,读入或写出数据。有外扩时既要连接锁存器,从锁存器出去在连接外扩芯片的8位地址线;同时P0还要直接连接外扩的数据总线

P1:作普通的I/O口用

P2:无外扩作IO口。有外扩时,直接连接外扩的外扩芯片的剩余高位地址。

P3:P3的每一对端口都是是功能口。

                       3.1,3.0是串口通信的TXD,RXD;

                       3.2,3.3是外部中断输入的INT0和INT1;

                       3.4和3.5控制T1和T0的定时/计数器功能;

                        3.6,3.7控制读写数据

3、预备知识(电平特性)

3.1、电平特性

             51系列单片机接口是TTL电平:   高电平(+5V)     低电平(0V)

              RS232电平:也就是计算机的串口: 高电平(-12V)     低电平(+12V)

3.1.1、 二进制逻辑运算

    1)“与”运算 
               口诀:有0得0 
            例子:1&1=1 ;        1&0=0 ;           0&0=0 ;

    2)“或”运算 
               口诀:有1得1 
            例子:1|1=1 ;          1|0=1 ;             0|0=0;

     3)“非”运算 
                口诀:1的非得0,0的非得1
            例子:~1=0;             ~0=1;
     

      4)“异或”运算 
                 口诀:两个不同则1,反之则0 
              例子:1^1=0;           1^0=1;            0^0=0;

4、进制转换

    4.1、二进制转化为十进制

习题: (扩展)

4.2、巧方法:8421法

4.3十进制转换为二进制(巧方法:问百度

     

 4.4、二进制转十六进制

 4.5、十六进制转化为二进制

  

5、 单位换算

       我的时钟周期为:12MHZ

       机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。

       注意:我们放一个bite位,即一个机器周期

5.1、频率(frequency)

         是单位时间内完成周期性变化的次数(单位时间,就是1s内工作了多少次)

         单位:HZ

         公式:= 1/T    即为周期的导数

  5.2、单位转化

   1s = 1,000 毫秒(ms)
   1s = 1,000,000 微秒(μs)
   1s = 1,000,000,000 纳秒(ns)
---------------
   1 KHz =1,000 Hz
   1 MHz =1,000,000 Hz
   1 GHz =1,000,000,000 Hz
------------
   1Hz = 1 s                            (1秒震动一次)
   1KHz = 1,000 / 1s               (1秒震动1000次)
   1MHz = 1,000,000 / 1s        (1秒震动1000000次)

   1)时钟周期为晶振的倒数:1 /12MHZ =    1  /  ( 12 * 10^6) HZ

   2)机器周期     12 *    1 / 12MHZ   =  12 *  1/ (12 * 10^6) HZ           (定时器常用)

6、管脚的定义(sbit 和 sfr)

  6.1sbit 类似C语言的denfine 函数,给管脚取一个新的名字

例如:  sbit  LED = P1^6 ;

即 : LED 表示了P1口的第6个管脚(P1^6)

   6.2、sfr特殊功能寄存器

自我理解;也是取一个新的名字,但它与sbit不同,它直接取8个管脚,统称为一个名字。

举一个非常简单的例子区别一下:

比如门牌号是:某省某市某小区16栋14号房,是郑大侠的家,你说记郑大侠的家好记,还是上面那个详细地址好记呢?

一开始单片机没程序的时候,单片机其实没有P0/P1/P2/P3口的说法,单片机只知道P1口的8只引脚,是连着内部地址0x90。为了方便记忆,就衍生出P0、P1、P2、P3。

     例如:sfr P1 = 0x90;

      即:就是把单片机的地址0x90改名字为P1,方便我们使用。

7、C51常用头文件

          C51中头文件很多,包括reg51.h或reg52.h、absacc.h、math.h、intrins.h、stdio.h、stdlib.h等。但是常用的通常只有reg51.h或reg52.h、absacc.h、math.h这三个头文件。

 (1)reg51.h或reg52.h

         这是定义51子系列单片机和52子系列单片机内部特殊功能寄存器和相关可寻址位的头文件。这两个头文件内容绝大部分都是相同的,只是52子系列比51子系列单片机多了一个定时器T2,因此也就多了几行与其相关的定义。

 (2)  math.h是定义数学运算的,求方根、正余弦、绝对值等,

 (3)intrins.h是固有函数

 (4)absacc.h 访问特殊功能寄存器的

 (5)stdio.h动态内存分配函数

 (6)stdlib.h标准库文件函数

       

    

物联沃分享整理
物联沃-IOTWORD物联网 » c51单片机(预备知识)

发表评论