Proteus实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Proteus实验报告

姓名: xxxxx

专业:xxxxxx

系别:电气信息工程学院

学号:xxxxxxxx

班级:xxxxxxxxxxxxxxxx

老师:xxxxxxx

2012年11月

实验一

花样灯一

一、实验目的

使用P2端口控制LED0~LED7进行花样显示。显示顺序规律为:○18个LED 依次左移点亮;○28个LED依次右移点亮;○3LED0、LED2、LED4、LED6亮1s熄灭,LED1、LED3、LED5、LED7亮1s熄灭,再LED0、LED2、LED4、LED6亮1s熄灭……循环3次;○4LED0~LED3亮1s熄灭,LED4~LED7亮1s熄灭,循环2次;○5LED2、LED3、LED6、LED7亮1s熄灭,LED0、LED1、LED4、LED5亮1s熄灭,循环3次,然后再从○1循环。

二、实验仪器

单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、发光二级管

LED-YELLOW、发光二级管LED-RED、发光二级管LED-BULE、按钮BUTTON。

三、实验流程图

四、实验原理

电路图:

程序:#include"reg51.h"

#define uint unsigned int

#define uchar unsigned char

const tab[]={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

}

void delay(void)

{uint i,j,k;

for(i=0;i>0;i--)

{for(j=200;j>0;j--)

{for(k=230;k>0;k--);}}

}

void main(void)

{uchar i;

while(1)

{for(i=0;i<35;i++)

{P2=tab[i];

delay();}}}

五、实验结果

实验二

定时计数器一

一、实验目的

使用定时计数器作为延时,要求在P0.0和P0.1间两灯按1s间隔互相闪烁。

二、实验仪器

单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、发光二级管LED-YELLOW、按钮BUTTON。

三、实验流程图

四、实验原理

电路图:

程序:#include"reg51.h"

#define uint unsigned int

#define uchar unsigned char

sbit P0_0=P0^0;

sbit P0_1=P0^1;

uint t=0;

void time0_server_(void)interrupt

1

{

TH0=0x4C;

TL0=0x00;

t++;}

void Init_t0(void)

{TMOD=0x01;

TH0=0x4C;

TL0=0x00;

EA=1;

ET0=1;

TR0=1;}

void main(void)

{P0_0=1;

P0_1=0;

Init_t0();

while(1)

{if(t==20){

t=0;

P0_0=~P0_0;

P0_1=~P0_1;

}

}

}

五、实验结果

实验三

中断系统应用一

一、实验目的

主程序将P0端口进行花样显示,显示顺序规律为:○18个

LED依次左移点亮;○28个LED依次右移点亮;○3LED0、LED2、LED4、LED6

亮1s熄灭,LED1、LED3、LED5、LED7亮1s熄灭,再LED0、LED2、LED4、LED6亮1s熄灭……循环3次。中断时(INT0与按钮K1连接)使8个LED 闪烁5次。

二、实验器件

单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、按钮BUTTON、发光二级管LED-BULE、发光二级管LED-YELLOW。

三、实验流程图

四、实验原理

原理图:

程序:#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char

const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,

0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,

0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff,};

const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,};

void delay(void)

{

uint i,j,k;

for(i=10;i>0;i--) {for(j=200;j>0;j--) {for(k=230;k>0;k--);}} }

void int0() interrupt 0 {

uchar i;

for(i=0;i<10;i++)

{

P0=tab2[i];

delay();

}

}void INT0_init(void) {

EX0=1;

IT0=1;

EA=1;

}

void main(void)

{

uchar x;

INT0_init();

while(1)

相关文档
最新文档