单片机外接电路剖析_第1页
单片机外接电路剖析_第2页
单片机外接电路剖析_第3页
单片机外接电路剖析_第4页
单片机外接电路剖析_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机外接电路一.各个外接电路原理:1.最小系统及二极管电路原理图:vccvcc1kvcc1104140p1.0Vcc62p1.1p0.03910423p1.2P0.13874p1.3P0.2371635P1.4P0.33613586P1.5P0.415vcc10k7P1.6P0.5344104210uf338P1.7P0.6vcc1499RSTP0.732310311.5k5P3.0EA1311P3.1ALE304Max12P3.2PSEN29104523212D8913P3.3P2.72814P3.4P2.62730pf2661115P3.5P2.516P3.6P2.4251047101k17P3.7P2.32418238930pf19XTAL2P2.222P2.120XTAL121P2.0GND图1最小系统及二极管电路原理图应用89C51(52)单片机设计并制作一个单片机最小系统,达到如下基本要求:1、具有上电复位和手动复位功能。2、使用单片机片内程序存储器。3、具有基本的人机交互接口。按键输入、 LED显示功能。4、具有一定的可扩展性,单片机 I/O口可方便地与其他电路板连接。(1)复位及振荡电路图2复位及振荡电路图复位电路由按键复位和上电复位两部分组成。AT89S系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为8.2K和10uF。按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。MCS51LITE使用22.1184MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在 15pF至50pF之间。(2) 蜂鸣器电路图3蜂鸣器电路图蜂鸣器使用PNP三极管进行驱动控制,板上使用的是直流蜂鸣器,当 P3.7输出低电平时,蜂鸣器鸣叫。由于蜂鸣器为感性原件,可以在两端并接一个二极管来起到泄放作用。(3)RS232串口电路图4RS232串口电路图RS232串口电路使用MAX232CPE作为电平转换芯片,并通过套件提供的串口电缆连接到计算机背后的COM口(9针D型口),用于MCS51LITE与上位机通信以及和其他串口设备的数据交互。 需要注意的是这里在电路板上对 TxD和RxD进行了交叉,对应使用的 DB9接头类型为Female,使用的线缆为延长线,也叫做直连线,线缆一头为Female一头为Male。如果电路板上不将RxD和TxD交叉,就应该采用Male类型的接头和交叉线缆(两头均为Female)连接。2.1602液晶显示器电路原理图:VCC160210KRS10kLCDEN1p1.0Vcc402p1.1p0.039D03p1.2P0.138D14p1.3P0.237D25P1.4P0.336D36P1.5P0.435D47P1.6P0.534D58P1.7P0.633D69RSTP0.732D71031P3.0EAVCC11P3.1ALE301012P3.2PSEN2913P3.3P2.7281427P3.4P2.61526P3.5P2.51625P3.6P2.41724P3.7P2.31823XTAL2P2.21922XTAL1P2.12021GNDP2.0图51602液晶显示器电路原理图3.数码管电路原理图:1p1.0Vcc402p1.1p0.0391k3p1.2P0.1384p1.3P0.2375P1.4P0.336855085506P1.5P0.4357P1.6P0.534AFBAFB8P1.7P0.6339RSTP0.732共阳10P3.0EA3111P3.1ALE3012P3.2PSEN291kEDHCGEDHCG13P3.3P2.7281427P3.4P2.61526P3.5P2.51625P3.6P2.41724P3.7P2.31823XTAL2P2.21922XTAL1P2.12021GNDP2.0图6数码管电路原理图八段数码显示管MCS51LITE包含两个共阳8段数码管显示器,使用动态扫描方式驱动。共阳极作为位选有PNP三极管驱动连接在P0口,八位段选在通过1kΩ限流后连接在单片机的P2口上。由于数码管是共阳的,所以当驱动信号为0时对应的数码管才点亮。矩阵按键原理电路图:1p1.0Vcc402p1.1p0.039P3.03p1.2P0.1384p1.3P0.2375P1.4P0.3366P1.5P0.4357P1.6P0.534P3.18P1.7P0.6339RSTP0.73210P3.0EA3111P3.1ALE30CSDA12P3.2PSEN2913P3.3P2.7281427P3.4P2.61526P3.5P2.51625INT1P3.6P2.41724P3.7P2.3RD1823WRXTAL2P2.2RS1922XTAL1P2.12021GNDP2.0图7矩阵按键原理电路图矩阵键盘原理:矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到 +5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。 这一点是识别矩阵按键是否被按下的关键。 然而,矩阵键盘中的行线、列线和多个键相连, 各按键按下与否均影响该键所在行线和列线的电平, 各按键间将相互影响,因此, 必须将行线、列线信号配合起来作适当处理, 才能确定闭合键的位置。扫描法:按键按下时,与此键相连的行线与列线导通, 行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平, 那么,按键按下与否不会引起行线电平的变化,因此, 必须使所有列线处在低电平, 只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有键按下。 8号键按下时,第 2行一定为低电平,然而,第2行为低电平时,能否肯定是 8号键按下呢?回答是否定的, 因为9、10、11号键按下同样使第 2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。先读取键盘的状态,得到按键的特征编码。先从P1口的高四位输出低电平,低四位输出高电平,从 P1口的低四位读取键盘状态。再从P1口的低四位输出低电平, 高四位输出高电平, 从P1口的高四位读取键盘状态。 将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到 16个键的特征编码。举例说明如何得到按键的特征编码:假设“1”键被按下,找其按键的特征编码。从P1口的高四位输出低电平,即 P1.4-P1.7为输出口。低四位输出高电平,即 P1.0-P1.3为输入口。读 P1口的低四位状态为“ 1101”,其值为“0DH”。再从P1口的高四位输出高电平,即 P1.4-P1.7为输入口。低四位输出低电平,即 P10-P13为输出口,读 P1口的高四位状态为“ 1110”,其值为“E0H”。将两次读出的 P0口状态值进行逻辑或运算就得到其按键的特征编码为“ EDH”。用同样的方法可以得到其它 15个按键的特征编码。二.检测程序:1.数码管静态显示“减一循环”#include<reg52.h>#defineuintunsignedintvoiddelay(uintz){uinti,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}voidmain(){P2=0x07;P0=0xfe;while(1){P0=P0-1;delay(500);}},2.1602液晶显示“Everyoneisnumberone!”#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitlcdrs=P3^5;sbitlcden=P3^4;ucharnum;uchartable1[]="Everyoneis";uchartable2[]="numberone!";voiddelay(uintx){uinta,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}voidwrite_com(ucharcom){P0=com;lcdrs=0;lcden=0;delay(50);lcden=1;delay(50);lcden=0;}voidwrite_date(uchardate){P0=date;lcdrs=1;lcden=0;delay(100);lcden=1;delay(100);lcden=0;}voidinit(){dula=0;wela=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}voidmain(){init();for(num=0;num<11;num++){write_date(table1[num]);delay(50);}write_com(0x80+0x40);for(num=0;num<11;num++){write_date(table2[num]);delay(100);}while(1);}3.矩阵按键显示“ 0123456789ABCDEF”#include<reg52.h>unsignedcharj,k,temp,key;voiddelay(unsignedchari){for(j=i;j>0;j--)for(k=110;k>0;k--);}unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddisplay(unsignedcharnum){P2=table[num];P0=0xc0;}voidmain(){dula=0;wela=0;while(1){P3=0xfe;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xee:key=0;break;case0xde:key=1;break;case0xbe:key=2;break;case0x7e:key=3;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}display(key);P1=0xfe;}}P3=0xfd;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xed:key=4;break;case0xdd:key=5;break;case0xbd:key=6;break;case0x7d:key=7;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}display(key);P1=0xfc;}}P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xeb:key=8;break;case0xdb:key=9;break;case0xbb:key=10;break;case0x7b:key=11;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论