Proteus实验报告Word格式.docx
- 文档编号:14980173
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:28
- 大小:2.39MB
Proteus实验报告Word格式.docx
《Proteus实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《Proteus实验报告Word格式.docx(28页珍藏版)》请在冰豆网上搜索。
LED0、LED2、LED4、LED6亮1s熄灭,LED1、LED3、LED5、LED7亮1s熄灭,再LED0、LED2、LED4、LED6亮1s熄灭……循环3次;
LED0~LED3亮1s熄灭,LED4~LED7亮1s熄灭,循环2次;
LED2、LED3、LED6、LED7亮1s熄灭,LED0、LED1、LED4、LED5亮1s熄灭,循环3次,然后再从循环。
二、实验仪器
单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、发光二级管LED-YELLOW、发光二级管LED-RED、发光二级管LED-BULE、按钮BUTTON。
三、实验流程图
四、实验原理
电路图:
程序:
#include"
reg51.h"
#defineuintunsignedint
#defineucharunsignedchar
consttab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff,
0xf0,0x0f,0xf0,0x0f,0xff,
0x33,0xcc,0x33,0xcc,0x33,0xcc,0xff
}
voiddelay(void)
{uinti,j,k;
for(i=0;
i>
0;
i--)
{for(j=200;
j>
j--)
{for(k=230;
k>
k--);
}}
voidmain(void)
{uchari;
while
(1)
{for(i=0;
i<
35;
i++)
{P2=tab[i];
delay();
}}}
五、实验结果
实验二
定时计数器一
使用定时计数器作为延时,要求在P0.0和P0.1间两灯按1s间隔互相闪烁。
单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、发光二级管LED-YELLOW、按钮BUTTON。
三、实验流程图四、实验原理
#include"
sbitP0_0=P0^0;
sbitP0_1=P0^1;
uintt=0;
voidtime0_server_(void)interrupt1
{
TH0=0x4C;
TL0=0x00;
t++;
voidInit_t0(void)
{TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
{P0_0=1;
P0_1=0;
Init_t0();
{if(t==20){
t=0;
P0_0=~P0_0;
P0_1=~P0_1;
实验三
中断系统应用一
主程序将P0端口进行花样显示,显示顺序规律为:
LED0、LED2、LED4、LED6亮1s熄灭,LED1、LED3、LED5、LED7亮1s熄灭,再LED0、LED2、LED4、LED6亮1s熄灭……循环3次。
中断时(INT0与按钮K1连接)使8个LED闪烁5次。
二、实验器件
单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、按钮BUTTON、发光二级管LED-BULE、发光二级管LED-YELLOW。
原理图:
#include"
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff,};
consttab2[]={0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,};
uinti,j,k;
for(i=10;
voidint0()interrupt0
uchari;
10;
P0=tab2[i];
voidINT0_init(void)
EX0=1;
IT0=1;
ucharx;
INT0_init();
for(x=0;
x<
23;
x++)
P0=tab[x];
实验四
两个单片机之间的串行通信
再摸控制系统中有U1、U2这两个单片机,U1单片机首先将P1端口指拨开关数据载入SUBF,然后由TXD将数据传送给U2单片机,U2单片机将接收数据存入SBUF,再由SUBF载入累加器,并输出至P1端口,点亮相应端口的LED。
发光二级管LED-RED、按钮BUTTON、单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、拨码开关DIPSW-8、开关SWITCH。
U1:
voidsend(ucharstate)
SBUF=state;
while(TI=0);
TI=0;
voidSCON_init(void)
SCON=0x50;
TMOD=0x20;
PCON=0x00;
TH1=0xFD;
TL1=0xFD;
TR1=1;
ES=1;
P1=0xFF;
SCON_init();
send(P1);
U2:
ucharstate;
voidreceive()
while(RI=0);
state=SBUF;
RI=0;
VoidSCON_init(void)
receive();
P1=state;
U1
实验五
矩阵式键盘识别一
设计一个4x4的矩阵键盘,以P3.0~P3.3作为行线,以P3.4~P3.7作为列线,在数码管上显示每个按键的0~F序号。
单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL11.0592MHz、电解电容CAP-ELEC、电阻RES、排阻RESPACLK-7、按钮BUTTON、共阳数码管7SEG-COM-AM-GRN。
#defineucharunsignedchar
ucharbuff,times,j;
ucharcodedispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
ucharidatavalue[8];
voiddelay1ms(void)
uchari;
for(i=200;
i--);
voiddelay5ms(void)
unsignedchari,j;
for(i=5;
for(j=230;
j--);
voidkey_scan(void)
ucharhang,lie,key;
P3=0xf0;
if((P3&
0xf0)!
=0xf0)
delay1ms();
{hang=0xfe;
times++;
if(times=9)
times=1;
while((hang&
0x10)!
=0)
{P3=hang;
{lie=(P3&
0xf0)|0x0f;
buff=((~hang)+(~lie));
switch(buff)
case0x11:
key=0;
break;
case0x21:
key=1;
case0x41:
key=2;
case0x81:
key=3;
case0x12:
key=4;
case0x22:
key=5;
case0x42:
key=6;
case0x82:
key=7;
case0x14:
key=8;
case0x24:
key=9;
case0x44:
key=10;
case0x84:
key=11;
case0x18:
key=12;
case0x28:
key=13;
case0x48:
key=14;
case0x88:
key=15;
value[times-1]=key;
elsehang=(hang<
<
1)|0x01;
key_scan()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Proteus 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)