单片机外接电路剖析.docx
- 文档编号:28335410
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:15
- 大小:96.02KB
单片机外接电路剖析.docx
《单片机外接电路剖析.docx》由会员分享,可在线阅读,更多相关《单片机外接电路剖析.docx(15页珍藏版)》请在冰豆网上搜索。
单片机外接电路剖析
单片机外接电路
一.各个外接电路原理:
1.最小系统及二极管电路原理图:
图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液晶显示器电路原理图:
图51602液晶显示器电路原理图
3.数码管电路原理图:
图6数码管电路原理图
八段数码显示管
MCS51LITE包含两个共阳8段数码管显示器,使用动态扫描方式驱动。
共阳极作为位选有PNP三极管驱动连接在P0口,八位段选在通过1kΩ限流后连接在单片机的P2口上。
由于数码管是共阳的,所以当驱动信号为0时对应的数码管才点亮。
4矩阵按键原理电路图:
图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
#defineuintunsignedint
voiddelay(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
#defineucharunsignedchar
#defineuintunsignedint
sbitlcdrs=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
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;
}
display(key);
P1=0xf8;
}
}
P3=0xf7;
temp=P3;
temp=temp&0xf0;
if(temp!
=0xf0)
{
delay(10);
if(temp!
=0xf0)
{
temp=P3;
switch(temp)
{
case0xe7:
key=12;
break;
case0xd7:
key=13;
break;
case0xb7:
key=14;
break;
case0x77:
key=15;
break;
}
while(temp!
=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
display(key);
P1=0xf0;
}
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 外接 电路 剖析