硬件很简单,我就不画图了,简单描述一下吧。在单片机最小系统的基础上,P0口接数码管的数据端,P2.6,P2.7接数码管的控制端。
程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit s1=P2^6;//十位
sbit s2=P2^7;//个位
uchar num0,num;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uchar x)
{
uchar i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void init()
{
TMOD=0x01; //设置定时器0工作方式01
TH0=(65536-45872)/256; //装初值11.0592晶振定时50ms
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
}
void TO_time() interrupt 1
{
TH0=(65536-45872)/256; //装初值11.0592晶振定时50ms
TL0=(65536-45872)%256;
num0++;
if(40==num0) //到了40,2秒时间到
{
num0=0;
num++;
}
}
void display()
{
s1=1;
P0=table[num/10];
s1=0;
P0=0xff;
delay(5);
s2=1;
P0=table[num%10];
s2=0;
}
void main()
{
init();
while(1)
{
display();
}
}
追问我不懂硬件如何连接啊?可以画个详细的图不?
追答基本就这样,接线管脚随便换换就能和程序配套了。
单片机的学习是很注重实践的,单片机的主要实践就是自己做一些硬件电路,帮助自己理解在学习单片机理论知识的不解和激发自己单片机学习的兴趣。
你说你不懂硬件如何接线,那我告诉你,如果你这样走下去,你学一辈子单片机,你也做不出一个单片机设计。
不要好高骛远,不然你现在做的这些东西都是空中楼阁,不切实际。差什么,补什么,上淘宝淘一些基本的器件,再在网上下些电路图,做一做。做过之后,你就知道如何硬件接线了。