77范文网 - 专业文章范例文档资料分享平台

OLED显示时钟(8)

来源:网络收集 时间:2019-08-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

VOID SetStartColumn(UCHAR8 ucData); VOID SetAddressingMode(UCHAR8

extern VOID OLED_P8x16char(UCHAR8

ucIdxX, UCHAR8 ucIdxY, ucData); ucData);

VOID SetColumnAddress(UCHAR8 a, UCHAR8 b);

VOID SetPageAddress(UCHAR8 a, UCHAR8 b);

VOID SetStartLine(UCHAR8 d); VOID SetContrastControl(UCHAR8 d); VOID SetChargePump(UCHAR8 d); VOID SetSegmentRemap(UCHAR8 d); VOID SetEntireDisplay(UCHAR8 d); VOID SetInverseDisplay(UCHAR8 d); VOID SetMultiplexRatio(UCHAR8 d); VOID SetDisplayOnOff(UCHAR8 d); VOID SetStartPage(UCHAR8 d); VOID SetCommonRemap(UCHAR8 d); VOID SetDisplayOffset(UCHAR8 d); VOID SetDisplayClock(UCHAR8 d); VOID SetPrechargePeriod(UCHAR8 d); VOID SetCommonConfig(UCHAR8 d); VOID SetVCOMH(UCHAR8 d); VOID SetNop(VOID);

extern VOID OLED_Init(VOID); extern

VOID

OLED_SetPos(UCHAR8 ucIdxX, UCHAR8 ucIdxY);

extern VOID OLED_P6x8Char(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8

ucData);

//增加函数显示一个8x16字符

extern VOID OLED_P6x8Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8

ucDataStr[]);

extern VOID OLED_P8x16Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucDataStr[]);

extern VOID OLED_P14x16Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucDataStr[]);

extern VOID OLED_PXx16MixStr(UCHAR8 ucIdxX, UCHAR8 ucIdxY, UCHAR8 ucDataStr[]); extern VOID

OLED_Fill(UCHAR8

ucData);

extern VOID OLED_PrintChar(UCHAR8 ucIdxX, UCHAR8 ucIdxY, CHAR8 cData); extern VOID OLED_PrintShort(UCHAR8 ucIdxX, UCHAR8 ucIdxY, SHORT16 sData);

extern VOID OLED_PrintImage(UCHAR8 *pucTable,

USHORT16

usRowNum,

USHORT16 usColumnNum);

extern VOID OLED_P16x32Image(UCHAR8 ucIdxX, UCHAR8 ucIdxY, UCHAR8 ucData);//自己编制的显示0~9大数字,

将数字变成16x32图形

VOID OLED_WrDat(UCHAR8 ucData) {

UCHAR8 i = 8; OLED_DC = 1; OLED_SCL = 0;

while (i--) {

if (ucData & 0x80) {

OLED_SDA = 1; } else {

OLED_SDA = 0; }

OLED_SCL = 1; _nop_();

OLED_SCL = 0; ucData <<= 1; }

return; }

VOID OLED_WrCmd(UCHAR8 ucCmd) {

UCHAR8 i = 8;

OLED_DC = 0; OLED_SCL = 0; while (i--) {

if (ucCmd & 0x80) {

OLED_SDA = 1; } else {

OLED_SDA = 0; }

OLED_SCL = 1; _nop_(); OLED_SCL = 0; ucCmd <<= 1; }

return; }

VOID OLED_SetPos(UCHAR8 ucIdxX, UCHAR8 ucIdxY) {

OLED_WrCmd(0xb0 + ucIdxY); OLED_WrCmd(((ucIdxX & 0xf0) >> 4) | 0x10);

OLED_WrCmd((ucIdxX & 0x0f) | 0x00); }

VOID OLED_Fill(UCHAR8 ucData) {

UCHAR8 ucPage,ucColumn;

for(ucPage = 0; ucPage < 8; ucPage++) {

OLED_WrCmd(0xb0 + ucPage); //0xb0+0~7表示页0~7

OLED_WrCmd(0x00); //0x00+0~16表示将128列分成16组其地址在某组中的第几列

OLED_WrCmd(0x10); //0x10+0~16表示将128列分成16组其地址所在第几组

for(ucColumn = 0; ucColumn < 128; ucColumn++) {

OLED_WrDat(ucData); } } }

VOID SetStartColumn(UCHAR8 ucData) {

OLED_WrCmd(0x00+ucData % 16); // Set Lower Column Start Address for Page Addressing Mode

// Default => 0x00

OLED_WrCmd(0x10+ucData / 16); // Set Higher Column Start Address for Page Addressing Mode

// Default => 0x10 } VOID SetAddressingMode(UCHAR8

ucData) {

OLED_WrCmd(0x20); // Set Memory Addressing Mode

OLED_WrCmd(ucData); // Default => 0x02

// 0x00 => Horizontal Addressing Mode // 0x01 => Vertical Addressing Mode // 0x02 => Page Addressing Mode }

VOID SetColumnAddress(UCHAR8 a, UCHAR8 b)

{ OLED_WrCmd(0x21); // Set Column Address

OLED_WrCmd(a); //

Default => 0x00 (Column Start Address)

OLED_WrCmd(b); // Default => 0x7F (Column End Address) }

VOID SetPageAddress(UCHAR8 a, UCHAR8 b) {

OLED_WrCmd(0x22); // Set Page Address

OLED_WrCmd(a); // Default => 0x00 (Page Start Address) OLED_WrCmd(b); // Default => 0x07 (Page End Address) }

VOID SetStartLine(UCHAR8 ucData) {

OLED_WrCmd(0x40|ucData); // Set Display Start Line

// Default => 0x40 (0x00) } VOID SetContrastControl(UCHAR8 ucData) {

OLED_WrCmd(0x81); // Set

Contrast Control

OLED_WrCmd(ucData); // Default => 0x7F }

VOID SetChargePump(UCHAR8 ucData) {

OLED_WrCmd(0x8D); // Set Charge Pump

OLED_WrCmd(0x10|ucData); //

Default => 0x10

// 0x10 (0x00) => Disable Charge Pump // 0x14 (0x04) => Enable Charge Pump }

VOID SetSegmentRemap(UCHAR8 ucData) {

OLED_WrCmd(0xA0|ucData); // Set Segment Re-Map

// Default => 0xA0

// 0xA0 (0x00) => Column Address 0 Mapped to

SEG0

// 0xA1 (0x01) => Column Address 0 Mapped to SEG127

} VOID SetEntireDisplay(UCHAR8

ucData) {

OLED_WrCmd(0xA4|ucData); // Set Entire Display On / Off // Default => 0xA4

// 0xA4 (0x00) => Normal Display

// 0xA5 (0x01) => Entire Display On } VOID SetInverseDisplay(UCHAR8

ucData) {

OLED_WrCmd(0xA6|ucData); // Set Inverse Display On/Off

// Default => 0xA6

// 0xA6 (0x00) => Normal Display

// 0xA7 (0x01) => Inverse Display On } VOID

SetMultiplexRatio(UCHAR8

ucData) {

OLED_WrCmd(0xA8); // Set Multiplex Ratio

OLED_WrCmd(ucData); // Default => 0x3F (1/64 Duty) }

VOID SetDisplayOnOff(UCHAR8 ucData) {

OLED_WrCmd(0xAE|ucData); // Set Display On/Off

// Default => 0xAE

// 0xAE

(0x00) => Display Off

// 0xAF (0x01) => Display On }

VOID SetStartPage(UCHAR8 ucData) {

OLED_WrCmd(0xB0|ucData); // Set Page Start Address for Page Addressing Mode

// Default => 0xB0 (0x00) }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库OLED显示时钟(8)在线全文阅读。

OLED显示时钟(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/688187.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: