早上起床,玩了一会。剩下时间看了电影,给自己又放了一天假,我敢肯定没有人比我更加对自己好了。看了什么电影呢,早上看了柯南最新更新的几集,然后写了一会代码,没感觉,不想写,于是泡了包面继续看电视。
昨天看了蝴蝶效应1,2,3,釜山行;今天又看了盗梦空间,,还记得前几天看的源代码,等等,这几部电影比较费脑,看的时候感觉非常乱,但是到了某一个结点的时候,就会有一种上瘾的感觉,欲罢不能。这种feel真的很爽。
看电影是看爽了,今天的代码就写了一点,下面就把写的一些代码贴上把。
//int0中断程序
//设置开一下中断,然后写一个中断函数,然后在主函数里设置一个死循环来等待中断,并自动执行中断子程序
#include "reg51.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit led=P2^0;
void T0Int() interrupt 1
{
static u16 i=0;
TH0=0XFC;
TL0=0X18;
i++;
if(i==1000) //错误2,没有这个相当于led每lms闪烁一次,肉眼看上去led一直是亮的
{
led=~led;
i=0;
}
}
void T0Init()
{
TMOD|=0X01; //错误1,对TMOD进行或运算,尽力不要使用赋值来改变其他位的状态
TH0=0XFC;
TL0=0X18;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
T0Init();
while(1);
}
第二个:定时器1中断
//和定时器0中断基本一样,只是在这个中断子程序里面实现的功能不一样。
//还有就是要用到不止一个数码管,就需要使用38译码器,来选择数码管
#include "reg51.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void T1Int() interrupt 3
{
static u16 i=0, n=0;
TH1=0XFC;
TL1=0X18;
i++;
if(i==1000)
{
i=0;
P0=smg[n++];
if(n==16)
n=0;
}
}
void T1Init()
{
TMOD|=0X10;
TH1=0XFC;
TL1=0X18;
EA=1;
ET1=1;
TR1=1;
}
void main()
{
LSA=0;
LSB=0;
LSC=0;
T1Init();
while(1);
}
第三个串口通信还没写:
#include "reg51.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
u8 smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void Usart() interrupt 4
{
}
void UsartInit()
{
}
void main()
{
}