单片机实验提高程序.docx
- 文档编号:24760952
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:37
- 大小:17.65KB
单片机实验提高程序.docx
《单片机实验提高程序.docx》由会员分享,可在线阅读,更多相关《单片机实验提高程序.docx(37页珍藏版)》请在冰豆网上搜索。
单片机实验提高程序
斜线
#include
typedefunsignedcharuchar;
typedefunsignedintuint;
typedefunsignedlongulong;
sbitLED=P3^3;
voidFirst(void)
{
PCA0MD&=~0x40;
XBR1=0x40;
P3MDOUT|=0x08;
}
voidDelay(uintn)
{uinti;
for(i=0;i } sbitLCD_D1=P1^0; sbitLCD_RW=P1^1; sbitLCD_CS=P1^2; sbitLCD_E=P1^3; sbitLCD_RST=P1^4; #defineCS11 #defineCS20 voidLCD_WrCmd(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=0; P0=val; LCD_E=0; LCD_E=1; } voidLCD_WrData(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=1; P0=val; LCD_E=0; LCD_E=1; } voidLCD_Set_HL(ucharHang,ucharLie) { bitcs; cs=(Lie<64? CS1: CS2); { LCD_WrCmd(cs,0x40|Lie); LCD_WrCmd(cs,0xb8|Hang); } } voidLCD_Clr(void) { ucharH,L; for(H=0;H<8;H++) { LCD_Set_HL(H,0); for(L=0;L<64;L++) { LCD_WrData(CS1,0); } LCD_Set_HL(H,64); for(L=0;L<64;L++) { LCD_WrData(CS2,0); } } } voidLCD_Init(void) { LCD_RST=0; Delay(5000); LCD_RST=1; LCD_WrCmd(CS1,0x3f); LCD_WrCmd(CS2,0x3f); LCD_WrCmd(CS1,0xc0); LCD_WrCmd(CS2,0xc0); LCD_Clr(); } voidmain(void) { uchari,H,L,Val; First(); LCD_Init(); while (1) { Val=0x01; LCD_Set_HL(H,L); for(i=0;i<8;i++) { LCD_WrData(CS1,Val); Val<<=1; } L+=8; } } A加框闪烁 #include typedefunsignedcharuchar; typedefunsignedintuint; typedefunsignedlongulong; sbitLED=P3^3; voidFirst(void) { PCA0MD&=~0x40; XBR1=0x40; P3MDOUT|=0x08; } voidDelay(uintn) {uinti; for(i=0;i } sbitLCD_D1=P1^0; sbitLCD_RW=P1^1; sbitLCD_CS=P1^2; sbitLCD_E=P1^3; sbitLCD_RST=P1^4; #defineCS11 #defineCS20 voidLCD_WrCmd(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=0; P0=val; LCD_E=0; LCD_E=1; } voidLCD_WrData(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=1; P0=val; LCD_E=0; LCD_E=1; } voidLCD_Set_HL(ucharHang,ucharLie) { bitcs; cs=(Lie<64? CS1: CS2); { LCD_WrCmd(cs,0x40|Lie); LCD_WrCmd(cs,0xb8|Hang); } } voidLCD_Clr(void) { ucharH,L; for(H=0;H<8;H++) { LCD_Set_HL(H,0); for(L=0;L<64;L++) { LCD_WrData(CS1,0); } LCD_Set_HL(H,64); for(L=0;L<64;L++) { LCD_WrData(CS2,0); } } } voidLCD_Init(void) { LCD_RST=0; Delay(5000); LCD_RST=1; LCD_WrCmd(CS1,0x3f); LCD_WrCmd(CS2,0x3f); LCD_WrCmd(CS1,0xc0); LCD_WrCmd(CS2,0xc0); LCD_Clr(); } ucharcodeTab_5_8[]={ 0x00,0xFC,0x22,0x22,0x22,0xFC,0x00,0x00, 0x00,0xFE,0x92,0x92,0x92,0x6C,0x00,0x00, 0x00,0xBC,0x82,0x82,0x82,0x44,0x00,0x00, 0x00,0xFE,0x82,0x82,0x84,0x78,0x00,0x00, }; voidLCD_DispChar(ucharHang,ucharLie,charch) { ucharcode*p; ucharVal,i,a=1; bitcs; while (1) { if(a) { Hang=Hang&0x07; Lie=Lie&0x0f; p=Tab_5_8+(ch-0x41)*5; LCD_Set_HL(Hang,Lie*8); cs=(Lie<8? CS1: CS2); for(i=0;i<8;i++) { if(i==0) Val=0xff|*p; elseif(i==7) Val=0xff|*p; else Val=0x81|*p; LCD_WrData(cs,Val); p++; } Delay(20000); a=! a; } else { Hang=Hang&0x07; Lie=Lie&0x0f; p=Tab_5_8+(ch-0x41)*5; LCD_Set_HL(Hang,Lie*8); cs=(Lie<8? CS1: CS2); for(i=0;i<8;i++) { Val=0x00|*p; LCD_WrData(cs,Val); p++; } Delay(20000); a=! a; } } } voidLCD_DispStr(ucharHang,ucharLie,char*Str) { while(*Str! ='\0') { Hang=Hang&0x07; Lie=Lie&0x0f; LCD_DispChar(Hang,Lie,*Str); Str++; Lie++; if(Lie>15)Hang++; } } voidmain(void) { First(); LCD_Init(); LCD_DispStr(1,0,"A"); while (1) { LED=! LED; Delay(10000); } } 字符显示 #include typedefunsignedcharuchar; typedefunsignedintuint; typedefunsignedlongulong; sbitLED=P3^3; voidFirst(void) { PCA0MD&=~0x40; XBR1=0x40; P3MDOUT|=0x08; } voidDelay(uintn) {uinti; for(i=0;i } sbitLCD_D1=P1^0; sbitLCD_RW=P1^1; sbitLCD_CS=P1^2; sbitLCD_E=P1^3; sbitLCD_RST=P1^4; #defineCS11 #defineCS20 voidLCD_WrCmd(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=0; P0=val; LCD_E=0; LCD_E=1; } voidLCD_WrData(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=1; P0=val; LCD_E=0; LCD_E=1; } voidLCD_Set_HL(ucharHang,ucharLie) { bitcs; cs=(Lie<64? CS1: CS2); { LCD_WrCmd(cs,0x40|Lie); LCD_WrCmd(cs,0xb8|Hang); } } voidLCD_Clr(void) { ucharH,L; for(H=0;H<8;H++) { LCD_Set_HL(H,0); for(L=0;L<64;L++) { LCD_WrData(CS1,0); } LCD_Set_HL(H,64); for(L=0;L<64;L++) { LCD_WrData(CS2,0); } } } voidLCD_Init(void) { LCD_RST=0; Delay(5000); LCD_RST=1; LCD_WrCmd(CS1,0x3f); LCD_WrCmd(CS2,0x3f); LCD_WrCmd(CS1,0xc0); LCD_WrCmd(CS2,0xc0); LCD_Clr(); } ucharcodeTab_5_8[]={ 0x00,0x00,0x48,0x00,0x00, 0xFE,0x92,0x92,0x92,0x6C, 0xBC,0x82,0x82,0x82,0x44, 0xFE,0x82,0x82,0x84,0x78, }; ucharcodeTab_shu[]={ 0x7c,0x82,0x82,0x82,0x7c, 0x00,0x00,0x00,0xff,0x00, 0x84,0xc2,0xa2,0x92,0x0e, 0x44,0x92,0x92,0x92,0x7c, 0x3e,0x20,0xfe,0x20,0x20, 0x9e,0x92,0x92,0x92,0xf2, 0xfe,0x92,0x92,0x92,0xf2, 0x02,0x02,0x02,0xfa,0x06, 0xfe,0x92,0x92,0x92,0xfe, 0x9e,0x92,0x92,0x92,0xfe, }; voidLCD_DispChar(ucharHang,ucharLie,charch) { ucharcode*p; uchari; bitcs; Hang=Hang&0x07; Lie=Lie&0x0f; if(ch<0x41) p=Tab_shu+(ch-0x30)*5; else p=Tab_5_8+(ch-0x41)*5; LCD_Set_HL(Hang,Lie*8); cs=(Lie<8? CS1: CS2); LCD_WrData(cs,0x00); for(i=0;i<5;i++) { LCD_WrData(cs,*p++); } LCD_WrData(cs,0x00); LCD_WrData(cs,0x00); } voidLCD_DispStr(ucharHang,ucharLie,char*Str) { while(*Str! ='\0') { Hang=Hang&0x07; Lie=Lie&0x0f; LCD_DispChar(Hang,Lie,*Str); Str++; Lie++; if(Lie>15)Hang++; } } voidmain(void) { First(); LCD_Init(); LCD_DispStr(1,0,"2A7A10"); while (1) { LED=! LED; Delay(10000); } } 反显示 #include typedefunsignedcharuchar; typedefunsignedintuint; typedefunsignedlongulong; sbitLED=P3^3; voidFirst(void) { PCA0MD&=~0x40; XBR1=0x40; P3MDOUT|=0x08; } voidDelay(uintn) {uinti; for(i=0;i } sbitLCD_D1=P1^0; sbitLCD_RW=P1^1; sbitLCD_CS=P1^2; sbitLCD_E=P1^3; sbitLCD_RST=P1^4; #defineCS11 #defineCS20 voidLCD_WrCmd(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=0; P0=val; LCD_E=0; LCD_E=1; } voidLCD_WrData(bitcs,ucharval) { LCD_CS=cs; LCD_RW=0; LCD_D1=1; P0=val; LCD_E=0; LCD_E=1; } voidLCD_Set_HL(ucharHang,ucharLie) { bitcs; cs=(Lie<64? CS1: CS2); { LCD_WrCmd(cs,0x40|Lie); LCD_WrCmd(cs,0xb8|Hang); } } voidLCD_Clr(void) { ucharH,L; for(H=0;H<8;H++) { LCD_Set_HL(H,0); for(L=0;L<64;L++) { LCD_WrData(CS1,0); } LCD_Set_HL(H,64); for(L=0;L<64;L++) { LCD_WrData(CS2,0); } } } voidLCD_Init(void) { LCD_RST=0; Delay(5000); LCD_RST=1; LCD_WrCmd(CS1,0x3f); LCD_WrCmd(CS2,0x3f); LCD_WrCmd(CS1,0xc0); LCD_WrCmd(CS2,0xc0); LCD_Clr(); } ucharcodeTab_5_8[]={ 0xFC,0x22,0x22,0x22,0xFC, 0xFE,0x92,0x92,0x92,0x6C, 0xBC,0x82,0x82,0x82,0x44, 0xFE,0x82,0x82,0x84,0x78, }; ucharcodeTab_16_16[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00, 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x60,0x40,0x00, 0x10,0x60,0x01,0xF6,0x00,0x10,0xF8,0x17,0x34,0x54,0x14,0x14,0xF4,0x04,0x04,0x00, 0x04,0x04,0xFF,0x00,0x01,0x01,0x1F,0x11,0x13,0x15,0x51,0x91,0x7F,0x11,0x11,0x00, 0x00,0x00,0xFC,0x44,0x84,0x04,0x14,0x25,0xC6,0x84,0x04,0x04,0xE4,0x44,0x00,0x00, 0x40,0x38,0x07,0x20,0x20,0x2F,0x24,0x20,0x23,0x30,0x2C,0x23,0x20,0x20,0x20,0x00, 0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00, 0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00, 0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00, 0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00, 0x10,0x10,0x10,0x10,0x10,0x90,0x50,0xFF,0x50,0x90,0x12,0x14,0x10,0x10,0x10,0x00, 0x10,0x10,0x08,0x04,0x02,0x01,0x00,0x7F,0x00,0x00,0x01,0x06,0x0C,0x18,0x08,0x00 }; voidLCD_DispChar(ucharHang,ucharLie,charch) { ucharcode*p; uchari; bitcs; Hang=Hang&0x07; Lie=Lie&0x0f; p=Tab_5_8+(ch-0x41)*5; LCD_Set_HL(Hang,Lie*8); cs=(Lie<8? CS1: CS2); LCD_WrData(cs,0x00); for(i=0;i<5;i++) { LCD_WrData(cs,*p++); } LCD_WrData(cs,0x00); LCD_WrData(cs,0x00); } voidLCD_DispStr(ucharHang,ucharLie,char*Str) { while(*Str! ='\0') { Hang=Hang&0x07; Lie=Lie&0x0f; LCD_DispChar(Hang,Lie,*Str); Str++; Lie++; if(Lie>15)Hang++; } } voidLCD_DispHanZi(ucharHang,ucharLie,ucharN) { ucharcode*p,L,i; bitcs; cs=(Lie<4? CS1: CS2); p=Tab_16_16+N*32+32; LCD_Set_HL(Hang+1,Lie*16); for(L=0;L<16;L++) { LCD_WrData(cs,*p--); } Hang; LCD_Set_HL(Hang,Lie*16); for(L=0;L<16;L++) { LCD_WrData(cs,*p--); } p=Tab_16_16+N*32; LCD_Set_HL(Hang,(Lie+1)*16); for(i=0;i<16;i++) { LCD_WrData(cs,*p++); } Hang++; LCD_Set_HL(Hang,(Lie+1)*16); for(i=0;i<16;i++) { LCD_WrData(cs,*p++); } } voidmain(void) { First(); LCD_Init(); LCD_DispHanZi(0,0,0); LCD_DispHanZi(0,6,1); LCD_DispHanZi(6,0,2); LCD_DispHanZi(6,6,3); while (1) { LED=! LED; Delay(10000); } 大时钟 #include typedefunsignedcharuchar; typedefunsignedintuint; typedefunsignedlongulong; sbitLED=P3^3; voidFirst(void) { PCA0MD&=~0x40; XBR1=0x40; P3MDOUT|=0x08; } voidDelay(uintn) {uinti; for(i=0;i } sbitLCD_D1=P1^0; sbitLCD_RW=P1^1; sbitLCD_CS=P1^2; sbitLCD_E=P1^3; sbitLCD_RST=P1^4; #defineCS11 #defineCS20 void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 提高 程序