单片机原理简介
扫描二维码
随时随地手机看文章
随着大规模集成电路的出现和发展,将计算机的cpu 、ram 、 rom 、定时/数器和多种i/o接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。
一、单片机的特点:
1 、具有优异的性能价格比;
2 、集成度高、体积小、可靠性高;
3 、控制功能强;
4 、低电压、低功耗 。
二、单片机的应用:
1 、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
2 、在机电一体化中的应用:机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。
3 、在实时过程控制中的应用:用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
4 、在人类生活中的应用:目前国外各种家用电器已普通采用单片机代替传统的控制电路。
5 、在其它方面的应用:单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车及通信、计算机外部设备、模糊控制等各领域中。
三、单片机的基本组成:
它由 cpu 、存储器(包括 ram 和 rom )、 i/o 接口、定时 / 计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。
输入 / 输出引脚 p0 、 p1 、 p2 、 p3 的功能 :p0.0~p0 。 7 : p0 口是一个 8 位漏极开路型双向 i/o 端口。在访问片外存储器时,它分时作低 8 位地址和 8 位双向数据总线用。在eprom 编程时,由 p0 输入指令字节,而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。 p0 能以吸收电流的方式驱动8个lsttl 负载。
p1. 0 ~p1. 7 ( 1~8 脚): p1 是一上带内部上拉电阻的 8 位双向 i/o 口。在 eprom 编程和验证程序时,由它输入低 8 位地址。 p1 能驱动 4 个 lsttl 负载。
在 8032/8052 中, p1. 0 还相当于专用功能端 t2 ,即定时器的计数触发输入端; p1. 1 还相当于专用功能端t2ex ,即定时器 t2 的外部控制端。p2.0~p2.7 ( 21~28 脚): p2 也是一上带内部上拉电阻的 8 位双向 i/o 口。在访问外部存储器时,由它输出高 8 位地址。在对 eprom 编程和程序验证时,由它输入高 8 位地址。 p2 可以驱动 4 个 lsttl 负载。p3. 0 ~p3. 7 ( 10~17 脚): p3 也是一上带内部上拉电阻的双向 i/o 口。在 mcs-51 中,这 8 个引脚还用于专门的第二功能。 p3 能驱动 4 个 lsttl 负载。
p3. 0 rxd (串行口输入)
p3. 1 txd (串行口输出)
p3. 2 int0 (外部中断 0 输入)
p3. 3 int1 (外部中断 1 输入)
p3. 4 t0 (定时器 0 的外部输入)
p3. 5 t1 (定时器 1 的外部输入)
p3. 6 wr (片外数据存储器写选通)
p3. 7 rd (片外数据存储器读选通)
四、mcs-51 的寻址方式:
1 、立即寻址 如: mov a , #40h
2 、直接寻址 如: mov a , 3ah
3 、寄存器寻址 如: mov a , rn
4 、寄存器间接寻址 如: mov a , @rn
5 、基址加变址寻址 如: movc a , @a+dptr
6 、相对寻址 如: sjmp 08h
7 、位寻址 mov 20h , c
五、指令:
mov : 片内 ram 传送
movx : 片外 ram 传送
movc : rom 传送
xch : 交换(和 a 交换)
swap : a 内半字节交换
add :不带进位加
addc :带进位加
subb :带进位减
inc :加 1
dec :减 1
mul :乘法
div :除法
daa :调整
六、计数初值的计算
定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为 m ,各操作模式下的 m 值为:
模式 0 : m=2 13 =8192
模式 1 : m=2 16 =65536
模式 2 : m=2 8 =256
模式 3 : m=256 ,定时器 t0 分成 2 个独立的 8 位计数器,所以 th0 、 tl0 的 m 均为 256 。
因为 mcs-51 的两个定时器均为加 1 计数器,当初到最大值( 00h 或 0000h )时产生溢出,将 tf 位置 1 ,可发出溢出中断,因此计数器初值 x 的计算式为: x=m- 计数值式中的 m 由操作模式确定,不同的操作模式计数器的长不相同,故m值也不相同。而式中的计数值与定时器的工作方式有关。
1 、计数工作方式时
计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: x=m- 计数值
例如:某工序要求对外部脉冲信号计 100 次, x=m-100
2 、定时工作方式时
定时工作方式时,因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为 f cont =f osc × 1/12 、计数周期 t=1/f cont =12/f osc 定时工作方式的计数初值 x 等于:
x=m- 计数值 =m-t/t=m- ( f osc × t ) /12
式中: f osc 为振荡器的振荡频率, t 为要求定时的时间。
定时器有两种工作方式 :即定时和计数工作方式。由 tmod 的 d6 位和 d2 位选择,其中 d6 位选择 t1 的工作方式, d2 位选择 t0 的工作方式。 =0 工作在定时方式, =1 工作在计数方式。并有四种操作模式:
1 、模式 0 : 13 位计数器, tli 只用低 5 位。
2 、模式 1 : 16 位计数器。
3 、模式 2 : 8 位自动重装计数器, thi 的值在计数中不变, tli 溢出时, thi 中的值自动装入 tli 中。
4 、模式 3 : t0 分成 2 个独立的 8 位计数器, t1 停止计数。
mcs-51 有 5 个中断源,可分为 2 个中断优先级,即高优先级和低优先级,中断自然优先级:
外部中断 0 ;定时器 0 中断; 外部中断 1 ;定时器 1 中断 ;
串行口中断 ;定时器 2 中断
( 1 )同级或高优先级的中断正在进行中;
( 2 )现在的机器周期还不是执行指令的最后一上机器周期,即正在执行的指令还没完成前不响应任何中断;
( 3 )正在执行的是中断返回指令 ret1 或是访问专用寄存器 ie 或 ip 的指令,换而言之,在 reti 或者读写 ie 或 ip 之后,不会马上响应中断请求,至少要在执行其它一要指令之扣才会响应。
(一)中断响应条件
cpu 响应中断的条件有:
( 1 )有中断源发出中断请求;
( 2 )中断总允许位 ea=1 ,即 cpu 开中断;
( 3 )申请中断的中断源的中断允许位为 1 ,即没有被屏蔽。
七、串行口工作方式及帧格式
mcs-51 单片机串行口可以通过软件设置四种工作方式:
方式 0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。在这种方式下,数据从 rxd 端串行输出或输入,同步信号从 txd 端输出,波特率固定不变,为振荡率的 1/12 。该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。
方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。第 9 个数据即 d8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 scon 中的 sm2 位的配合,可使 mcs-51 单片机串行口适用于多机通信。方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 pcon 的最高位选择。
方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的小组特率是可变的。而帧格式与方式 2- 样为 11 位一帧。所以方式 3 也适合于多机通信。