1、引脚介绍
(1)电源和时钟引脚。如Vcc和GND、XTAL1和XTAL2(晶振)。
(2)编程控制引脚。如RST、PSEN、ALE/PROG、EA/Vpp(复位、读取内外存储器有关)
(3)I/O口引脚。如P0、P1、P2、P3,4组8位I/O口(P3口各引脚还有第二功能定义,包括串行输入输出和外部中断)
2、单片机最小系统
(1)电源
(2)晶振
(3)复位电路
3、理解锁存器
74HC573锁存器,锁存允许端LE。当LE高电平H时,输入和输出保持同步;当LE低电平L时,输出端保持上一次的值,不随输入端变化。
应用场景举例:PI口接了A/D芯片的数据输出端,同时也接了发光二极管。
如果不加锁存器,则当A/D数据发生变化时,发光二极管也随着变化;
在P1和发光二极管之间加上一个锁存器,则当做A/D实验时,置锁存器的LE为L,则发光二极管不受A/D输出影响。
4、单片机几个周期
(1)时钟周期。震荡周期,定义为时钟频率(晶振频率)的倒数。最基本、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。
(2)状态周期。时钟周期的两倍。
(3)机器周期。基本操作周期,完成一项基本操作,如取指令、存储器读写等。它由12个时钟周期组成。
(4)指令周期。CPU执行一条指令所需要的时间。一般一个指令周期含有1-4个机器周期。
5、数码管
引脚。显示8,小数点,公共端,共计9个管脚。厂商便于封装,一共10个引脚。
段选和位选。多位一体,指将多个数码管连在一起。他们的公共端(位选线)是独立的,控制点亮哪个数码管。显示数字的段线(段选线)是连在一起的,控制显示什么数字。
6、中断
(1)52单片机一共有6个中断源。
INT0---外部中断0,由P3.2端口线引入,低电平引起.0
INT1---外部中断1,由P3.3端口线引入,低电平引起.2
T0---定时器/计数器0中断,由T0计数器计满回零引起.1
T1---定时器/计数器1中断,由T1计数器计满回零引起.3
T2---定时器/计数器2中断,由T2计数器计满回零引起.5
T1/R1---串行口中断,串行端口完成一帧字符发送/接收后引起.4
(2)中断寄存器
中断允许寄存器IE,用于设定打开或关闭某个中断
中断优先级寄存器IP,用于设定各个中断的优先级
(3)定时器T0中断寄存器
定时器/计数器工作方式寄存器TMOD
定时器/计数器控制寄存器TCON
(4)中断服务程序的写法
void 函数名() interrupt 中断号 using 工作组
{
}
实例程序:
#include
sbit led1=P1^0;
void main()
{
while(1);
}
void T0_time() interrupt 1
{
led1=~led1;
}
7、键盘
(1)单片机检测按键原理
单片机的IO口即可作为输出也可作为输入使用,当检测按键时用的是它的输入功能,
把按键的一端接地,另一端与单片机的某个IO口相连,开始时先给该IO口赋一高电平,然后让单片机不断地检测该IO口
是否变为低电平,当按键闭合时,即相当于该IO口通过按键与地相连,变为低电平,程序一旦检测到IO口变为低电平则
说明按键被按下,然后执行相应的指令。
(2)抖动
按键在按下时,实际波形在按下和释放的瞬间都有抖动现象,也就是电压变化是不规律的,不能以此时的电平变化为依据
来判断按键是否按下,所以应该单片机在检测键盘是否按下时都要加上去抖动操作,一般用软件延时方法来解决抖动。
(3)矩阵键盘
3X3,4X4,5X5矩阵键盘,分别有9,16和25个按键,共6,8和10根线。各键盘的两端都与IO口相连。
独立键盘有一端固定为低电平,而矩阵键盘两端都与单片机IO口相连。
检测时,先送一列为低电平,其余各列全部为高电平,然后立即轮流检测一次各行是否有低电平,
这样就能检测到哪一行哪一列的按键按下了
8、AD和DA
ADC0804和DAC0832分别为使用非常普遍的8位AD和DA转换器。
9、串行口通行原理
(1)串口通信分为异步串行通信和同步串行通信。
(2)异步串行通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收过程。
异步通信一帧字符信息由4部分构成:起始位、数据位、奇偶校验位和停止位。异步通信是常用的方式。
(3)在计算机和单片机之间传输数据时,通常需要进行电平转换。MAX232芯片可以实现RS-232和TTL电平的相互转换。
(4)单片机和计算机之间的串口线需要谨慎选择,选择平行串口线还是交叉串口线,是选择母头对母头串口线还是母头对公头串口线。
(5)串行口有四种工作方式,对应着三种波特率,各波特率与晶振的频率和T1定时器有关
(6)只有当单片机选择11.059MHz晶振时,T1定时初值才是一个整数,计算出来的波特率才是正常的。
10、液晶显示器(Liquid Crystal Display,LCD)
(1)显示原理是以电流刺激液晶分子产生点线面并配合背部灯管构成画面。
(2)1602表示每行显示16个字符,一共可以显示两行,一共可以显示32个字符。类似的12864,128行64列。
(3)液晶体积小、功耗小、显示操作简单,但是它由一个致命的弱点,其使用的温度范围很窄,通用型液晶正常工作范围为0--55度。
(4)液晶显示器控制器内部有RAM,当向相应地址任一处写入显示数据时,液晶都可以立即显示出来。
10、I2C总线
(1)I2C总线由数据线SDA和时钟线SCL两条线构成通信线路,所有的信号(启动信号、停止信号、地址码信号)和数据。
(2)各种被控器件均并联在总线上,但每个器件都有唯一的地址。各器件的数据线SDA和时钟线SCL全部接到一起,然后连着CPU的SDA和SCL口。
(3)SDA的上升和下降沿随着时钟信号的SCL的高低电平,来形成各种控制信号。
(4)AT24C02是具有I2C总线接口的E2PROM的芯片,寻址方式包括:芯片寻址,1010+A2A1A0,其中A2、A1和A0是可编程地址选择位,共形成7位的地址。
片内子地址寻址:可对内部256B中的任一个进行读写操作,其寻址范围为00--FF,共256个寻址单位。
11、运放电路
运算放大,是把较小的电压或电流信号放大成较大的方便后续处理的电压信号,所谓的放大倍数就是指输出信号与输入信号的比值。
其应用包括:反相器、电压比较器、电压跟随器、积分器、微分器。
12、串口通信
(1)单片机双机通信方式:TTL电平通信(双机串行口直接互连)、RS-232C通信、RS-422A通信、RS-485通信。
(2)远程无线通信。借助于无线设备(2.4GHz无线视频传输模块和433MHz无线数据传输模块),这类设备价格低廉,预留接口通常为TTL电平、RS-232C或RS-485接口,
与单片机系统连接非常简单,编写程序也很容易。
(3)若要使用先进的远距离无线通信,可以借用当前中国移动和中国联通的CDMA或GPRS通信网络来完成数据远程通信。也就是相应的GPRS无线猫或CDMA无线猫。
(4)单片机多机通信。采用总线型主从式结构,所谓主从式,即在数个单片机中,有一个是主机,其余的都是从机,从机要服从主机的调度、支配。
主机先发地址帧,然后再发数据帧。
13、单片机功能介绍
(1)空闲模式和掉电模式
空闲模式:当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态;
掉电模式:当单片机进入掉电模式时,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断继续工作。
正常工作电流>空闲模式电流>休眠模式电流
(2)看门狗
原理和工作过程:看门狗芯片和单片机的一个IO引脚相连,该IO引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平,这一程序语句时分散地放在单片机其他控制语句中间的,一旦
单片机由于干扰造成程序跑飞而陷入某一程序段进入死循环状态时,给看门狗引脚松电平的程序便不能被执行到。这时,看门狗芯片便给复位口发送一个信号对单片机进行复位。
STC89系列单片机有一个自带的看门狗定时器寄存器(WDT_CONTR)
(3)复位
STC单片机增加了相应的硬件功能,内部的ISP/IAP控制寄存器ISP_CONTR便可以实现此功能,用户只需要简单的控制ISP_CONTR特殊功能寄存器中的SWBS和SWRST两位就可以实现系统复位。
(4)内部扩展RAM应用
RAM是在程序运行中存放随机变量的数据空间,也就是局部变量的空间。51单片机默认的内部RAM只有128B,在用keil编写程序时,总程序所有变量占用的字节之和小于128B,
并且存储器模式为small模式;当程序中的总变量小于128B时,编译器会默认将变量值设定为0,一旦程序中的总变量超过128B时,必须对所有变量进行初始化,否则变量默认值将是不确定的。
存储器模式一共有三种,small、compat和large模式,各种模式下允许的ram空间不一样,分别为128B、256B和64KB,访问速度也不一样,从快到慢。定义方式分别为:
uchar a;uchar pdata a[100];uchar xdata a;
(5)扩展P4口应用
P4口的P4.2和P4.3引脚新增加了两个外部中断作为它们的第二功能。由扩展中断控制寄存器(XICON)和扩展中断优先级寄存器(IPH)两个寄存器设置此两个中断。
(6)内部E2PROM的应用
ISP是指在系统编程,也就是片子已经焊在板子上,不用取下,就可以简单而方便地对其进行编程;
IAP是指在应用编程,就是片子提供一系列的机制,当片子在运行程序时可以提供一种改变flash数据的方法,也就是程序自己可以往
程序存储器里写数据或修改程序。实际上单片机的ISP功能就是通过IAP技术来实现的。
14、Protell绘制电路图全过程
国内用的较多的是Protell 99,Protell DXP和Altium designer是Protell 99的升级版,某些企业还使用Power PCB。
如果你会单片机,但不会电路图,那终究是个笑话。
(1)绘制原理图;(2)绘制元件库;(3)绘制PCB封装;(4)错误检查及生成PCB;(5)摆放元件位置;(6)设置布线规则;
(7)布线;(8)检查结果;(9)敷铜;(10)送去加工