|
單片機(jī)源程序如下:
- /************************************************************************************
- * Copyright (c), 2013, HelTec Automatic Technology co.,LTD.
- * All rights reserved.
- * File name: OLED12864.c
- * Project : OLED
- * Processor: STC89C52
- * Compiler : Keil C51 Compiler
- *
- * Author : 小林
- * Version: 1.00
- * Email : hello14blog@gmail.com
- * Modification: none
- *
- * Description: 128*64點(diǎn)整OLED模塊功能演示程序的主函數(shù),僅適用heltec.taobao.com所售產(chǎn)品
- *
- * Others: none;
- *
- * Function List:
- *
- * 1. void delay(unsigned int z) -- 主函數(shù)中用于調(diào)整顯示效果的延時(shí)函數(shù),STC89C52 12MHZ z=1時(shí)大約延時(shí)1ms,其他頻率需要自己計(jì)算
- * 2. void main(void) -- 主函數(shù)
- *
- * History: none;
- *
- *************************************************************************************/
- //#include "reg52.h"
- #include "intrins.h"
- #include "codetab.h"
- #include "LQ12864.h"
- sbit k1=P3^0;
- sbit k2=P3^1;
- sbit k3=P3^2;
- sbit k4=P3^3;
- void main(void)
- {
- OLED_Init(); //OLED初始化
- Draw_BMP(0,0,128,8,BMP0);
- while(1)
- {
- // OLED_Fill(0xff); //屏全亮
- // delay(2000);
- // OLED_Fill(0x00); //屏全滅
- // delay(200);
- //OLED_P16x16Ch(24,0,1);
- //OLED_P16x16Ch(40,0,2);
- //OLED_P16x16Ch(57,0,3);
- //OLED_P16x16Ch(74,0,4);
- //OLED_P16x16Ch(91,0,5);
- /* for(i=0; i<7; i++)//通過(guò)點(diǎn)整顯示漢字 -- i表示字表數(shù)組的位置
- {
- // OLED_P16x16Ch(i*16,0,i);
- //OLED_P16x16Ch(i*16,2,i+8);
- OLED_P16x16Ch(i*16,4,i+16);
- // OLED_P16x16Ch(i*16,6,i+24);
- }
- delay(4000);
- OLED_CLS();//清屏
- /* OLED_P8x16Str(0,0,"HelTec");//第一行 -- 8x16的顯示單元顯示ASCII碼
- OLED_P8x16Str(0,2,"OLED Display");
- OLED_P8x16Str(0,4,"www8heltec8cn");
- OLED_P6x8Str(0,6,"cn.heltec@gmail8com");
- OLED_P6x8Str(0,7,"heltec8taobao8com");
- delay(4000);
- OLED_CLS(); */
-
- if(k1==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k1==0) //再次判斷按鍵是否按下
- {
-
- Draw_BMP(0,0,128,8,BMP1); //led狀態(tài)取反
- }
- while(!k1); //檢測(cè)按鍵是否松開(kāi)
- }
-
-
-
- if(k2==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k2==0) //再次判斷按鍵是否按下
- {
-
-
- Draw_BMP(0,0,128,8,BMP2); //led狀態(tài)取反
- }
- while(!k2); //檢測(cè)按鍵是否松開(kāi)
- }
-
-
- if(k3==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k3==0) //再次判斷按鍵是否按下
- {
-
-
- Draw_BMP(0,0,128,8,BMP3); //led狀態(tài)取反
- }
- while(!k3); //檢測(cè)按鍵是否松開(kāi)
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
(03)C51例程(STC89C52).zip
(71.37 KB, 下載次數(shù): 328)
2017-12-27 11:01 上傳
點(diǎn)擊文件名下載附件
51單片機(jī)按鍵控制oled顯示5張圖片
|
|