职业教育机电一体化专业教学资源库
大棚温湿度智能调控系统(单片机引脚)
1.课程案例基本信息 课程案例名称 课程案例编号 关键词 对应知识点 2.课程案例 多功能引脚
STC12C5410AD单片机设有P1、P2、P3(除去P3缺少P3.6外,其余都由Px.0-Px.7组成,共23个引脚)三组通用I/O口。除却作为普通I/O口使用外,其中的复用功能包括:串口输入输出、外部中断口、定时器/计数器、A/D转换口、PWM输出口。如图1所示。
STC12C5410AD引脚资源使用
本设计充分使用了STC12C5410AD单片机的引脚资源,没有造成资源的浪费。用最少的成本完成了相同的工作。具体的引脚资源使用如图2所示。
寄存器使用简介
单片机的使用,其实归根结底就是对单片机内部的寄存器进行操控。使用好寄存器才能充分利用单片机的资源,才能发挥单片机的作用。本设计使用了TMOD(如表3-1-1)、IE(如表3-1-2)、IP(如表3-1-3)、TCON(如表3-1-4)、TH0、TL0、TH1、TL1寄存器。 位 序 位符号 定时器
GATE:门控位
GATE=0,启动不受INTO或INT1控制; GATE=1,启动受INTO或INT1控制。
C/T:外部计数器/定时器方式选择位 C/T=0,定时方式; C/T=1,计数方式。
M1/M0:工作模式选择位(有四种工作模式) M1=0,M0=0,模式0 13位定时/计数器;
大棚温湿度智能调控系统 050171 大棚温湿度 单片机应用 智能调控系统 单片机引脚 B7 GATE B6 C/T T1 表1 定时/计数控制寄存器TMOD B5 B4 B3 B2 B1 M1 M0 GATE C/T M1 T0 B0 M0 职业教育机电一体化专业教学资源库
M1=0,M0=1,模式1 16位定时/计数器;
M1=1,M0=0,模式2 8位定时/计数器(自动重装初值); M1=1,M0=1,模式3 T0为8位定时/计数器,T1停止工作。
表2 中断允许寄存器IE 位 序 B7 B6 B5 B4 B3 B2 位符号 EA EPCALVD EADCSPI ES ET1 EX1 EA:中断允许总控位 EA=0,禁止所有中断请求;
EA=1,允许中断请求。
EPCA_LVD:PCA模块中断和低压检测中断允许位 EPCA_LVD=0,禁止PCA模块和低压检测中断; EPCA_LVD=1,允许PCA模块和低压检测中断。 EPCA_SPI:A/D转换中断和SPI中断允许位 EPCA_SPI=0,禁止A/D转换中断和SPI中断; EPCA_SPI=1,允许A/D转换中断和SPI中断。 ES:串行中断允许位 ES=0,禁止串行中断; ES=1,允许串行中断。
ET1:定时/计数器1溢出中断允许位 ET1=0,禁止定时/计数器1溢出中断; ET1=1,允许定时/计数器1溢出中断。
EX1:外部中断1中断允许位 EX1=0,禁止外部中断1中断; EX1=1,允许外部中断1中断。
ET0:定时/计数器0溢出中断允许位 ET1=0,禁止定时/计数器0溢出中断; ET1=1,允许定时/计数器0溢出中断。
EX0:外部中断0中断允许位 EX1=0,禁止外部中断0中断;
EX1=1,允许外部中断0中断。
表3 中断优先寄存器IP 位 序 B7 B6 B5 B4 B3 位符号 -- PPCALVD PADCSPI PS PT1
传统的8051单片机只拥有两级中断优先级,即高级和低级。而STC12C5410AD单片
2
B1 ET0 B0 EX0 B2 PX1 B1 PT0 B0 PX0 职业教育机电一体化专业教学资源库
机多了一个IPH寄存器,可以设置四级中断优先级。本设计只用到IP寄存器,与传统8051单片机一样,只能设置两级中断优先级。
在同一优先级的中断中,如果有一个中断程序正在执行,不会响应另一个中断申请。只有中断优先级为高级的中断申请能够打断中断优先级为低级的中断。这样能够实现中断的嵌套。
位符号等于1时为高级中断优先级,为0时为低级中断优先级。 位 序 位符号 B7 TF1 B6 TR1 表4 中断控制寄存器TCON B5 B4 B3 B2 TF0 TR0 IE1 IT1 B1 IE0 B0 IT0 TF1、TF0:T1、T0溢出中断标志
TR1、TR0:T1、T0启动位
T1启动计数(TR1=1)后,计满溢出由硬件置位TF1=1,向CPU请求中断,次标志一直保持到CPU响应中断后,才由硬件自动清0。也可以程序查询该标志,并由软件清0。同样的T0的使用方式与T1是相同的。
IE1、IE0:外部中断INT1、INT0中断标志位 当该标志位为1时,外部向CPU申请中断。 IT1、IT0:外部中断INT1、INT0触发方式控制位
当该标志位=0时,为电平触发方式,=1时为下降沿触发方式。 TH1为定时/计数器T1的内部计数模块的高八位; TL1为定时/计数器T1的内部计数模块的低八位。 TH0为定时/计数器T0的内部计数模块的高八位; TL0为定时/计数器T0的内部计数模块的低八位。
图1 STC12C5410AD引脚图
3