⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled.lst

📁 基于PIC18F2580实现的 1602LCD显示程序 只用4个数据口
💻 LST
📖 第 1 页 / 共 2 页
字号:
   187:     DISP1(E);                           //开显示
   188: } 
   189: 
   190: //显示"PIC18"
   191: DISPLAY1(int    E,int   PAGADD,int      CLMADD)
   192: { 
   193:         int K,m,n=0;
   194:     char TEMP;
   195:         TRANS1(0X0C0,E);
   196:         TRANS1(PAGADD,E);
   197:     for(m=0;m<4;m++)
   198:         {    
   199:                 for(K=0;K<8;K++,CLMADD++) 
   200:                 {
   201:                         TEMP=table[K+n];
   202:                         WRITE1(TEMP,CLMADD,E);
   203:                 }
   204:                 CLMADD=CLMADD-8;
   205:             PAGADD=PAGADD+1;
   206:             TRANS1(PAGADD,E);
   207:             for(;K<16;K++,CLMADD++)
   208:                 {
   209:                         TEMP=table[K+n];
   210:                         WRITE1(TEMP,CLMADD,E);
   211:                 }
   212:                 TRANS1(0X0C0,E);
   213:                 PAGADD=PAGADD-1;
   214:         TRANS1(PAGADD,E);
   215:                 n=n+16;
   216:         }
   217:         for(K=0;K<4;K++,CLMADD++) 
   218:         {
   219:                 TEMP=table[K+64];
   220:                 WRITE1(TEMP,CLMADD,E);
   221:         }
   222:         CLMADD=CLMADD-4;
   223:     PAGADD=PAGADD+1;
   224:     TRANS1(PAGADD,E);
   225:     for(;K<8;K++,CLMADD++)
   226:         {
   227:                 TEMP=table[K+64];
   228:                 WRITE1(TEMP,CLMADD,E);
   229:         }
   230: }
   231: 
   232: //显示"8F458"
   233: DISPLAY2(int    E,int   PAGADD,int      CLMADD)
   234: { 
   235:         int K,m,n=80;
   236:     char TEMP;
   237:     TRANS1(0X0C0,E);
   238:     TRANS1(PAGADD,E);
   239:         for(K=0;K<4;K++,CLMADD++) 
   240:         {
   241:                 TEMP=table[K+72];
   242:                 WRITE1(TEMP,CLMADD,E);
   243:         }
   244:         CLMADD=CLMADD-4;
   245:     PAGADD=PAGADD+1;
   246:     TRANS1(PAGADD,E);
   247:     for(;K<8;K++,CLMADD++)
   248:         {
   249:                 TEMP=table[K+72];
   250:                 WRITE1(TEMP,CLMADD,E);
   251:         }
   252:     
   253:         for(m=0;m<4;m++)
   254:         {
   255:                 TRANS1(0X0C0,E);
   256:                 PAGADD=PAGADD-1;
   257:         TRANS1(PAGADD,E);       
   258:                 for(K=0;K<8;K++,CLMADD++) 
   259:                 {
   260:                         TEMP=table[K+n];
   261:                         WRITE1(TEMP,CLMADD,E);
   262:                 }
   263:                 CLMADD=CLMADD-8;
   264:             PAGADD=PAGADD+1;
   265:             TRANS1(PAGADD,E);
   266:             for(;K<16;K++,CLMADD++)
   267:                 {
   268:                         TEMP=table[K+n];
   269:                         WRITE1(TEMP,CLMADD,E);
   270:                 }
   271:                 n=n+16;
   272:         }
   273: 
   274: }
   275: 
   276: //显示"实验"
   277: DISPLAY3(int    E,int   PAGADD,int      CLMADD)
   278: { 
   279:         int K;
   280:     char TEMP;
   281:     TRANS1(0X0C0,E);            //从0行开始显示
   282:     TRANS1(PAGADD,E);
   283:     for(K=0;K<16;K++,CLMADD++)
   284:         {   
   285:                         TEMP=table[K+144];
   286:                 WRITE1(TEMP,CLMADD,E);
   287:         }
   288:         CLMADD=CLMADD-16;
   289:     PAGADD=PAGADD+1;
   290:     TRANS1(PAGADD,E);
   291:     for(;K<32;K++,CLMADD++)
   292:         { 
   293:                         TEMP=table[K+144];
   294:                 WRITE1(TEMP,CLMADD,E);
   295:         }
   296:         TRANS1(0X0C0,E);
   297:         PAGADD=PAGADD-1;
   298:     TRANS1(PAGADD,E);
   299:         for(K=0;K<8;K++,CLMADD++) 
   300:             {
   301:                 TEMP=table[K+176];
   302:                 WRITE1(TEMP,CLMADD,E);
   303:             }
   304:         CLMADD=CLMADD-8;
   305:         PAGADD=PAGADD+1;
   306:         TRANS1(PAGADD,E);
   307:         for(;K<16;K++,CLMADD++)
   308:             {
   309:                 TEMP=table[K+176];
   310:                 WRITE1(TEMP,CLMADD,E);
   311:             }
   312: }
   313: 
   314: //显示"验板"
   315: DISPLAY4(int    E,int   PAGADD,int      CLMADD)
   316: { 
   317:         int K;
   318:     char TEMP;
   319:     TRANS1(0X0C0,E);            //从0行开始显示
   320:     TRANS1(PAGADD,E);
   321:         for(K=0;K<8;K++,CLMADD++) 
   322:             {
   323:                 TEMP=table[K+192];
   324:                 WRITE1(TEMP,CLMADD,E);
   325:             }
   326:         CLMADD=CLMADD-8;
   327:         PAGADD=PAGADD+1;
   328:         TRANS1(PAGADD,E);
   329:         for(;K<16;K++,CLMADD++)
   330:             {
   331:                 TEMP=table[K+192];
   332:                 WRITE1(TEMP,CLMADD,E);
   333:             }
   334:         TRANS1(0X0C0,E);
   335:         PAGADD=PAGADD-1;
   336:     TRANS1(PAGADD,E);
   337:     for(K=0;K<16;K++,CLMADD++)
   338:         {   
   339:                         TEMP=table[K+208];
   340:                 WRITE1(TEMP,CLMADD,E);
   341:         }
   342:         CLMADD=CLMADD-16;
   343:     PAGADD=PAGADD+1;
   344:     TRANS1(PAGADD,E);
   345:     for(;K<32;K++,CLMADD++)
   346:         { 
   347:                         TEMP=table[K+208];
   348:                 WRITE1(TEMP,CLMADD,E);
   349:         }
   350: }
   351: 
   352: //主函数
   353: main()
   354: {    
   355:         int     j;
   356: 
   357:         for(j=0;j<5;j++)
   358:         {       
   359:                 initial();
   360:         LCD1INIT(1);
   361:                 LCD1INIT(2);
   362: 
   363:         DISPLAY1(1,0xBC-j,0x5C); 
   364:         DISPLAY2(2,0xBC-j,0x40);
   365:         DISPLAY3(1,0xBE-j,0x68);
   366:                 DISPLAY4(2,0xBE-j,0x40);
   367: 
   368:                 Delay10KTCYx (255);                     /*暂停 (255 * 10,000 cycles) */
   369:         }
   370: }
   371: 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -