实验二 Proteus仿真软件的使用,流水灯程序,数码管操作

更新时间:2023-10-08 09:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 Proteus仿真软件的使用

一、 实验目的

掌握Proteus仿真软件的使用方法和技巧。

二、 实验仪器与设备

1. 微机一台

2. Proteus仿真软件

三、 实验内容

1.用数码管设计一数码管显示电路。利用P1和P2口分别控制两个共阳极数码管,可循环显示0~99,每个数字显示时间自行设计。

2编写程序在其中一个数码管上画“8”字形,即按照a-f-g-c-d-e-g-b依次点亮各线段然后全部熄灭,重复以上操作。另外一个数码管做单管流水,即按a-f-g-c-d-e-g-b-a依次单管循环点亮。

四、 实验原理

LED数码显示器内部有7个条形放光二极管和一个小圆点发光二极管组成,每个发光二极管称为一个字段,其控制原理和发光二极管的控制原理相同。

五、 实验步骤

1. 参考教材设计一双数码管控制显示电路,熟悉Proteus的使用方法。 2. 编程循环显示0~99. 3. 编程在数码管画“8”。

六、 实验报告

见附表

1、实验电路图

2、附:实验程序 /*********************************** 实验二 程序1 编写: 日期: 功能:用12MHz晶振,P1口P2口分别显示数字 的个位十位,数字每隔大约500ms加 1一 次,从0~99循环显示 ***********************************/ #include char code tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void Delay_ms(int); void main() { int ge=0,shi=0; while(1) { P1=tab[ge]; P2=tab[shi]; Delay_ms(500); //500ms ge++; if(ge==10) { shi++; ge=0; if(shi==10) shi=0; } } } void Delay_ms(t) { int i; for(;t>0;t--) for(i=0;i<124;i++); } /********************************** 实验二 程序2 编写: 日期: 功能:用12MHz晶振,P1口做写“8”字的单管流水, P2口画“8”字依次点亮数码管,数码管每隔大 约500ms画一笔,重复此过程。 **********************************/ #include void Delay_ms(int); char code tab1[7]={0xfe,0xde,0x9e,0x9a,0x92,0x82,0x80}; char code tab2[8]={0xfe,0xdf,0xbf,0xfb,0xf7,0xef,0xfd,0xff}; void main() { int m=0,n=0; while(1) { P1=tab1[m]; P2=tab2[m]; Delay_ms(500); //500ms m++; n++; if(m==8) { m=0; } } } void Delay_ms(t) { int i; for(;t>0;t--) for(i=0;i<124;i++); }

本文来源:https://www.bwwdw.com/article/z9yf.html

Top