单片机源程序如下:
- /************************************************************************************
- * 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点整OLED模块功能演示程序的主函数,仅适用heltec.taobao.com所售产品
- *
- * Others: none;
- *
- * Function List:
- *
- * 1. void delay(unsigned int z) -- 主函数中用于调整显示效果的延时函数,STC89C52 12MHZ z=1时大约延时1ms,其他频率需要自己计算
- * 2. void main(void) -- 主函数
- *
- * 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++)//通过点整显示汉字 -- i表示字表数组的位置
- {
- // 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) //检测按键K1是否按下
- {
- delay(100); //消除抖动 一般大约10ms
- if(k1==0) //再次判断按键是否按下
- {
-
- Draw_BMP(0,0,128,8,BMP1); //led状态取反
- }
- while(!k1); //检测按键是否松开
- }
-
-
-
- if(k2==0) //检测按键K1是否按下
- {
- delay(100); //消除抖动 一般大约10ms
- if(k2==0) //再次判断按键是否按下
- {
-
-
- Draw_BMP(0,0,128,8,BMP2); //led状态取反
- }
- while(!k2); //检测按键是否松开
- }
-
-
- if(k3==0) //检测按键K1是否按下
- {
- delay(100); //消除抖动 一般大约10ms
- if(k3==0) //再次判断按键是否按下
- {
-
-
- Draw_BMP(0,0,128,8,BMP3); //led状态取反
- }
- while(!k3); //检测按键是否松开
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
(03)C51例程(STC89C52).zip
(71.37 KB, 下载次数: 328)
|