前言
最近在学习C51单片机,我的开发板是TX-1C,看的视频是郭天祥。写这个原因一则是温故而知新,二则自己写程序的时候老是忘记比如中断初始化要控制那些位,以后方便自己查询^-^。
LED
其中74HC573功能表:
从两图中可以知道:OE置L,LE置H,输入和输出一样(89C52芯片周围的引脚默认为高电平)只要将P1口中对应的引脚置为0,LED灯就会亮
#include
sbit led = P1 ^ 0;
void main(){
while(1){
led = 0;
}
}
数码管静态显示
说明:通过对P0控制wela,选择要显示哪几个数码管,将wela = 0,锁存住前面的信息,然后打开dula,因为是共阴极所以只要使得相应的那一位为1就显示。
比如上图abcdef = 1 其余为0,就显示出0
#include
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z);
void main()
{
wela=1;
P0=0xf8;
wela=0;
while(1){
dula=1;
P0=table[(num ++) % 16];
dula=0;
delay(1000);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
总结
没啥好总结的:-),入坑51单片机最简单的两个案例。