51单片机-C语言扩展及最小系统
1、C-51的数据类型扩充定义
sfr:特殊功能寄存器声明
sfr:变量名=地址值;
特殊功能寄存器在reg51.H这个头文件里面都帮我们定义好了,所以平时我们就不要自己去定义寄存器的名字。
- sbit:特殊功能位声明
- sbit 变量名=地址值;
在给某一个引脚取名的时候经常会用到。
- bit:位变量声明
用来定义位数据变量
- 例:sfr SCON = 0X98;
- sbit LED=P0^2;
2、C51中常用到的一些预处理命令
#define:#define A P0(注意后面不用加分号)
#typedef:typedef unsigned char uint;(后面要加分号)
重新定义一些常用的关键词,可以增强程序的可移植性,因为在不同的编译软件上面,C语言的数据类型的关键词的位宽是不一样的。
#ifndef...#endif
条件编译,常用于头文件的定义还有一些程序条件编译
C51基本数据类型
3、单片机最小系统
3.1、电源电路
同下载电路
3.2、复位电路
电容特性:直流电的情况下,电容刚接通电源的情况下,相当于开路电流最大,因此R7电阻左端电压最高。当电容充满电的时候,电容相当于开路,电阻的电压就会变成0。
-
上电复位时:当单片机上电时,复位电路中的电容会通过电源电压充电,直到达到一定的电压阈值(通常是电源电压的0.7倍左右)。此时,电容相当于一个短路,使得复位引脚(如RST)接收到一个短暂的高电平信号。随着电容充电完成,复位引脚电压逐渐下降,单片机完成复位操作12。
-
按键复位时:当用户按下复位按钮时,按钮相当于一个开关,将电容两端短接,形成一个放电回路。电容开始释放之前充的电量,导致复位引脚上的电压逐渐升高。当电压超过单片机的复位阈值时(通常为0.7VCC左右),单片机检测到高电平信号并触发复位操作13。
1、通过RSTK1开关进行高电平复位。
2、通过RC(电容、电阻):充放电进行复位
3.3、时钟电路
3.4、下载电路
4、开发软件安装与工程建立
4.1、KEIL4的安装
无
4.2、创建基本工程