周三收到了论坛活动送的宋雪松老师的《手把手教你学习51单片机》这本书,昨天好好研读了下,发觉宋老师写的这本书真的很不错,语言细腻,很贴近生活,书中的很多例子都有现实生活中的例子来解说,让人很容易理解,,昨天就两个小时,就看了四章,今天在实验室拿着自己很久没有摸过的51开发板来玩玩,就继续试试宋老师的51单片机的书籍。。
宋老师说的不错,要想玩会一个东西,不能只是看着,还得动手。。今天就宋老师的书籍,结合自己以前学习51时候的一些记忆,先玩了一个数码管。。。后续会持续分享我研读这本书的例子与收获。。。
代码:
#include
#define uint unsigned int
#define uchar unsigned char
uchar code LedChar={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阳极数码管0~F
void delay(uint z) //延时函数
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
uchar cnt=0;
uchar sec=0;
TMOD=0x01; //设置方式1
TH0=(65535-50000)/256; //对TH0赋值 定时50ms
TL0=(65535-50000)%256; //
TR0=1; // 启动定时器0
while(1)
{
if(TF0==1)
{
TF0=0;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
cnt++;
}
if(cnt>=20)
{
cnt=0;
P0=LedChar;
delay(20);
sec++;
if(sec>=16)
{
sec=0;
}
}
}
}
51,初学者很适合使用