,单片微机原理及应用,教学课件第七讲:
单片机应用系统设计本讲重点:
正确认识系统设计的基本原则,掌握简单任务分析的一般流程,尝试自己制定方案;
对所举应用实例能消化理解,对部分模块能独立编程实现,
,单片微机原理及应用,教学课件第七章 单片机应用系统设计与开发系统设计应当考虑的主要技术性能速度 精度 功耗 可靠性 驱动能力基本设计原则应当考虑:
功能需求,应用需求,开发条件,市场情况,可靠性需求,成本需求,尽量以软代硬 ……
,单片微机原理及应用,教学课件基本设计原则
① 从系统 功能需求 出发设计功能模块显示,键盘,数据采集,检测,通信,控制,
驱动,供电方式 ……
② 从系统 应用需求 定位元器件资源分配定时 /计数器,中断,串口,I/O引脚,A/D,
D/A,信号调理,晶振频率 ……
③ 从 开发条件与市场情况 出发选择元器件仿真机,编程器,元器件,熟悉程度,编程语言 ……
④ 从系统 可靠性需求 确定系统设计工艺去耦,光隔,屏蔽,印制板,低功耗,散热,
传输距离 /速度,节电方式,掉电保护,软件措施 ……
,单片微机原理及应用,教学课件基本设计原则(续)
⑤ 从系统 成本需求 选择合理电路方案元器件,外壳,面板,键盘,显示,单 /双面
PCB,驱动 ……
⑥ 功能满足系统要求的前提下 尽量以软代硬逻辑功能,滤波功能,译码功能,动态显示,
模拟 I2C,SPI总线,软 ADC,加密 ……
,单片微机原理及应用,教学课件
220V
J
P1.0
P1.1
P1,2
P1.3
P1.4
P1.5
P1.6
P1.7
语音芯片语音输出话音输入振铃检测
DTMF
译码
8870
模拟摘机电话机
P0.0
P0.3
P2,0
P2.1
P2.2
P2.3
P2.4
远距离电话遥控装置 ( 与书上 P.235类似的一种应用)
89C51
晶振复位电路电话外线单片机应用系统设计与开发实例 1:
,单片微机原理及应用,教学课件
1.座机在无人值守情况下首先要通过光耦检测铃流,确定有电话打进。
2.振铃响过设定次数后,由三极管组成的模拟摘机电路执行摘话筒动作,给座机及相应电路供电。
3.通过 APR9600语音电路发出,请输入密码,提示后,根据拨叫方输入的密码经 MT8870译码后进行身份判识。身份不符则执行挂机操作。
4.相符则继续提示对方输入控制设备号(此处为 0~ 7,可外连 8个电器开关)和开 /关动作类别(开= 1,关= 0),
依此对相应执行电路输出控制信号。然后再提示对方输入下个要控制的设备号和开 /关动作类别 ……
5.直至对方发出操作结束信号(#),就执行挂机操作。
任务分析:
,单片微机原理及应用,教学课件
1.振铃检测电路 是以光耦 817为主构成的。当有振铃信号时,
铃流进入 817输入端 1,2脚,4脚输出脉冲方波信号,送至
AT89C51的 /INT1端,由于语音信号和双音多频信号电压远低于振铃信号电压,该电路不会引起误判。
2.模拟摘机电路 是由两个高压三极管组成,AT89C51输出高低电平,使三极管导通或截止,从而改变挂接在电话线上的阻抗来模拟摘机和挂机。
3.双音多频解码电路 由电桥 B1、电容 C1、电阻 R1及双音多频识别集成电路 MT8870等组成。电桥起极性校正作用,信号经 RC送至 MT8870解码,最后输出相应的 8421码,供单片机判识。
4.语音芯片 SP+,SP-端受控将预先录好的语音提示送至
LM386进行放大,再经变压器 T1耦合至电话回路,用户可从电话里听到系统控制语音芯片发出的提示,进行相应操作。
功能电路模块:
,单片微机原理及应用,教学课件双音多频 DTMF——
Double Tone Multi
Frequency:
① 每一个拨号音是由两个正弦波单音混合而成。
4个高音和 4个低音,有 16
种组合。
② 在电信信令中:
,*”,#” 仅作为开放电信新型业务中作特殊识别码。而,A”“B”“C”
“D” 作为备用码。
,单片微机原理及应用,教学课件双音多频解码芯片 MT8870D
特性:
完全的 DTMF接收 /解码器低功耗内建增益设置放大器可调警卫时间提供掉电模式和禁止模式与 MT8870C/MT8870C-1兼容
MT8870D片内集成了裂带滤波器和数字解码功能,滤波器针对高音频和低音频采用了开关电容式滤波技术;译码器通过数字计数器对全部 16个 DTMF音频组合进行探测和译码。片上的差分输入放大器、时钟振荡电路和带锁存地三态接口仅需要极少的外接元件。
,单片微机原理及应用,教学课件语音芯片 APR9600
APR9600语音录放芯片,是继美国 ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放 32-60秒,串行控制时可分 256段以上,并行控制时最大可分 8段。与 ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。
,单片微机原理及应用,教学课件
APR9600的全功能应用电路图
,单片微机原理及应用,教学课件单片机应用系统设计与开发实例 2:
电话锁 +IP电话号码自动拨号器任务分析:
1,能限拨用户自己设定的电话号码能设定和清除限拨号码(可存 40个号码)
可开锁和上锁(启动限拨)
能设置和修改密码忘记密码时可恢复默认密码
2,能快速拨出事先存入的 IP卡号
3,无须另外为其供电,有“窃电”功能
,单片微机原理及应用,教学课件
IP电话自动拨号 &电话号码限拨器电路设计
,单片微机原理及应用,教学课件
RST VCC
(RxD)P3.0 P1.7
(TxD)P3.1 P1.6
XTAL2 P1.5
(T0)P3.4 P1.1(Ain1)
GND P3.7
XTAL1 P1.4
(INT0)P3.2 P1.3
(INT1)P3.3 P1.2
(T1)P3.5 P1.0(Ain0)
20脚 DIP封装主控单片机 AT89C2051,20引脚,片内 2KB FlashROM
,单片微机原理及应用,教学课件
MT8880
+Vcc
Mitel公司的 DTMF编码 /解码芯片,MT8880
① 固定接线的引脚有,IN+,IN-,GS,Vref,Vss,VDD,
St/GT,Est;
② RS0:寄存器选择控制端;
2,=1表示 (由音频转变成 )数据准备好
IRQ/CP:数据准备好时可向外部发出中断申请信号
TONE:DTMF音频输出端
IN-:DTMF音频输入端
OSC1,OSC2:接晶振端
R/W:读 /写控制端数据总线
,单片微机原理及应用,教学课件
24CXX系列 E2PROM
—— 2-线结构的串行 CMOS E2PROM
,单片微机原理及应用,教学课件
A0 VCC
A1 WP
A2 SCL
GND SDA
24C0224C02:
串行 I2C总线( SDA,SCL)
256字节 E2PROM
A2,A1,A0可寻址 8片并联工作具有写保护功能( WP高有效)
SDA
SCL
START BIT STOP BIT
,单片微机原理及应用,教学课件
void START() /* 由 SDA,SCL发起始信号 */
{SCL=1; SDA=1; DELAY(1); /* 在 SCL为,1” 的情况下 */
SDA=0; DELAY(1); /* 令 SDA产生 负跳变 */
SCL=0;
}
void STOP() /* 由 SDA,SCL发结束信号 */
{SCL=1; SDA=0; DELAY(1); /* 在 SCL为,1” 的情况下 */
SDA=1; DELAY(50); /* 令 SDA产生 正跳变 */
SCL=0 ;
}
,单片微机原理及应用,教学课件约 100?S 的整数倍的 延时子程序
void DELAY(unsigned int value)
{value=value*2;
while (value!=0) value--;
}
,单片微机原理及应用,教学课件
void WByte(char cw) /* 写一个字节进 24C02 */
{ char i; /* 变量 cw放着待写进 24C02的数据 */
for(i=0; i<8; i++)
{ if(( cw&0x80)!=0) SDA=1;/*写一个,bit” 进
24C02*/
else SDA=0;
cw=cw<<1; DELAY(1); /* 将 cw左移一次 */
SCL=1; DELAY(1); /* SCL端送出一个时钟下跳沿 */
SCL=0; }
DELAY(1); /* SDA端送出一个字节后延时 10uS */
SCL=1; DELAY(1); /* 再发送 一个时钟下跳沿 */
SCL=0; DELAY(1);
}
,单片微机原理及应用,教学课件
char RByte() /* 从 24C02读一个字节进 MCU */
{ char r,i; /* 变量 r 存放读进的字节 */
for(i=0; i<8; i++) /* 读 8个位 进单片机 */
{ r = r << 1; /* 变量 r 左移一次 */
if(SDA==1) r= r|0x01; /*若 SDA端 =1则 r最低位 =1*/
else r = r & 0xfe; /* 若 SDA端 =0则 r最低位 =0 */
SCL=1; DELAY(1); /* 读进一个位后 SCL发下跳沿 */
SCL=0; DELAY(1);
}
return r; /* 返回 r 的值 */
}
,单片微机原理及应用,教学课件
/* 写 6个字节进 24C02的 address到 address+5单元中 */
void WT2402(char address)
{ char i;
for(i=0; i<6; i++)
{ START(); /* 发送 起始信号 */
WByte(0xA0); /* 写入 写地址的标志 0xA0 */
WByte(address+i); /* 写地址 */
WByte(WData[i]); /* 将数据写入上述地址中 */
STOP(); /* 发送 结束信号 */
}
}
,单片微机原理及应用,教学课件
void RD2402(char addr) /*从 24C02的 addr地址读 6个字节 */
{ char i;
for(i=0; i<6; i++)
{ START(); /* 发送 起始信号 */
WByte(0xA0); /* 写入 写地址的标志 0xA0 */
WByte(addr+i); /* 写 地址 */
START(); /* 发送 起始信号 */
WByte(0xA1); /* 写入 读数据的标志 0xA1 */
RData[i]=RByte(); /* 读出一个字节数据 */
STOP(); /* 发送 结束信号 */
}
}
,单片微机原理及应用,教学课件单片机控制步进电机单片机的 P1口直接按时序(相位)输出控制信号到功率电路,再驱动步进电机。
单片机应用系统设计与开发实例 3:
,单片微机原理及应用,教学课件步进电机工作原理三相单 3拍,A? B? C? A? B? C……
三相双 3拍,AB? BC? CA? AB? BC……
三相单、双 6拍,A?AB?B?BC?C?CA?A……
四相单 4拍,A? B? C? D? A? B……
四相双 4拍,AB? BC? CD? DA? AB……
各相绕组顺序轮流通电,令转子与定子带槽的小磁机极依次对齐,从而受控旋转。
,单片微机原理及应用,教学课件
A
A’
BB’
C
C’
定子定子转子
A C’B’
步进电机结构:
A’B’C’三点共地定子磁极端面开槽转子园柱面也开槽转子
,单片微机原理及应用,教学课件四相双 4拍:
AB? BC? CD? DA? AB? BC? CD? DA ……
(P1.0) A
C (P1.2)
(P1.1)
(P1.3)
P1.3
P1.2
P1.1
P1.0
B
D
03 06 0C 09 03
06……
步进电机工作原理
,单片微机原理及应用,教学课件步进电机工作原理四相双 4拍,AB? BC? CD? DA? AB……
P1.3 P1.2 P1.1 P1.0
03H
06H
0CH
09H
硬件实验 16
(P1.0) A
C (P1.2)
(P1.1)
(P1.3)B
D
,单片微机原理及应用,教学课件主程序流程图:
,单片微机原理及应用,教学课件
SUNSZ,MOV P1,#03H FANSZ,MOV P1,#03H
LCALL DELAY LCALL DELAY
MOV P1,#06H MOV P1,#06H
LCALL DELAY LCALL DELAY
MOV P1,#0CH MOV P1,#0CH
LCALL DELAY LCALL DELAY
MOV P1,#09H MOV P1,#09H
LCALL DELAY LCALL DELAY
SJMP SUNSZ SJMP FANSZ
顺时针 转动模块:依次对 P1口送 03H,06H,0CH,09H
反时针 转动模块:依次对 P1口送 09H,0CH,06H,03H
转动的快慢决定于延时模块 DELAY延时长短。
,单片微机原理及应用,教学课件
&
&
1
1
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
PR2,MOV C,P1.1
ORL C,P1.2 ;得到 A
ANL C,P1.0
CPL C ;得到 B
MOV F0,C ;暂存 B
MOV C,P1.3
ANL C,/P1.4 ;得到 D
ORL C,F0 ;得到结果
MOV P1.5,C ;输出
RET
A
C
B
D
书上例题,以软件实现电梯中的某逻辑电路功能单片机应用系统设计与开发实例 4:
,单片微机原理及应用,教学课件
OVER !
单片机应用系统设计本讲重点:
正确认识系统设计的基本原则,掌握简单任务分析的一般流程,尝试自己制定方案;
对所举应用实例能消化理解,对部分模块能独立编程实现,
,单片微机原理及应用,教学课件第七章 单片机应用系统设计与开发系统设计应当考虑的主要技术性能速度 精度 功耗 可靠性 驱动能力基本设计原则应当考虑:
功能需求,应用需求,开发条件,市场情况,可靠性需求,成本需求,尽量以软代硬 ……
,单片微机原理及应用,教学课件基本设计原则
① 从系统 功能需求 出发设计功能模块显示,键盘,数据采集,检测,通信,控制,
驱动,供电方式 ……
② 从系统 应用需求 定位元器件资源分配定时 /计数器,中断,串口,I/O引脚,A/D,
D/A,信号调理,晶振频率 ……
③ 从 开发条件与市场情况 出发选择元器件仿真机,编程器,元器件,熟悉程度,编程语言 ……
④ 从系统 可靠性需求 确定系统设计工艺去耦,光隔,屏蔽,印制板,低功耗,散热,
传输距离 /速度,节电方式,掉电保护,软件措施 ……
,单片微机原理及应用,教学课件基本设计原则(续)
⑤ 从系统 成本需求 选择合理电路方案元器件,外壳,面板,键盘,显示,单 /双面
PCB,驱动 ……
⑥ 功能满足系统要求的前提下 尽量以软代硬逻辑功能,滤波功能,译码功能,动态显示,
模拟 I2C,SPI总线,软 ADC,加密 ……
,单片微机原理及应用,教学课件
220V
J
P1.0
P1.1
P1,2
P1.3
P1.4
P1.5
P1.6
P1.7
语音芯片语音输出话音输入振铃检测
DTMF
译码
8870
模拟摘机电话机
P0.0
P0.3
P2,0
P2.1
P2.2
P2.3
P2.4
远距离电话遥控装置 ( 与书上 P.235类似的一种应用)
89C51
晶振复位电路电话外线单片机应用系统设计与开发实例 1:
,单片微机原理及应用,教学课件
1.座机在无人值守情况下首先要通过光耦检测铃流,确定有电话打进。
2.振铃响过设定次数后,由三极管组成的模拟摘机电路执行摘话筒动作,给座机及相应电路供电。
3.通过 APR9600语音电路发出,请输入密码,提示后,根据拨叫方输入的密码经 MT8870译码后进行身份判识。身份不符则执行挂机操作。
4.相符则继续提示对方输入控制设备号(此处为 0~ 7,可外连 8个电器开关)和开 /关动作类别(开= 1,关= 0),
依此对相应执行电路输出控制信号。然后再提示对方输入下个要控制的设备号和开 /关动作类别 ……
5.直至对方发出操作结束信号(#),就执行挂机操作。
任务分析:
,单片微机原理及应用,教学课件
1.振铃检测电路 是以光耦 817为主构成的。当有振铃信号时,
铃流进入 817输入端 1,2脚,4脚输出脉冲方波信号,送至
AT89C51的 /INT1端,由于语音信号和双音多频信号电压远低于振铃信号电压,该电路不会引起误判。
2.模拟摘机电路 是由两个高压三极管组成,AT89C51输出高低电平,使三极管导通或截止,从而改变挂接在电话线上的阻抗来模拟摘机和挂机。
3.双音多频解码电路 由电桥 B1、电容 C1、电阻 R1及双音多频识别集成电路 MT8870等组成。电桥起极性校正作用,信号经 RC送至 MT8870解码,最后输出相应的 8421码,供单片机判识。
4.语音芯片 SP+,SP-端受控将预先录好的语音提示送至
LM386进行放大,再经变压器 T1耦合至电话回路,用户可从电话里听到系统控制语音芯片发出的提示,进行相应操作。
功能电路模块:
,单片微机原理及应用,教学课件双音多频 DTMF——
Double Tone Multi
Frequency:
① 每一个拨号音是由两个正弦波单音混合而成。
4个高音和 4个低音,有 16
种组合。
② 在电信信令中:
,*”,#” 仅作为开放电信新型业务中作特殊识别码。而,A”“B”“C”
“D” 作为备用码。
,单片微机原理及应用,教学课件双音多频解码芯片 MT8870D
特性:
完全的 DTMF接收 /解码器低功耗内建增益设置放大器可调警卫时间提供掉电模式和禁止模式与 MT8870C/MT8870C-1兼容
MT8870D片内集成了裂带滤波器和数字解码功能,滤波器针对高音频和低音频采用了开关电容式滤波技术;译码器通过数字计数器对全部 16个 DTMF音频组合进行探测和译码。片上的差分输入放大器、时钟振荡电路和带锁存地三态接口仅需要极少的外接元件。
,单片微机原理及应用,教学课件语音芯片 APR9600
APR9600语音录放芯片,是继美国 ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放 32-60秒,串行控制时可分 256段以上,并行控制时最大可分 8段。与 ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。
,单片微机原理及应用,教学课件
APR9600的全功能应用电路图
,单片微机原理及应用,教学课件单片机应用系统设计与开发实例 2:
电话锁 +IP电话号码自动拨号器任务分析:
1,能限拨用户自己设定的电话号码能设定和清除限拨号码(可存 40个号码)
可开锁和上锁(启动限拨)
能设置和修改密码忘记密码时可恢复默认密码
2,能快速拨出事先存入的 IP卡号
3,无须另外为其供电,有“窃电”功能
,单片微机原理及应用,教学课件
IP电话自动拨号 &电话号码限拨器电路设计
,单片微机原理及应用,教学课件
RST VCC
(RxD)P3.0 P1.7
(TxD)P3.1 P1.6
XTAL2 P1.5
(T0)P3.4 P1.1(Ain1)
GND P3.7
XTAL1 P1.4
(INT0)P3.2 P1.3
(INT1)P3.3 P1.2
(T1)P3.5 P1.0(Ain0)
20脚 DIP封装主控单片机 AT89C2051,20引脚,片内 2KB FlashROM
,单片微机原理及应用,教学课件
MT8880
+Vcc
Mitel公司的 DTMF编码 /解码芯片,MT8880
① 固定接线的引脚有,IN+,IN-,GS,Vref,Vss,VDD,
St/GT,Est;
② RS0:寄存器选择控制端;
2,=1表示 (由音频转变成 )数据准备好
IRQ/CP:数据准备好时可向外部发出中断申请信号
TONE:DTMF音频输出端
IN-:DTMF音频输入端
OSC1,OSC2:接晶振端
R/W:读 /写控制端数据总线
,单片微机原理及应用,教学课件
24CXX系列 E2PROM
—— 2-线结构的串行 CMOS E2PROM
,单片微机原理及应用,教学课件
A0 VCC
A1 WP
A2 SCL
GND SDA
24C0224C02:
串行 I2C总线( SDA,SCL)
256字节 E2PROM
A2,A1,A0可寻址 8片并联工作具有写保护功能( WP高有效)
SDA
SCL
START BIT STOP BIT
,单片微机原理及应用,教学课件
void START() /* 由 SDA,SCL发起始信号 */
{SCL=1; SDA=1; DELAY(1); /* 在 SCL为,1” 的情况下 */
SDA=0; DELAY(1); /* 令 SDA产生 负跳变 */
SCL=0;
}
void STOP() /* 由 SDA,SCL发结束信号 */
{SCL=1; SDA=0; DELAY(1); /* 在 SCL为,1” 的情况下 */
SDA=1; DELAY(50); /* 令 SDA产生 正跳变 */
SCL=0 ;
}
,单片微机原理及应用,教学课件约 100?S 的整数倍的 延时子程序
void DELAY(unsigned int value)
{value=value*2;
while (value!=0) value--;
}
,单片微机原理及应用,教学课件
void WByte(char cw) /* 写一个字节进 24C02 */
{ char i; /* 变量 cw放着待写进 24C02的数据 */
for(i=0; i<8; i++)
{ if(( cw&0x80)!=0) SDA=1;/*写一个,bit” 进
24C02*/
else SDA=0;
cw=cw<<1; DELAY(1); /* 将 cw左移一次 */
SCL=1; DELAY(1); /* SCL端送出一个时钟下跳沿 */
SCL=0; }
DELAY(1); /* SDA端送出一个字节后延时 10uS */
SCL=1; DELAY(1); /* 再发送 一个时钟下跳沿 */
SCL=0; DELAY(1);
}
,单片微机原理及应用,教学课件
char RByte() /* 从 24C02读一个字节进 MCU */
{ char r,i; /* 变量 r 存放读进的字节 */
for(i=0; i<8; i++) /* 读 8个位 进单片机 */
{ r = r << 1; /* 变量 r 左移一次 */
if(SDA==1) r= r|0x01; /*若 SDA端 =1则 r最低位 =1*/
else r = r & 0xfe; /* 若 SDA端 =0则 r最低位 =0 */
SCL=1; DELAY(1); /* 读进一个位后 SCL发下跳沿 */
SCL=0; DELAY(1);
}
return r; /* 返回 r 的值 */
}
,单片微机原理及应用,教学课件
/* 写 6个字节进 24C02的 address到 address+5单元中 */
void WT2402(char address)
{ char i;
for(i=0; i<6; i++)
{ START(); /* 发送 起始信号 */
WByte(0xA0); /* 写入 写地址的标志 0xA0 */
WByte(address+i); /* 写地址 */
WByte(WData[i]); /* 将数据写入上述地址中 */
STOP(); /* 发送 结束信号 */
}
}
,单片微机原理及应用,教学课件
void RD2402(char addr) /*从 24C02的 addr地址读 6个字节 */
{ char i;
for(i=0; i<6; i++)
{ START(); /* 发送 起始信号 */
WByte(0xA0); /* 写入 写地址的标志 0xA0 */
WByte(addr+i); /* 写 地址 */
START(); /* 发送 起始信号 */
WByte(0xA1); /* 写入 读数据的标志 0xA1 */
RData[i]=RByte(); /* 读出一个字节数据 */
STOP(); /* 发送 结束信号 */
}
}
,单片微机原理及应用,教学课件单片机控制步进电机单片机的 P1口直接按时序(相位)输出控制信号到功率电路,再驱动步进电机。
单片机应用系统设计与开发实例 3:
,单片微机原理及应用,教学课件步进电机工作原理三相单 3拍,A? B? C? A? B? C……
三相双 3拍,AB? BC? CA? AB? BC……
三相单、双 6拍,A?AB?B?BC?C?CA?A……
四相单 4拍,A? B? C? D? A? B……
四相双 4拍,AB? BC? CD? DA? AB……
各相绕组顺序轮流通电,令转子与定子带槽的小磁机极依次对齐,从而受控旋转。
,单片微机原理及应用,教学课件
A
A’
BB’
C
C’
定子定子转子
A C’B’
步进电机结构:
A’B’C’三点共地定子磁极端面开槽转子园柱面也开槽转子
,单片微机原理及应用,教学课件四相双 4拍:
AB? BC? CD? DA? AB? BC? CD? DA ……
(P1.0) A
C (P1.2)
(P1.1)
(P1.3)
P1.3
P1.2
P1.1
P1.0
B
D
03 06 0C 09 03
06……
步进电机工作原理
,单片微机原理及应用,教学课件步进电机工作原理四相双 4拍,AB? BC? CD? DA? AB……
P1.3 P1.2 P1.1 P1.0
03H
06H
0CH
09H
硬件实验 16
(P1.0) A
C (P1.2)
(P1.1)
(P1.3)B
D
,单片微机原理及应用,教学课件主程序流程图:
,单片微机原理及应用,教学课件
SUNSZ,MOV P1,#03H FANSZ,MOV P1,#03H
LCALL DELAY LCALL DELAY
MOV P1,#06H MOV P1,#06H
LCALL DELAY LCALL DELAY
MOV P1,#0CH MOV P1,#0CH
LCALL DELAY LCALL DELAY
MOV P1,#09H MOV P1,#09H
LCALL DELAY LCALL DELAY
SJMP SUNSZ SJMP FANSZ
顺时针 转动模块:依次对 P1口送 03H,06H,0CH,09H
反时针 转动模块:依次对 P1口送 09H,0CH,06H,03H
转动的快慢决定于延时模块 DELAY延时长短。
,单片微机原理及应用,教学课件
&
&
1
1
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
PR2,MOV C,P1.1
ORL C,P1.2 ;得到 A
ANL C,P1.0
CPL C ;得到 B
MOV F0,C ;暂存 B
MOV C,P1.3
ANL C,/P1.4 ;得到 D
ORL C,F0 ;得到结果
MOV P1.5,C ;输出
RET
A
C
B
D
书上例题,以软件实现电梯中的某逻辑电路功能单片机应用系统设计与开发实例 4:
,单片微机原理及应用,教学课件
OVER !