一、sfr和sbit代表什么?
sfr用来描述直接描述硬件地址
sbit对应可位寻址空间的一个位
二、定时器
1.定时器和计数器的区别?
定时器和计数器电路一样
定时器靠的是内部震荡电路进行实现
计数器靠的是外部负跳变进行计数
他们的本质就是让单片机某个部位数数
2.什么是晶振?
晶振简称数字电路的心脏,是必不可少的频率元器件
3.什么是时钟周期?
时钟周期也称为振荡周期,定义为时钟频率的倒数。是计算机最基本、最小的时间单位
4.什么是机器周期?
机器周期也叫做CPU周期,在执行指令过程中往往会经历多个阶段,每个阶段完成基本操作。
而每个阶段所用的时间则为机器周期。一般情况是,一个机器周期由若干个时钟周期组成
5.如何计算一个机器周期?
计算时钟周期=1/时钟频率=1/11059200
假设机器周期为12T,则:
机器周期=12/11059200=1.085us
6.如何配置定时器0为10ms溢出?
当TH0和TL0为0xFF时,定时器溢出,此时对应的数为65536
10ms需要经历几个机器周期=10000us/1.085us=9216个
也就是从初值要数9216次,即可使定时器溢出
则初值为65536-9216=56320=0xDC00
所以配置TH0为0xDC,TL0为0x00即可
7.如何知道爆表?
判断TF是否为1,若为1则爆表,可以软件清零
8.如何配置定时器0的模式
将M1、M0配置为01,为16位
9.如何用定时器使LED每秒钟亮灭一次?
1.配置TMOD为0x01(定时器0,16位工作模式)
2.配置TH0为0xDC,TL0为0x00(每次溢出所需时间为10ms)
3.启动定时器0,TR0=1
4.判断溢出次数是否为100次(1s)
若是,则重新配置TH0为0xDC,TL0为0x00
TF0进行软件置0,cnt置零
10.AUXR定时器

三、PWM
1.什么是占空比?
一个周期内,高电平时间所占的比例
四、超声波模块
1.超声波测距距离怎么算?
当Trig为1持续10us时,超声波模块循环发出8个40KHZ的脉冲
此时Echo会变成1,所以用while(Echo == 0)即可卡超声波发送的时间点
当波反射回来时,Echo会变成0,所以用while(Echo == 1)即可卡超声波返回的时间点
此时的来回的时间为=(TH0 * 2^8 + TL0)*1.085*0.001*0.001秒
距离=来回时间/2*340*100厘米
五、串口通信
1.串口概念
串口指的是串行通信接口、串行通讯接口也叫做COM口。串行接口指的是数据一位一位地顺序发送,其特点是通讯线路简单,只需要一对线即可完成双向通信,特别适合远距离设备,全双工通信
缺点为:传输速度慢
2.RS-232
标准串口,9针,最大传输速率为20KB,通常用在电脑上
采用点对点,一对一设备通讯,传输最远距离为15米,所以用于本地设备通讯
3.RS-422
驱动能力更强,支持十个设备接入。一个主设备,其余为从设备,从设备之间不能互相通信,只能主从之间通信。
最大传输距离为1219米,最大传输速率10Mb/s
4.RS-485
由RS-422发展而来,最高支持32个设备
5.UART
又被称为异步串行接口,包括RS232和TTL电平
RS232,逻辑高电平:-3-(-15v)逻辑低电平:3-15v
串口,逻辑低电平0v 逻辑高电平:5v
6.SBUF
输入数据缓冲器:SBUF = data
输出数据缓冲器:char data = SBUF
7.串口初始化
配置SCON,PCON,TMOD
8.串口发送字符串
void sendString(char *str)
{
while(*str){ <