基于Proteus的一位数码管显示实验

1实验原理

通过程序的输入来控制P0口,逐个的给P0口赋值(1~9),使数码管逐个从1显示到9,然后循环往复,达到一位数码管显示的效果。

2Proteus仿真电路图

基于Proteus的一位数码管显示实验_第1张图片
排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便.
上拉排阻:上拉是相对下拉来说的。可以简单的理解上拉的作用是给信号线提供一个驱动电压,使之传输更稳定,传输距离更远,用来抵消线路中内阻对信号的损耗。

3所用元器件图

基于Proteus的一位数码管显示实验_第2张图片
在Proteus软件中排阻有两种型号:respack-7和respack-8,均属于Resistorpacks类别。

4. C51代码

#include //定义头文件
#include  
#define uchar unsigned char	 //宏定义
#define uint unsigned int

uchar code num[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};  // 0~9字码
void delay(uint ms) //定义延时子函数
{
	uint i,j;
	for(i=ms;i>0;i--) //通过改变ms的次数来改变延时时间	 
	  for(j=110;j>0;j--); 
}
	
void main() //主函数
{
	uchar i=0;
	P0=0x00; //初始化
	while(1)
	{
		P0 = num[i];    //直接给 P0 口赋值
		i=(i+1)%10   ;	   //逐个显示数字1~9
		delay(1000);
		}
}

#include
在C51单片机编程中,如果你要用到这个库文件里的函数的话,你就得包含它。
包含头文件intrins.h的函数,使用时,就会像在用汇编时一样简便。

你可能感兴趣的:(单片机,单片机)