Proteus仿真实验
- 格式:ppt
- 大小:4.40 MB
- 文档页数:79


第01 篇基础程序设计01 闪烁的LED/* 名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};uchar code Pattern_P2[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){uchar i;while(1){ //从数组中读取数据送至P0和P2口显示for(i=0;i<136;i++){P0=Pattern_P0[i];P2=Pattern_P2[i];DelayMS(100);}}}06 单只数码管循环显示0~9/* 名称:单只数码管循环显示0~9说明:主程序中的循环语句反复将0~9的段码送至P0口,使数字0~9循环显示*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//延时void DelayMS(uint x){uchar t;while(x--) for(t=0;t<120;t++);}//主程序void main(){uchar i=0;P0=0x00;while(1){ /*for(;i<11;i++){ P0=~DSY_CODE[i];DelayMS(300);} //注:另一方案*/P0=~DSY_CODE[i];i=(i+1)%10;DelayMS(300);}}07 8只数码管滚动显示单个数字/* 名称:8只数码管滚动显示单个数字说明:数码管从左到右依次滚动显示0~7,程序通过每次仅循环选通一只数码管*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //延时void DelayMS(uint x){uchar t;while(x--) for(t=0;t<120;t++);}//主程序void main(){uchar i,wei=0x80;while(1){for(i=0;i<8;i++){P2=0xff; //关闭显示wei=_crol_(wei,1);P0=DSY_CODE[i]; //发送数字段码P2=wei; //发送位码DelayMS(300);}}}08 8只数码管动态显示多个不同字符电路如上图/* 名称:8只数码管动态显示多个不同字符说明:数码管动态扫描显示0~7。
proteus单片机实验报告
Proteus单片机实验报告
一、实验目的
本次实验旨在通过Proteus单片机仿真软件,探索单片机的基本原理和应用,加深对单片机工作原理的理解,提高对单片机编程的熟练程度。
二、实验内容
1. 搭建单片机电路
在Proteus中选择合适的单片机模型,搭建基本的单片机电路,包括单片机、晶振、电源等。
2. 编写程序
利用Proteus提供的编程环境,编写简单的单片机程序,如LED灯闪烁、数码管显示等。
3. 仿真调试
通过Proteus的仿真功能,调试程序,观察单片机在仿真环境下的运行情况,检查程序是否正常运行。
三、实验步骤
1. 打开Proteus软件,选择合适的单片机模型,搭建单片机电路。
2. 编写简单的单片机程序,如让LED灯交替闪烁。
3. 在Proteus中进行仿真调试,观察程序运行情况。
四、实验结果
通过实验,我们成功搭建了单片机电路,并编写了简单的程序。
在Proteus的仿真环境下,LED灯按照设定的程序交替闪烁,证明程序正常运行。
五、实验总结
通过本次实验,我们加深了对单片机的理解,掌握了在Proteus中搭建单片机电路、编写程序并进行仿真调试的基本方法。
同时,也提高了对单片机编程的熟练程度。
总之,Proteus单片机实验为我们提供了一个良好的学习平台,使我们能够更好地理解单片机的工作原理和应用,为以后的学习和实践打下了坚实的基础。
希望通过不断地实践和探索,能够更深入地理解单片机的原理,并在实际应用中发挥其巨大的作用。
结合proteus实现路路彩灯—电路仿真实验路灯是城市道路的重要设施之一,可以提供夜间行车和行人活动的安全保障。
随着科技的不断发展,彩灯逐渐取代传统的白灯,给城市增添了一抹亮丽的色彩。
在本文中,我们将结合Proteus软件实现路灯电路的仿真实验。
路灯电路主要由三个部分组成:电源部分、控制部分和照明部分。
电源部分提供电能给整个电路系统,控制部分负责控制灯的开关和亮度,照明部分则是实现灯光的发光。
首先,我们需要选择合适的元件来搭建电路。
在Proteus中,我们可以在元件库中找到各种电子元件。
对于电源部分,我们可以选择一个直流电源和一个电容器来实现稳定的输出电压。
控制部分可以选择一个单片机,用来控制彩灯的开关和亮度。
照明部分可以选择一个LED灯和一个电阻,来实现灯光的发光。
接下来,我们需要将这些元件进行连接。
在Proteus中,我们可以通过拖拽元件并连接它们的引脚来完成电路的搭建。
首先,将直流电源和电容器连接在一起,以提供稳定的电压输出。
然后,将单片机的引脚连接到LED灯和电阻上,以控制灯的开关和亮度。
最后,将LED灯和电阻连接在一起,以实现灯光的发光。
完成电路搭建后,我们可以进行仿真实验了。
在Proteus中,我们可以设置各个元件的参数和初始状态,并运行仿真实验来观察电路的工作情况。
通过调整单片机的引脚状态,我们可以控制灯的开关和亮度,并观察LED灯的发光情况。
在仿真实验中,我们可以通过改变电源电压和电阻值来模拟不同的工作情况。
例如,可以降低电源电压来观察灯的亮度变化,或者改变电阻值来观察灯的颜色变化。
通过这些实验,我们可以更好地理解电路的工作原理和性能特点。
总结起来,通过结合Proteus实现路灯电路的仿真实验,我们可以更好地理解电路的工作原理和性能特点。
通过调整参数和运行实验,我们可以观察电路的工作情况,并优化电路设计。
这对于提高路灯电路的可靠性和性能具有重要意义,也为我们进一步研究和开发新型路灯电路提供了基础。