nullnull第七讲: 单片机应用系统
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
本讲重点:
正确认识系统设计的基本原则,掌握简单任
务分析的一般流程,尝试自己制定
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
;
对所举应用实例能消化理解,对部分模块能
独立编程实现.null第七章 单片机应用系统设计与开发系统设计应当考虑的主要技术性能
速度 精度 功耗 可靠性 驱动能力 基本设计原则应当考虑:
功能需求,应用需求,开发条件,市场
情况,可靠性需求,成本需求,尽量以
软代硬……null 基本设计原则
①从系统功能需求出发设计功能模块
显示,键盘,数据采集,检测,通信,控制,
驱动,供电方式……
②从系统应用需求定位元器件资源分配
定时/计数器,中断,串口,I/O引脚,A/D,
D/A,信号调理,晶振频率……
③从开发条件与市场情况出发选择元器件
仿真机,编程器,元器件,熟悉程度,编程
语言……
④从系统可靠性需求确定系统设计工艺
去耦,光隔,屏蔽,印制板,低功耗,散热,
传输距离/速度,节电方式,掉电保护,软件
措施
《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施
……null 基本设计原则(续)
⑤从系统成本需求选择合理电路方案
元器件,外壳,面板,键盘,显示,单/双面
PCB,驱动……
⑥功能满足系统要求的前提下尽量以软代硬
逻辑功能,滤波功能,译码功能,动态显示,
模拟I2C、SPI总线,软ADC,加密……null220VJP1.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:null1.座机在无人值守情况下首先要通过光耦检测铃流,确定有电话打进。
2.振铃响过设定次数后,由三极管组成的模拟摘机电路执行摘话筒动作,给座机及相应电路供电。
3.通过APR9600语音电路发出“请输入密码”提示后,根据拨叫方输入的密码经MT8870译码后进行身份判识。身份不符则执行挂机操作。
4.相符则继续提示对方输入控制设备号(此处为0~7,可外连8个电器开关)和开/关动作类别(开=1,关=0),依此对相应执行电路输出控制信号。然后再提示对方输入下个要控制的设备号和开/关动作类别……
5.直至对方发出操作结束信号(#),就执行挂机操作。任务分析:null1.振铃检测电路是以光耦817为主构成的。当有振铃信号时,铃流进入817输入端1、2脚,4脚输出脉冲方波信号,送至AT89C51的/INT1端,由于语音信号和双音多频信号电压远低于振铃信号电压,该电路不会引起误判。
2.模拟摘机电路是由两个高压三极管组成,AT89C51输出高低电平,使三极管导通或截止,从而改变挂接在电话线上的阻抗来模拟摘机和挂机。
3.双音多频解码电路由电桥B1、电容C1、电阻R1及双音多频识别集成电路MT8870等组成。电桥起极性校正作用,信号经RC送至MT8870解码,最后输出相应的8421码,供单片机判识。
4.语音芯片SP+,SP-端受控将预先录好的语音提示送至LM386进行放大,再经变压器T1耦合至电话回路,用户可从电话里听到系统控制语音芯片发出的提示,进行相应操作。 功能电路模块:null双音多频 DTMF—— Double Tone Multi Frequency:①每一个拨号音是由两 个正弦波单音混合而成。 4个高音和4个低音,有16种组合。②在电信信令中: “*”“#”仅作为开放电 信新型业务中作特殊识别 码。而“A”“B”“C” “D”作为备用码。 null双音多频解码芯片MT8870D特性:
完全的DTMF接收/解码器
低功耗
内建增益设置放大器
可调警卫时间
提供掉电模式和禁止模式
与MT8870C/MT8870C-1兼容 MT8870D片内集成了裂带滤波器和数字解码功能,滤波器针对高音频和低音频采用了开关电容式滤波技术;译码器通过数字计数器对全部16个DTMF音频组合进行探测和译码。片上的差分输入放大器、时钟振荡电路和带锁存地三态接口仅需要极少的外接元件。null语音芯片APR9600 APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。nullAPR9600的全功能应用电路图null单片机应用系统设计与开发实例2:电话锁+IP电话号码自动拨号器任务分析:
1、能限拨用户自己设定的电话号码
能设定和清除限拨号码(可存40个号码)
可开锁和上锁(启动限拨)
能设置和修改密码
忘记密码时可恢复默认密码
2、能快速拨出事先存入的IP卡号
3、无须另外为其供电,有“窃电”功能
nullIP电话自动拨号&电话号码限拨器电路设计nullRST VCC(RxD)P3.0 P1.7(TxD)P3.1 P1.6XTAL2 P1.5(T0)P3.4 P1.1(Ain1)GND P3.7XTAL1 P1.4(INT0)P3.2 P1.3(INT1)P3.3 P1.2(T1)P3.5 P1.0(Ain0)20脚DIP封装主控单片机AT89C2051:20引脚,片内2KB FlashROMnullMT8880+VccMitel公司的DTMF编码/解码芯片:MT8880① 固定接线的引脚有:IN+,IN-,GS,Vref, Vss,VDD,
St/GT,Est;
② RS0:寄存器选择控制端;
2: =1表示(由音频转变成)数据准备好
IRQ/CP:数据准备好时可向外部发出中断申请信号TONE:DTMF音频输出端IN-:DTMF音频输入端OSC1,OSC2:接晶振端R/W:读/写控制端数据总线null24CXX系列E2PROM
——2-线结构的串行CMOS E2PROMnullA0 VCCA1 WPA2 SCLGND SDA24C0224C02:
串行I2C总线(SDA,SCL)
256字节E2PROM
A2、A1、A0可寻址8片并联工作
具有写保护功能(WP高有效)SDASCLSTART BITSTOP BITnullvoid 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 ;
}null约 100S 的整数倍的延时子程序
void DELAY(unsigned int value)
{value=value*2;
while (value!=0) value--;
}nullvoid 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);
}nullchar 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 的值 */
}null/* 写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(); /* 发送结束信号 */
}
} nullvoid 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(); /* 发送结束信号 */
}
}null单片机控制步进电机
单片机的P1口直接按时序(相位)输出控制信号到功率电路,再驱动步进电机。单片机应用系统设计与开发实例3:null步进电机工作原理三相单3拍:A B C A B C……
三相双3拍:AB BC CA AB BC……
三相单、双6拍:AABBBCCCAA……
四相单4拍:A B C D A B……
四相双4拍:AB BC CD DA AB……各相绕组顺序轮流通电,令转子与定子带槽的小磁机极依次对齐,从而受控旋转。nullAA’BB’CC’定子定子转子AC’B’步进电机结构:A’B’C’三点共地定子磁极端面开槽转子园柱面也开槽转子null四相双4拍:
AB BC CD DA AB BC CD DA ……(P1.0) AC (P1.2)(P1.1)(P1.3)P1.3
P1.2
P1.1
P1.0 BD03 06 0C 09 03 06……步进电机工作原理null步进电机工作原理四相双4拍:AB BC CD DA AB…… P1.3 P1.2 P1.1 P1.003H
06H
0CH
09H硬件实验16(P1.0) AC (P1.2)(P1.1)(P1.3)BDnull主程序流程图:nullSUNSZ: 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延时长短。null&&11P1.0P1.1P1.2P1.3P1.4P1.5PR2: 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 ;输出
RETACBD书上例题:以软件实现电梯中的某逻辑电路功能单片机应用系统设计与开发实例4:nullOVER !