1实验原理
通过程序的输入来控制P0口,逐个的给P0口赋值(1~9),使数码管逐个从1显示到9,然后循环往复,达到一位数码管显示的效果。
2Proteus仿真电路图
排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便.
上拉排阻:上拉是相对下拉来说的。可以简单的理解上拉的作用是给信号线提供一个驱动电压,使之传输更稳定,传输距离更远,用来抵消线路中内阻对信号的损耗。
3所用元器件图
在Proteus软件中排阻有两种型号:respack-7和respack-8,均属于Resistorpacks类别。
4. C51代码
#include<reg51.h> //定义头文件#include<intrins.h> #define uchar unsigned char //宏定义#define uint unsigned intuchar 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~9delay(1000);}}
#include<intrins.h>
在C51单片机编程中,如果你要用到这个库文件里的函数的话,你就得包含它。
包含头文件intrins.h的函数,使用时,就会像在用汇编时一样简便。