单片机c语言应用,单片机C语言应用100例

44cb7578e1df5412b94317daaa3307ba.gif单片机C语言应用100例

单片机C语言应用100例,单片机c语言应用100例,单片机C语言,单片机C语言应用

ex99 #include / /* PC */ void Send(unsigned char dat) SBUF=dat; while(TI=0) ; TI=0; /* 1ms (3j+2)i=(333+2) 10=1010()1 */ void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /* */ void delaynms(unsigned char x) unsigned char i; for(i=0;ix;i+) delay1ms(); /* */ void main(void) unsigned char i; TMOD=0x20; /T12 TH1=0xfd; /涨T1 TL1=0xfd; /涨T1 PCON=0x00; /9600 TR1=1; /t1 SCON=0x40; /1 while(1) for(i=0;i200;i+) / Send(i); /i delaynms(100); /100ms100 #include / #include /_nop_() sbit RS=P20; /RSP2.0 sbit RW=P21; /RWP2.1 sbit E=P22; /EP2.2 sbit BF=P07; /BFP0.7 unsigned char code digit =“0123456789“; / unsigned int v; / unsigned char count; /涨T0 bit flag; /1 /* 1ms (3j+2)*i=(333+2)10=1010()1 */ void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /* n */ void delay(unsigned char n) unsigned char i; for(i=0;in;i+) delay1ms(); /* resultresult=1;result=0 */ unsigned char BusyTest(void) bit result; RS=0; /涨RSRW RW=1; E=1; /E=1 _nop_(); / _nop_(); _nop_(); _nop_(); / result=BF; /result E=0; /E return result; /* dictate */ void WriteInstruction (unsigned char dictate) while(BusyTest()=1); / RS=0; /涨RSR/W RW=0; E=0; /E(8-6E壬 / E01“0“ _nop_(); _nop_(); / P0=dictate; /P0 _nop_(); _nop_(); _nop_(); _nop_(); / E=1; /E _nop_(); _nop_(); _nop_(); _nop_(); / E=0; /E /* x */ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /涨“80H+x“ /* (ASCII) y() */ void WriteData(unsigned char y) while(BusyTest()=1); RS=1; /RSRW RW=0; E=0; /E(8-6E壬 / E01“0“ P0=y; /P0 _nop_(); _nop_(); _nop_(); _nop_(); / E=1; /E _nop_(); _nop_(); _nop_(); _nop_(); / E=0; /E /* LCD */ void LcdInitiate(void) delay(15); /15msLCD WriteInstruction(0x38); /162578 delay(5); /5ms WriteInstruction(0x38); delay(5); WriteInstruction(0x38); / delay(5); WriteInstruction(0x0c); / delay(5); WriteInstruction(0x06); / delay(5); WriteInstruction(0x01); / delay(5); /* */ void display_sym(void) WriteAddress(0x00); /,11 WriteData(v); /vLCD WriteData(=); /=LCD /* */ void display_val(unsigned int x) unsigned char i,j,k,l; /j,k,lİ i=x/1000; / j=(x%1000)/100; / k=(x%100)/10; / l=x%10; / WriteAddress(0x02); /,13 WriteData(digiti); /LCD WriteData(digitj); /LCD WriteData(digitk); /LCD WriteData(digitl); /LCD /* r/min */ void display_unit(void) WriteAddress(0x06); /,27 WriteData(r); /rLCD WriteData(/); /LCD WriteData(m); /mLCD WriteData(i); /iLCD WriteData(n); /nLCD /* */ void main(void) LcdInitiate(); /LCD TMOD=0x51; /T11T01 TH0=(65536-46083)/256; /T0850ms TL0=(65536-46083)%256; /T0850ms EA=1; / ET0=1; /T0 TR0=1; /T0 count=0; /T00 display_sym(); / display_val(0000); / display_unit(); / while(1) / TR1=1; /T1 TH1=0; /T180 TL1=0; /T180 flag=0; /仹1 while(flag=0) / ; v=(TH1*256+TL1)*60/16; /16 display_val(v); / /* T0 */ void Time0(void ) interrupt 1 using 1 /T011鹤 count+; /T01count1 if(count=20) /201 flag=1; /11 count=0; /0 TH0=(65536-46083)/256; /T08 TL0=(65536-46083)%256; /T0810P0P1 #include / void main(void) unsigned char m,n; unsigned int s; m=64; n=71; s=m*n; /s=64*71=4544,168P18P0 /4544=17*256+192=H3*16*16*16+H2*16*16+H1*16+H0 /25617+192/256=H3*16+H2+H1*16+H0/256 /816H3*16+H2174544256 /816H1*16+H01924544256 P1=s/256; /8P1 P1=17=11H=0001 0001B, P1.0P1.4 P0=s%256; /8P0 , P3=192=c0H=1100 0000B,P3.1,P3.6,P3.711P1P0 #include / void main(void) P1=36/5; / P0=(36%5)*10)/5; / while(1) ; /12P08LED #include / /* */ void delay(void) unsigned int i; for(i=0;i20000;i+) ; /* z */ void main(void) unsigned char i; for(i=0;i255;i+) /i255 P0=i; /iP0 delay(); /13P0“ #include / void main(void) P0=(40)/P0 while(1) ; /14P0 #include / void main(void) P0=(84)?8:4;/P0P0=8=0000 1000B while(1) ; /15P0“ #include / void main(void) P0=0xa20x3c;/P0P0=8=0000 1000B while(1) ; /16P0 #include / void main(void) P0=0x3b2;/P0P0=1110 1100B=0xec while(1) ; /17“ #include / sbit F=P14; /F P1.4 sbit X=P15; /X P1.5 sbit Y=P16; /Y P1.6 sbit Z=P17; /Z P1.7 void main(void) while(1) F=(X) /F ;18P18LED #include / /* */ void delay(void) unsigned int n; for(n=0;n1; /P110 delay(); /19ifP08LED #include / sbit S1=P14; /S1P1.4 sbit S2=P15; /S2P1.5 /* */ void main(void) while(1) if(S1=0) /S1 P0=0x0f; /P0LED if(S2=0) /S2 P0=0xf0; /P0LEDinclude /51 void main(void) P1=0xfe; /P1=1111 1110BP1.020swtichP08LED #include / sbit S1=P14; /S1P1.4 /* */ void delay(void) unsigned int n; for(n=0;n10000;n+) ; /* */ void main(void) unsigned char i; i=0; /i0 while(1) if(S1=0) /S1 delay(); / if(S1=0) /S1 i+; /i1 if(i=9) /i=91 i=1; switch(i) / case 1: P0=0xfe; /LED break; case 2: P0=0xfd; /LED break; case 3:P0=0xfb; /LED break; case 4:P0=0xf7; /LED break; case 5:P0=0xef; /LED break; case 6:P0=0xdf; /LED break; case 7:P0=0xbf; /LED break; case 8:P0=0x7f; /LED break; default: /LED P0=0xff;26P0 #include void main(void) unsigned char *p1,*p2; /p1,p2 unsigned char i,j; / i=25; /i25 j=15; p1= /i p2= /j P0=*p1+*p2; /*p1+*p2i+j,P0=25+15=40=0x28 /P0=0010 1000BP0.3P0.5LED while(1) ; /27P08LED #include /* 150ms (3*200*250=150 000s=150ms */ void delay150ms(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void main(void) unsigned char code Tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char *p = unsigned char i; / while(1) for(i=0;i8;i+) P0=*pi; delay150ms();33P1 #include /51 unsigned char code Tab=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /鱻 /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void led_flow(void) unsigned char i; for(i=0;i8;i+) /8 P0=Tabi; delay(); /* */ void main(void) void (*p)(void); /庯 p=led_flow; /p while(1) (*p)(); /pled_flow34 #include /51 unsigned char code str1 =“Temperature is tested by DS18B20“;/C unsigned char code str2 =“Now temperature is:“; / unsigned char code str3 =“The Systerm is designed by Zhang San“; unsigned char code str4 =“The date is 2008-9-30“; unsigned char *p =str1,str2,str3,str4; /p44 /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* P08LED */ void led_display(unsigned char *x ) / unsigned char i,j; for(i=0;i4;i+) /4 j=0; /0 while(*(xi+j)!=0) /ij P0=*(xi+j); /P0 delay(); / j+; / /* */ void main(void) unsigned char i; while(1) for(i=0;i4;i+) led_display(p); /35ctype.h #include /51 #include void main(void) while(1) P3=isalpha(_)?0xf0:0x0f;/_P3=0xf037stdlib.h #include /51 #include /isalpha /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void main(void) unsigned char i; while(1) for(i=0;i10;i+) /10 P3=rand()/160; /160P3 delay();38string.h #include /51 #include /isalpha void main(void) unsigned char str1 =“Now, The temperature is :“; unsigned char str2 =“Now, The temperature is 36 Centgrade:“; unsigned char i; i=strcmp(str1,str2); /i if(i=0) /str1=str2 P3=0x00; else if(istr2 P3=0x0f; while(1) ; /39 #include /51 # define F(a,b) (a)+(a)*(b)/256+(b) /壬ab void main(void) unsigned char i,j,k; i=40; j=30; k=20; P3=F(i,j+k); /ij+k while(1) ;42T0P28LED #include / 51 /* */ void main(void) / EA=1; / / ET0=1; /T0 TMOD=0x01; /T01 TH0=(65536-46083)/256; /T08 TL0=(65536-46083)%256; /T08 TR0=1; /T0 TF0=0; P2=0xff; while(1)/ while(TF0=0) ; TF0=0; P2=P2; TH0=(65536-46083)/256; /T08 TL0=(65536-46083)%256; /T0843T11KHz #include / 51 sbit sound=P37; /soundP3.7 /* */ void main(void) / EA=1; / / ET0=1; /T0 TMOD=0x10; /T11 TH1=(65536-921)/256; /T18 TL1=(65536-921)%256; /T18 TR1=1; /T1 TF1=0; while(1)/ while(TF1=0) ; TF1=0; sound=sound; /P3.7 TH1=(65536-921)/256; /T08 TL1=(65536-921)%256; /T0844T0P18LED #include / 51 sbit S=P34; /SP3.4 /* */ void main(void) / EA=1; / / ET0=1; /T0 TMOD=0x02; /T02 TH0=256-156; /T08 TL0=256-156; /T08 TR0=1; /T0 while(1)/ while(TF0=0) / if(S=0) /S0 P1=TL0; /TL01P1 TF0=0; /TF0047T1LED #include / 51 sbit D1=P20; /D1P2.0 sbit D2=P21; /D2P2.1 unsigned char Countor1; /涨T1 unsigned char Countor2; /涨T1 /* */ void main(void) EA=1; / ET1=1; /T1 TMOD=0x10; /T11 TH1=(65536-46083)/256; /T18 TL1=(65536-46083)%256; /T18 TR1=1; /T1 Countor1=0; /0 Countor2=0; /0 while(1)/ ; /* T1 */ void Time1(void) interrupt 3 using 0 /interrupt /3T100鹤 Countor1+; /Countor11 Countor2+; /Countor21 if(Countor1=2) /2100ms D1=D1; /P2.0 Countor1=0; /Countor100 if(Countor2=8) /8400ms D2=D2; /P2.1 Countor2=0; /Countor100 TH1=(65536-46083)/256; /T18 TL1=(65536-46083)%256; /T1848T11KHz #include / 51 sbit sound=P37; /soundP3.7 /* */ void main(void) EA=1; / ET1=1; /T1 TMOD=0x10; /TMOD=0001 000BT11 TH1=(65536-921)/256; /T18 TL1=(65536-921)%256; /T18 TR1=1; /T1 while(1)/ ; /* T1 */ void Time1(void) interrupt 3 using 0 /interrupt sound=sound; TH1=(65536-921)/256; /T18 TL1=(65536-921)%256; /T1849T0“ #include /51 sbit sound=P37; /soundP3.7 unsigned int C; /涨 /C #define l_dao 262 /l_dao1262Hz #define l_re 286 /l_re2286Hz #define l_mi 311 /l_mi3311Hz #define l_fa 349 /l_fa4349Hz #define l_sao 392 /l_sao5392Hz #define l_la 440 /l_a6440Hz #define l_xi 494 /l_xi7494Hz /C #define dao 523 /dao1523Hz #define re 587 /re2587Hz #define mi 659 /mi3659Hz #define fa 698 /fa4698Hz #define sao 784 /sao5784Hz #define la 880 /la6880Hz #define xi 987 /xi7523H /C #define h_dao 1046 /h_dao11046Hz #define h_re 1174 /h_re21174Hz #define h_mi 1318 /h_mi31318Hz #define h_fa 1396 /h_fa41396Hz #define h_sao 1567 /h_sao51567Hz #define h_la 1760 /h_la61760Hz #define h_xi 1975 /h_xi71975Hz /* 1200ms */ void delay() unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+) ; /* */ void main(void) unsigned char i,j; / unsigned int code f=re,mi,re,dao,l_la,dao,l_la, / l_sao,l_mi,l_sao,l_la,dao, l_la,dao,sao,la,mi,sao, re, mi,re,mi,sao,mi, l_sao,l_mi,l_sao,l_la,dao, l_la,l_la,dao,l_la,l_sao,l_re,l_mi, l_sao, re,re,sao,la,sao, fa,mi,sao,mi, la,sao,mi,re,mi,l_la,dao, re, mi,re,mi,sao,mi, l_sao,l_mi,l_sao,l_la,dao, l_la,dao,re,l_la,dao,re,mi, re, l_la,dao,re,l_la,dao,re,mi, re, 0xff; /0xff / /“4“4“2“2“1“1 unsigned char code JP =4,1,1,4,1,1,2, 2,2,2,2,8, 4,2,3,1,2,2, 10, 4,2,2,4,4, 2,2,2,2,4, 2,2,2,2,2,2,2, 10, 4,4,4,2,2, 4,2,4,4, 4,2,2,2,2,2,2, 10, 4,2,2,4,4, 2,2,2,2,6, 4,2,2,4,1,1,4, 10, 4,2,2,4,1,1,4, 10 ; EA=1; / ET0=1; /T0 TMOD=0x00; / T0113 while(1) / i=0; /1f0 while(fi!=0xff) / C=460830/fi; TH0=(8192-C)/32; /13TH08 TL0=(8192-C)%32; /13TL05 TR0=1; /T0 for(j=0;jJPi;j+) / delay(); /1 TR0=0; /T0 i+; / /* T0P3.7 */ void Time0(void ) interrupt 1 using 1 sound=!sound; /P3.7 TH0=(8192-C)/32; /13TH08 TL0=(8192-C)%32; /13TL054 #include / /* */ void delay(void) /void践 unsigned int i; /65535 for(i=0;i20000;i+) /20000 ; / /* C涨1 */ void main(void) while(1) / P1=0xfe; /P1=1111 1110B P1.0 delay(); / P1=0xff; /P1=1111 1111B P1.0 delay(); /50-150 #include /51 sbit u=P14; /uP1.4 /* 30ms (3*100*100=30 000s =30m */ void delay30ms(void) unsigned char m,n; for(m=0;m100;m+) for(n=0;n100;n+) ; /* */ void main(void) unsigned char i; u=1; / for(i=0;i50;i+) /50 u=1; delay30ms(); u=0; delay30ms(); while(1) ; /50-2T0 #include /51 /* */ void main(void) TMOD=0x06; / TMOD=0000 0110B,T02 EA=1; / ET0=0; /T0 TR0=1; /T0 TH0=0; /T08 TL0=0; /T08 while(1) /TL0P1 P1=TL0;51-1250 #include /51 sbit u=P14; /uP1.4 /* */ void main(void) TMOD=0x02; /TMOD=0000 0010BT02 EA=1; / ET0=1; /T0 TH0=256-250; /T08 TL0=256-250; /T08 TR0=1; /T0 while(1) / ; /* T0 */ void Time0(void) interrupt 1 using 0 /“interrupt“ u=u; /P1.452T0 #include /51 sbit u=P30; /uP3.0 unsigned char Countor; /渺 /* 30ms (3*100*100=30 000s =30ms) */ void delay30ms(void) unsigned char m,n; for(m=0;m100;m+) for(n=0;n100;n+) ; /* */ void main(void) unsigned char i; EA=1; / EX0=1; / IT0=1; / Countor=0; for(i=0;i100;i+) /100 u=1; delay30ms(); u=0; delay30ms(); while(1) ; / /* T0 */ void int0(void) interrupt 0 using 0 /00 Countor+; P1=Countor;54-1200 #include /51 sbit u=P14; /uP1.4 /* */ void main(void) TMOD=0x02; /TMOD=0000 0010BT02 EA=1; / ET0=1; /T0 TH0=256-200; /T08 TL0=256-200; /T08 TR0=1; /T0 while(1) / ; /* T0 */ void Time0(void) interrupt 1 using 0 /“interrupt“ u=u; /P1.454-2 #includereg51.h 51 sbit u=P32; uP3.2 void main(void) TMOD=0x02; TMOD=0000 0010B,T02 EA=1; EX0=1; IT0=1; ET0=1; T0 TH0=0; T00 TL0=0; T00 TR0=0; T0 while(1) ; 0 void int0(void) interrupt 0 using 0 00 TR0=1; T0 TL0=0; 0 while(u=0) T0 ; P1=TL0; P1 TR0=0; T0550 #include /51 #include /_nop_ unsigned char code Tab=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F;/鱻 sbit P17=P17; /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void Send(unsigned char dat) P17=0; /P1.7074LS1640 _nop_(); / _nop_(); /0 P17=1; /74LS1640 SBUF=dat; / while(TI=0) / ; TI=0; /TI1轫0 /* */ void main(void) unsigned char i; SCON=0x00; /SCON=0000 0000B0 while(1) for(i=0;i8;i+) Send(Tabi); / delay(); /57-1 #include / sbit p=PSW0; unsigned char code Tab =0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /鱻 /* PC */ void Send(unsigned char dat) ACC=dat; TB8=p; SBUF=dat; while(TI=0) ; TI=0; /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void main(void) unsigned char i; TMOD=0x20; /TMOD=0010 0000BT12 SCON=0xc0; /SCON=1100 0000B3, /SM20TB80 PCON=0x00; /PCON=0000 0000B9600 TH1=0xfd; /涨T1 TL1=0xfd; /涨T1 TR1=1; /T1 while(1) for(i=0;i8;i+) / Send(Tabi); /i delay(); /50ms57-2 #include / sbit p=PSW0; /* */ unsigned char Receive(void) unsigned char dat; while(RI=0) /RI“1“ ; /RI=1 RI=0; /轫RI0 ACC=SBUF; /dat if(RB8=p) dat=ACC; return dat; /* */ void main(void) TMOD=0x20; /T12 SCON=0xd0; /SCON=1101 0000B1,REN=1 PCON=0x00; /PCON=0000 0000B9600 TH1=0xfd; /涨T1 TL1=0xfd; /涨T1 TR1=1; /T1 REN=1; / while(1) P1=Receive(); /P158PC #include / unsigned char code Tab =0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /鱻 /* PC */ void Send(unsigned char dat) SBUF=dat; while(TI=0) ; TI=0; /* 150ms */ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /* */ void main(void) unsigned char i; TMOD=0x20; /TMOD=0010 0000BT12 SCON=0x40; /SCON=0100 0000B1 PCON=0x00; /PCON=0000 0000B9600 TH1=0xfd; /涨T1 TL1=0xfd; /涨T1 TR1=1; /T1 while(1) for(i=0;i8;i+) / Send(Tabi); /i delay(); /150ms59PC #include / /* */ unsigned char Receive(void) unsigned char dat; while(RI=0) /RI1 ; /RI=1 RI=0; /轫RI0 dat=SBUF; /dat return dat; /* */ void main(void) TMOD=0x20; /T12 SCON=0x50; /SCON=0101 0000B1,REN=1 PCON=0x00; /PCON=0000 0000B9600 TH1=0xfd; /涨T1 TL1=0xfd; /涨T1 TR1=1; /T1 REN=1; / while(1) P1=Receive(); /P15 P1P0P2P3I/O #include / /* C涨1 */ void main(void) while(1) / P1=0xff; / P1=1111 1111B,LED P0=P1; / P1P0 P2=P1; / P1P2 P3=P1; / P1P361LED09 #include / 51 /* */ void delay(void) unsigned char i,j; for(i=0;i255;i+) for(j=0;j255;j+) ; /* */ void main(void) unsigned char i; unsigned char code Tab10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /09仯 /code 洢 P2=0xfe; /P2.0DS0 while(1) / for(i=0;i10;i+) P0=Tabi; /P092H delay(); /62“1234“ #include / 51 void delay(void) / unsigned char i,j; for(i=0;i250;i+) for(j=0;j250;j+) ; void main(void) while(1) / P2=0xfe; /P2.0DS0 P0=0xf9; /1 delay(); P2=0xfd ; /P2.1DS1 P0=0xa4; /2 delay(); P2=0xfb; /P2.2DS2 P0=0xb0; /3 delay(); P2=0xf7; /P2.3DS3 P0=0x99; /4 delay(); P2=0xff;63LED1234 #include / 51 void delay(void) /0.6 unsigned char i; for(i=0;i200;i+) ; void main(void) while(1) / P2=0xfe; /P2.0DS0 P0=0xf9; /1 delay(); P2=0xfd ; /P2.1DS1 P0=0xa4; /2 delay(); P2=0xfb; /P2.2DS2 P0=0xb0; /3 delay(); P2=0xf7; /P2.3DS3 P0=0x99; /4 delay(); P2=0xff;

第1章概述 1.1单片机的结构与应用 1.1.1单片机的定义、分类与内部组成 1.1.2单片机应用系统的结构及其工作过程 1.1.3单片机应用 1.2单片机基础知识 1.2.1数制与数制间的转换 1.2.2单片机中数的表示方法及常用数制的对应关系 1.2.3逻辑数据的表示 1.2.4单片机中常用的基本术语 1.3单片机入门的有效方法与途径 1.4学习单片机的基本条件 1.4.1软件条件 1.4.2硬件条件 习题与实验 第2章单片机开发软件及开发过程 2.1仿真软件Proteus的使用 2.1.1Proteus的主要功能特点 2.1.2实例1:功能感受——Pmteus仿真单片机播放《渴望》主题曲 2.1.3Proteus软件的界面与操作介绍 2.1.4实例2:Proteus仿真设计快速入门 2.2KeilC51的使用 2.2.1单片机最小系统 2.2.2实例3:用Kei1C51编写点亮一个发光二极管的程序 2.3程序烧录器及烧录软件的使用 习题与实验 第3章逐步认识单片机基本结构 3.1实例4:用单片机控制一个灯闪烁 3.1.1实现方法 3.1.2程序设计 3.1.3用Proteus软件仿真 3.1.4延时程序分析 3.2实例5:将P1口状态送入P0口、P2口和P3口 3.2.1实现方法 3.2.2程序设计 3.2.3用Proteus软件仿真 3.2.4用实验板试验 3.2.5I/O口功能介绍 3.2.6I/O口的结构分析 3.3实例6:使用P3口流水点亮8位1ED 3.3.1实现方法 3.3.2程序设计 3.3.3用Proteus软件仿真 3.3.4用实验板试验 3.4实例7:通过对P3口地址的操作流水点亮8位1ED 3.4.1实现方法 3.4.2程序设计 3.4.3用Proteus软件仿真 3.4.4用实验板试验 3.5MCS-51单片机存储器的基本结构 3.5.1程序存储器 3.5.2数据存储器 3.6单片机的复位电路 习题与实验 第4章单片机C语言开发基础 4.1C语言源程序的结构特点 4.2标志符与关键字 4.3C语言的数据类型与运算符 4.3.1数据类型 4.3.2运算符 4.3.3实例8:用不同数据类型的数据控制1ED的闪烁 4.3.4实例9:用P0口、P1口分别显示加法和减法运算结果 4.3.5实例10:用P0口、P1口显示乘法运算结果 4.3.6实例11:用P1口、P0口显示除法运算结果 4.3.7实例12:用自增运算控制P0口8位1ED的闪烁花样 4.3.8实例13:用P0口显示逻辑“与”运算结果 4.3.9实例14:用P0口显示条件运算结果 4.3.10实例15:用P0口显示按位“异或”运算结果 4.3.11实例16:用P0口显示左移运算结果 4.3.12实例17:“万能逻辑电路”实验 4.3.13实例18:用右移运算流水点亮P1口8位1ED 4.4C语言的语句 4.4.1概述 4.4.2控制语句 4.4.3实例19:用if语句控制P0口8位LED的点亮状态 4.4.4实例20:用swtich语句控制PO口8位LED的点亮状态 4.4.5实例21:用for语句设计鸣笛报警程序 4.4.6实例22:用while语句控制PO口8位LED闪烁花样 4.4.7实例23:用dOwhile语句控制PO口8位LED流水点亮 4.5C语言的数组 4.5.1数组的定义和引用 4.5.2实例24:用字符型数组控制PO口8位LED流水点亮 4.5.3实例25:用PO口显示字符串常量 4.6C语言的指针 4.6.1指针的定义与引用 4.6.2实例26:用PO口显示指针运算结果 4.6.3实例27:用指针数组控制PO口8位LED流水点亮 4.6.4实例28:用数组的指针控制PO口8位LED流水点亮 4.7C语言的函数 4.7.1函数的定义与调用 4.7.2实例29:用PO口、P1口显示整型函数返回值 4.7.3实例30:用有参函数控制PO口8位LED流水速度 4.7.4实例3l:用数组作函数参数控制PO口8位LED流水点亮 4.7.5实例32:用指针作函数参数控制PO口8位LED流水点亮 4.7.6实例33:用函数型指针控制PO口8位LED流水点亮 4.7.7实例34:用指针数组作为函数的参数显示多个字符串 4.7.8实例35:字符软件ctype.h中的isalpha()函数应用举例 4.7.9实例36:内部函数库文件intrins.h中的_cml_()函数应用举例 4.7.10实例37:标准函数库文件stdlib.h中的rand()函数应用举例 4.7.1l实例38:字符串函数库文件string.h中的strcmp()函数应用举例 4.8C语言的编译预处理 4.8.1常用预处理命令介绍 4.8.2实例39:宏定义应用举例 4.8.3实例40:文件包含应用举例 4.8.4实例41:条件编译应用举例 习题与实验 第5章单片机的定时器/计数器 5.1定时器,计数器的基本概念 5.2定时器/计数器的结构及工作原理 5.2.1定时器/计数器的结构 5.2.2定时器,计数器的工作原理 5.3定时器,计数器的控制 5.3.1定时器/计数器的方式控制寄存器(TMOD) 5.3.2定时器/计数器控制寄存器(TCON) 5.3.3定时器/计数器的4种工作方式 5.3.4定时器/计数器中定时/计数初值的计算 5.4定时器/计数器应用举例 5.4.1实例42:用定时器T0查询方式控制P2口8位LED闪烁 5.4.2实例43:用定时器T1查询方式控制单片机发出1kHz音频 5.4.3实例44:用计数器TO查询的方式计数,结果送P1口显示 习题与实验 第6章单片机的中断系统 6.1中断系统的基本概念 6.2中断系统的结构及控制 6.2.1中断系统的结构 6.2.2中断系统的控制 6.3中断系统应用举例 6.3.1实例45:用定时器TO的方式1控制LED闪烁 6.3.2实例46:用定时器TO的方式1实现长时间定时 6.3.3实例47:用定时器T1的方式1控制两个LED以不同周期闪烁 6.3.4实例48.用计数器T1的中断方式控制发出1kHz音频 6.3.5实例49:用定时器TO的方式O控制播放《好人一生平安》 6.3.6实例50.用计数器TO的方式2对外部脉冲计数 6.3.7实例51:用定时器TO的门控制位测量外部正脉冲宽度 6.3.8实例52:用外中断INT0测量负跳变信号累计数 6.3.9实例53-用外中断控制INT0控制P1口LED亮灭状态 6.3.10实例54:用外中断INT0中断测量外部负脉冲宽度 习题与实验 第7章串行通信技术 7.1串行通信的基本概念 7.2串行通信口的结构 7.3串行通信口的控制 7.3.1串行控制寄存器SCON 7.3.2电源控制寄存器PCON 7.3.3四种工作方式与波特率的设置 7.4串行通信口应用举例 7.4.1实例55.将方式0用于扩展并行输出控制流水灯 7.4.2实例56.基于方式1的单工通信 7.4.3实例57:基于方式3的单工通信 7.4.4实例58:单片机向计算机发送数据 7.4.5实例59:单片机接收计算机送出的数据 习题与实验 第8章接口技术 第9章新型串行接口芯片应用介绍 第10章常用功能器件应用举例 第11章高级综合应用技术
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值