单片机的初步了解
什么是单片机?
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,不是为了完成某一个逻辑功能的芯片,而是将整个计算机系统集合到一个芯片上,和计算机相比,单片机就只是少了I/O设备,概括地讲:一个芯片就相当于一台电脑。单片机应用很广泛,主要运用于工业控制器,家用电器等。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的特点
- 集成度高
- 体积小
- 重量轻
- 成本低
- 耗电少
- 实时控制功能强
- 运行速度快
- 可靠性高
什么是51单片机?
51单片机是单片机中最经典和流行的一种,应用十分广泛。它是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
C51是什么?
C51也是一种类似于C语言的计算机编程语言,C51相对于C增加了bit、sfr、sfr16、sbit的特殊数据类型。
1.bit
- 作用:定义一个位变量,不能定义位指针和位数组。
- 值包括0和1.
2.sfr
- 作用:定义1个字节的内存单元,用于操作C51中所有的特殊功能寄存器。
3.sfr16
- 作用:定义2个字节的内存单元,用于操作C51单片机中2个字节的特殊功能寄存器。
4.sbir
- 作用:操作芯片内部RAM中的可寻址位或者特殊功能寄存器中的可寻址位。
C51的变量数据类型
数据类型 | 长度/bit | 长度/Byte | 值域 |
---|---|---|---|
unsigned | 8 | 1 | 0~255 |
signed char/char | 8 | 1 | -128~+127 |
unsigned int | 16 | 2 | 0~65535 |
signed int | 16 | 2 | -32786~+32786 |
unsigned long | 32 | 4 | 0~4294967295 |
signed long | 32 | 4 | -2147483678~+2147483678 |
float | 32 | 4 | -1.175494E-38~+3.402823E |
*指针 | 13 | ||
bit | 2 | 0或1 |
1.Char 字符类型
用于定义处理字符变量数据的变量或常量。
2.Float浮点型
十进制数中具有7位有效数据。
3.Bit类型
存放逻辑变量,占用一个位地址。C51编译器把bit类型的变量安排在单片机内RAM的位寻址区。
存储类型
不同于C语言的存储类型有auto、static、extern、register,C51里面的存储类型有data、idata、pdata、xdata、code。
C51存储类型及其大小和值域
存储类型 | 长度(bit) | 长度(byte) | 值域范围 |
---|---|---|---|
data | 8 | 1 | 0~255 |
idata | 8 | 1 | 0~255 |
pdata | 8 | 1 | 0~255 |
xdata | 16 | 2 | 0~65535 |
code | 16 | 2 | 0~65535 |
总结
51单片机是最基础,应用最广泛的单片机之一,是新人学习单片机的一个入门基础。需要注意的是它不具备自编程能力(虽然我现在还不知道具备自编程能力到底意味着什么)。
C51 是一门编程语言,主要继承于C语言,但还是有不同之处的,比如变量类型、存储类型等。它主要运行于51内核的单片机平台。
换句话说,C51就是在C语言的基础上专门为51单片机写代码的一个编程语言。