PROTEUS仿真软件的使用
一、实验目的
掌握PROTEUS仿真软件的使用方法和技巧
二、实验内容
1.用PROTEUS设计一数码管控制显示电路。利用P1口和P2口分别控制两个共阳极数码管,可循环显示数字0~99,每个数字显示时间自行设定。
2.编写程序在其中一个数码管上画“8”字型,即按a-f-g-c-d-e-g-b依次点亮各线段,然后全部熄灭,重复以上操作。另外一个数码管做单管流水,即按a-f-g-c-d-e-g-b-a依次单管循环点亮。
三、实验原理及步骤
1.根据题目编写程序;
2.用KEIL C51调试程序;
3.与proteus电子仿真软件联合调试。
四、实验仪器与设备
1.微机一台
EUS仿真软件
五、电路设计及调试
(1)实验电路
(2)程序设计与调试
程序1
#include
#define ucharunsigned char
#define uintunsigned int
uchar codetable[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
void delayms();
void main()
{
uchar i,j;
while(1)
{
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
P1=table[i];
P2=table[j];
delayms();
}
}
}
}
void delayms()
{
uint x,y;
for(x=1000;x>0;x--)
for(y=100;y>0;y--);
}
程序2
#include
#define ucharunsigned char
#define uintunsigned int
uchar codenum[]={0xfe,0xde,0x9e,0x9a,
0x92,0x82,0x82,0x80};
uchar codetable[]={0xfe,0xdf,0xbf,0xfb,
0xf7,0xef,0xbf,0xfd};
void delayms();
void main()
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
P1=num[i];
P2=table[i];
delayms();
}
P1=0xff;
delayms();
}
}
void delayms()
{
uint x,y;
for(x=1000;x>0;x--)
for(y=100;y>0;y--);
}
(3)实验中遇到的问题:
1.编写的程序不能延迟,延迟时间过短,将时间调整后即可
2.延迟函数要放于适当位置
六、实验总结
1.掌握了proteus基本的操作方法.
2.做实验时要仔细,要按步骤来,
3.做实验要独立完成.
七、对实验课的建议
做实验应多给学生时间自主练习,让同学们对于实验有更深刻的理解,从实践中找出问题,解决问题.