1、AT89C51单片机开发板程序电子教案AT89C51单片机开发板程序 AT89C51单片机开发板程序1个LED数码管静态显示0-9)include#define uchar unsigned char#define uint unsigned intuchar i。uchar code a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90。void delay(uint z。void main(while(1for(i=0。i P2=0xfe。P0=ai。delay(1000。void delay(uint zuint x,y。for(x=z。
2、x0。x-for(y=122。y0。y-。LED数码管显示0-99)#includeunsigned char count,num。unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90。void main(P2=0xfe。IE=0x82。TMOD=0x01。TCON=0x30。while(1。void TOINT( interrupt 1TH0=0xd8。TL0=0xf0。if(P2&1P1=tablenum/10。else P1=tablenum%10。P2=3。if(+countreturn。c
3、ount=0。if(+num99num=0。定时控制一只闪亮的灯#include#define uchar unsigned char#define uint unsigned intuint n。sbit led=P00。void main (TMOD&=0xf1。TMOD|=0x01。TH0=(65536-10000/256。TL0=(65536-10000%256。EA=1。ET0=1。TR0=1。while(1void timer0( interrupt 1TH0=(65536-10000/256。TL0=(65536-10000%256。n+。if(n=100n=0。led=led。
4、用独立键盘显示LED数码管1-4)#include#define uchar unsigned char#define uint unsigned intuchar code a=0xc0,0xf9,0xa4,0xb0,0x99,0xff。void delay(uint z。void main( uchar b,c。c=5。while(1P0|=0x0f。b=P0。b&=0x0f。if(b!=0x0fdelay(20。P0|=0x0f。b=P0。b&=0x0f。if(b!=0x0fswitch(bcase 0x0e:c=1。break。case 0x0d:c=2。break。case 0x0b
5、:c=3。break。case 0x07:c=4。break。default:c=0。P1&=0xfe。P2=ac。void delay(uint zuint x,y。for(x=z。xfor(y=122。y。用矩阵键盘显示LED数码管0-9,A-F)#include#define uint unsigned int#define uchar unsigned charuchar code a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff。void delay(uint
6、z。sbit hang1=P03。sbit hang2=P02。sbit hang3=P01。sbit hang4=P00。void main( uchar b,c。c=16。while(1 hang1=0。hang2=1。hang3=1。hang4=1。 P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0delay(10。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0switch(bcase 0xe0:c=0。break。case 0xd0:c=1。break。case 0xb0:c=2。break。case 0x70:c=3。break。default:c=
7、16。P3&=0xf0。P2=ac。hang1=1。hang2=0。hang3=1。hang4=1。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0delay(10。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0switch(bcase 0xe0:c=4。break。case 0xd0:c=5。break。case 0xb0:c=6。break。case 0x70:c=7。break。default:c=16。P3&=0xf0。P2=ac。hang1=1。hang2=1。hang3=0。hang4=1。P0|=0xf0。b=P0。b&=0xf0。if(b!=0
8、xf0delay(10。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0switch(bcase 0xe0:c=8。break。case 0xd0:c=9。break。case 0xb0:c=10。break。case 0x70:c=11。break。default:c=16。P3&=0xf0。P2=ac。hang1=1。hang2=1。hang3=1。hang4=0。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0delay(10。P0|=0xf0。b=P0。b&=0xf0。if(b!=0xf0switch(bcase 0xe0:c=12。break。case
9、 0xd0:c=13。break。case 0xb0:c=14。break。case 0x70:c=15。break。default:c=16。P3&=0xf0。P2=ac。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。一只闪亮的灯#include#define uchar unsigned char#define uint unsigned intsbit led=P20。void delay (uint z。void main(led=0。delay(1000。led=1。delay(1000。void delay(uint
10、zuint x。uint y。for(x=z。x0。x-for(y=122。y0。y-。中断控制流水灯(从右向左#include#include#define uchar unsigned char#define uint unsigned intuchar led,temp。void delay(uint z。void main(EA=1。EX1=1。temp=0x7f。while(1P2=temp。temp=_cror_(temp,1。delay(1000。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。void extern1
11、( interrupt 2 P2=0x00。 delay(2000。P2=0xff。delay(2000。中断控制流水灯(从左向右#include#include#define uchar unsigned char#define uint unsigned intuchar led,temp。void delay(uint z。void main(EA=1。EX1=1。temp=0xfe。while(1P2=temp。temp=_crol_(temp,1。delay(1000。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。voi
12、d extern1( interrupt 2 P2=0x00。 delay(2000。P2=0xff。delay(2000。1位密码锁#include#define uchar unsigned char#define uint unsigned int#define mima 3#define duanma P1sbit weima=P30。sbit redled=P05。sbit greenled=P06。uchar key=0xff。void scankey(。void delay(uint z。void main(weima=0。while(1duanma=0xbf。redled=1。
13、greenled=1。scankey(。if(key=mimaduanma=0x8c。greenled=0。delay(3000。key=0xff。if(key!=0xffduanma=0x86。redled=0。delay(3000。key=0xff。elseduanma=0xbf。redled=1。greenled=1。void scankey(uchar keyinput。P0|=0x0f。keyinput=P0。keyinput&=0x0f。if(keyinput!=0x0fdelay(10。P0|=0x0f。keyinput=P0。keyinput&=0x0f。if(keyinput
14、!=0x0fswitch(keyinputcase 0x0e:key=0。break。case 0x0d:key=1。break。case 0x0b:key=2。break。case 0x07:key=3。break。default:key=0xff。 void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。电子钟#include#define uchar unsigned char#define uint unsigned intuchar code duan=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8
15、,0x80,0x90。uchar code wei=0xfe,0xfd,0xfb,0xf7。uchar tt,i,sec,min。uchar xianshi4。void delay(uint z。void init(。void main(init(。while(1if(tt=20tt=0。sec+。if(sec=60sec=0。min+。if(min=60min=0。xianshi0=duansec%10。xianshi1=duansec/10。xianshi2=duanmin%10。xianshi3=duanmin/10。for(i=0。iP2=xianshii。P0=weii。delay(
16、5。void init(TMOD&=0XF1。TMOD|=0X01。TH0=(65536-50000/256。TL0=(65536-50000%256。EA=1。ET0=1。TR0=1。void timer0( interrupt 1TH0=(65536-50000/256。TL0=(65536-50000%256。tt+。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。交通灯#include#define uint unsigned int#define uchar unsigned charuchar code duan=0xc
17、0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf。 uchar code weitable=0xFE,0xFD,。uchar code chushi=0x7e,15,0x7d,5,0xdb,15,0xbb,5。uchar xianshi2。uint time,tt。void display(。void delay(uint z。void init(。void main(init(。while(1 uchar j。 for(。time=0&jtime=chushij+1。P1=chushij。if(j=8j=0。if(tt=10tt=0。ti
18、me-。xianshi0=duantime/10。xianshi1=duantime%10。 display(。void init(TMOD&=0xf1。TMOD|=0x01。TH0=(65536-50000/256。TL0=(35536-50000%256。EA=1。ET0=1。TR0=1。void display( uchar i。for(i=0。i P2=weitablei。P0=xianshii。delay(5。 void delay(uint z uint x。uchar y。for(x=z。x0。x-for(y=122。y0。y-。void timer0( interrupt 1T
19、H0=(65536-50000/256。TL0=(35536-50000%256。tt+。4个LED数码管动态显示0-9)#include#define uchar unsigned char#define uint unsigned intvoid delay(uint z。void main(P2=0xfe。P0=0xc0。delay(1000。P2=0xfd。P0=0xf9。delay(1000。P2=0xfb。P0=0xa4。delay(1000。P2=0xf7。P0=0xb0。delay(1000。P2=0xfe。P0=0x99。delay(1000。P2=0xfd。P0=0x92。
20、delay(1000。P2=0xfb。P0=0x82。delay(1000。P2=0xf7。P0=0xf8。delay(1000。P2=0xfe。P0=0x80。delay(1000。P2=0xfd。P0=0x90。delay(1000。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。4个LED数码管依次显示0-9)#include#define uchar unsigned char#define uint unsigned intvoid delay(uint z。void main(P2=0xf7。P0=0xc0。delay(
21、1000。P2=0xf7。P0=0xf9。delay(1000。P2=0xf7。P0=0xa4。delay(1000。P2=0xf7。P0=0xb0。delay(1000。P2=0xf7。P0=0x99。delay(1000。P2=0xf7。P0=0x92。delay(1000。P2=0xf7。P0=0x82。delay(1000。P2=0xf7。P0=0xf8。delay(1000。P2=0xf7。P0=0x80。delay(1000。P2=0xf7。P0=0x90。delay(1000。P2=0xfb。P0=0xf9。delay(1000。P2=0xfb。P0=0xa4。delay(100
22、0。P2=0xfb。P0=0xb0。delay(1000。P2=0xfb。P0=0x99。delay(1000。P2=0xfb。P0=0x92。delay(1000。P2=0xfb。P0=0x82。delay(1000。P2=0xfb。P0=0xf8。delay(1000。P2=0xfb。P0=0x80。delay(1000。P2=0xfb。P0=0x90。delay(1000。P2=0xfd。P0=0xf9。delay(1000。P2=0xfd。P0=0xa4。delay(1000。P2=0xfd。P0=0xb0。delay(1000。P2=0xfd。P0=0x99。delay(1000。P
23、2=0xfd。P0=0x92。delay(1000。P2=0xfd。P0=0x82。delay(1000。P2=0xfd。P0=0xf8。delay(1000。P2=0xfd。P0=0x80。delay(1000。P2=0xfd。P0=0x90。delay(1000。P2=0xfe。P0=0xf9。delay(1000。P2=0xfe。P0=0xa4。delay(1000。P2=0xfe。P0=0xb0。delay(1000。P2=0xfe。P0=0x99。delay(1000。P2=0xfe。P0=0x92。delay(1000。P2=0xfe。P0=0x82。delay(1000。P2=0
24、xfe。P0=0xf8。delay(1000。P2=0xfe。P0=0x80。delay(1000。P2=0xfe。P0=0x90。delay(1000。void delay(uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。LED单向流水灯从右向左)#include#define uchar unsigned char#define uint unsigned intvoid delay (uint z。void main(P2=0x7f。delay(1000。P2=0xbf。delay(1000。P2=0xdf。delay(1000。P2=0xef。d
25、elay (1000。P2=0xf7。delay(1000。P2=0xfb。delay(1000。P2=0xfd。delay(1000。P2=0xfe。delay (1000。void delay (uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-。LED单向流水灯从左向右)#include#define uchar unsigned char#define uint unsigned intvoid delay (uint z。void main(P2=0xfe。delay(1000。P2=0xfd。delay(1000 。P2=0xfb。delay(1000 。P2=0xf7。delay (1000。P2=0xef。delay(1000。P2=0xdf。delay(1000 。P2=0xbf。delay(1000 。P2=0x7f。delay (1000。void delay (uint zuint x,y。for(x=z。x0。x-for(y=122。y0。y-LED双向流水灯从里向外)#include#
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1