数码管动态扫描实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数码管动态扫描实验
一、实验目的
学习计数器的设计、分析合测试方法。
学习硬件扫描显示电路的设计方法。
二、实验仪器
1、PC机
2、SW-51PROC单片机综合实验平台
三、实验内容
编写一段程序,用单片机P0口和P2口的I/O输出去控制8位的数码管显示,实现如下功能:使数码管上显示1、2、3、4、5、6、7、8。
四、实验步骤:
1、用Protues设计数码管动态扫描显示电路;
2、在KeilC51中编写识别程序,通过后与Protues联合调试;
3、启动仿真,观察数码管显示是否正确;
4、用Protues设计脉冲计数电路,仿真调试、运行程序并查看效果。
五、电路设计及调试:
1、实验电路:
2、程序设计与调试:①实验程序:
【12345678】
#include
#define uintunsigned int
#define ucharunsigned char
uchar codeDisplsy[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80}; uchar codeTemble[]={0,1,2,3,4,5,6,7};
void delay(uint z)
{
uchar t;
while(z--) for(t=120;t>0;t--);
}
void main()
{
uchar i;
P0=0xff;
P1=0;
while(1)
{
if(i==8)
i=0;
P1=Temble[i];
P0=~Displsy[i+1];
i++;
delay(2);
}
}
【脉冲计时】
#include
#define uintunsigned int
#define ucharunsigned char
uchar
codeDisplay[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar codeTemble[]={0,1,2,3,4,5,6,7};
uchar Flag;
uint Num;
void delay(uint z)
{
uchar t;
while(z--) for(t=120;t>0;t--);
}
voidTest2(void)
{
TR1 = 1;
while(1)
{
Num = TH1;
Num = Num << 8;
Num |= TL1;
P1 = 7;
P0 = ~Display[Num%10];
delay(3);
P1 = 6;
P0 = ~Display[Num%100/10];
delay(3);
P1 = 5;
P0 = ~Display[Num%1000/100];
delay(3);
P1 = 4;
P0 = ~Display[Num%10000/1000];
delay(3);
P1 = 3;
P0 = ~Display[Num%100000/10000];
delay(3);
P1 = 2;
P0 = ~Display[Num%1000000/100000];
delay(3);
P1 = 1;
P0 = ~Display[Num%10000000/1000000];
delay(3);
P1 = 0;
P0 = ~Display[Num%100000000/1000000];
delay(3);
}
}
void main()
{
TMOD = 0x50;
TH1 = 0x00;
TL1 = 0x00;
EA = 1;
ET1 = 1;
TR1 = 0;
while(1)
{
Test2();
}
}
②调试:
③实验结果:
1、数字1~8分别显示在8个数码管上,显示无闪烁。
2、定时/计数器T1统计脉冲的个数,统计结果动态实时的显示在数码管上。
七、实验总结
专业知识有一定的提高且提高我的综合能力以便在今后社会生活中不但要学会运用所学的知识来解决实际问题而且要不断的通过这次课程设计让我了解了MCS-C51在实际生活中的一些应用单片机步进电机电路的设计及工作原理。让我
在学习单片机理论知识同时让我明白了要在实际生活中学会应用提高了我的动手能力要手脑并用。本次设计是通过使用PROTEL软件来进行设计让我熟悉的掌握了此软件的基本操作。本来有些遗忘的知识点通过查参考资料让我对旧的知识有所巩固同时也明白了原来疑惑的地方。让我的专业知识有一定的提高且提高我的综合能力以便在今后社会生活中不但要学会运用所学的知识来解决实际问题而且要不断的