#include #include sbit lcd_sclk=P5^0; /*接口定義:lcd_sclk就是CLK*/ sbit lcd_sid=P5^1; /*接口定義:lcd_sid就是MOSI*/ sbit lcd_rs=P5^2; /*接口定義:lcd_rs就是DC*/ sbit lcd_cs1=P5^3; /*接口定義:lcd_cs1就是OLED的片選CS1*/ sbit Rom_OUT=P5^4; /*字庫(kù)IC接口定義:Rom_OUT就是FSO*/ sbit Rom_CS=P5^5; /*字庫(kù)IC接口定義Rom_CS就是字庫(kù)IC的CS2*/ unsigned char code ASCII[] = {'0','1','2','3','4','5','6','7','8','9'}; #define uchar unsigned char #define uint unsigned int #define ulong unsigned long uchar code bmp1[]; /*寫指令到LCD模塊*/ void transfer_command_lcd(int data1) { char i; lcd_rs=0; lcd_sclk=0; for(i=0;i<8;i++) { if(data1&0x80) lcd_sid=1; else lcd_sid=0; lcd_sclk=1; _nop_(); lcd_sclk=0; data1<<=1; } } /*寫數(shù)據(jù)到LCD模塊*/ void transfer_data_lcd(int data1) { char i; lcd_rs=1; lcd_sclk=0; for(i=0;i<8;i++) { if(data1&0x80) lcd_sid=1; else lcd_sid=0; lcd_sclk=1; _nop_(); lcd_sclk=0; data1<<=1; } } /*延時(shí)*/ void delay(int n_ms) { int j,k; for(j=0;j } /*等待一個(gè)按鍵,我的主板是用P2.0與GND之間接一個(gè)按鍵*/ //void waitkey() //{ // repeat: // if (P2&0x01) goto repeat; // else delay(6); // if (P2&0x01) goto repeat; // else // delay(40);; //} /*LCD模塊初始化*/ void initial_lcd() { lcd_cs1=0; Rom_CS = 1; // lcd_reset=0; /*低電平復(fù)位*/ delay(20); //lcd_reset=1; /*復(fù)位完畢*/ delay(20); transfer_command_lcd(0xAE); //display off transfer_command_lcd(0x20); //Set Memory Addressing Mode transfer_command_lcd(0x10); //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid transfer_command_lcd(0xb0); //Set Page Start Address for Page Addressing Mode,0-7 transfer_command_lcd(0xc8); //Set COM Output Scan Direction transfer_command_lcd(0x00);//---set low column address transfer_command_lcd(0x10);//---set high column address transfer_command_lcd(0x40);//--set start line address transfer_command_lcd(0x81);//--set contrast control register transfer_command_lcd(0x7f); transfer_command_lcd(0xa1);//--set segment re-map 0 to 127 transfer_command_lcd(0xa6);//--set normal display transfer_command_lcd(0xa8);//--set multiplex ratio(1 to 64) transfer_command_lcd(0x3F);// transfer_command_lcd(0xa4);//0xa4,Output follows RAM content;0xa5,Output ignores RAM content transfer_command_lcd(0xd3);//-set display offset transfer_command_lcd(0x00);//-not offset transfer_command_lcd(0xd5);//--set display clock divide ratio/oscillator frequency transfer_command_lcd(0xf0);//--set divide ratio transfer_command_lcd(0xd9);//--set pre-charge period transfer_command_lcd(0x22); // transfer_command_lcd(0xda);//--set com pins hardware configuration transfer_command_lcd(0x12); transfer_command_lcd(0xdb);//--set vcomh transfer_command_lcd(0x20);//0x20,0.77xVcc transfer_command_lcd(0x8d);//--set DC-DC enable transfer_command_lcd(0x14);// transfer_command_lcd(0xaf);//--turn on oled panel lcd_cs1=1; } void lcd_address(uchar page,uchar column) { transfer_command_lcd(0xb0 + column); /*設(shè)置頁(yè)地址*/ transfer_command_lcd(((page & 0xf0) >> 4) | 0x10); /*設(shè)置列地址的高4位*/ transfer_command_lcd((page & 0x0f) | 0x00); /*設(shè)置列地址的低4位*/ } /*全屏清屏*/ void clear_screen() { unsigned char i,j; lcd_cs1=0; Rom_CS = 1; for(i=0;i<8;i++) { transfer_command_lcd(0xb0+i); transfer_command_lcd(0x00); transfer_command_lcd(0x10); for(j=0;j<128;j++) { transfer_data_lcd(0x00); } } lcd_cs1=1; } /*顯示128x64點(diǎn)陣圖像*/ //void display_128x64(uchar *dp) //{ // uint i,j; // lcd_cs1=0; // for(j=0;j<8;j++) // { // lcd_address(0,j); // for (i=0;i<128;i++) // { // transfer_data_lcd(*dp); /*寫數(shù)據(jù)到LCD,每寫完一個(gè)8位的數(shù)據(jù)后列地址自動(dòng)加1*/ // dp++; // } // } // lcd_cs1=1; //} /*顯示16x16點(diǎn)陣圖像、漢字、生僻字或16x16點(diǎn)陣的其他圖標(biāo)*/ void display_graphic_16x16(uint page,uint column,uchar *dp) { uint i,j; lcd_cs1=0; Rom_CS = 1; for(j=2;j>0;j--) { lcd_address(column,page); for (i=0;i<16;i++) { transfer_data_lcd(*dp); /*寫數(shù)據(jù)到LCD,每寫完一個(gè)8位的數(shù)據(jù)后列地址自動(dòng)加1*/ dp++; } page++; } lcd_cs1=1; } /*顯示8x16點(diǎn)陣圖像、ASCII, 或8x16點(diǎn)陣的自造字符、其他圖標(biāo)*/ void display_graphic_8x16(uint page,uchar column,uchar *dp) { uint i,j; lcd_cs1=0; for(j=2;j>0;j--) { lcd_address(column,page); for (i=0;i<8;i++) { transfer_data_lcd(*dp); /*寫數(shù)據(jù)到LCD,每寫完一個(gè)8位的數(shù)據(jù)后列地址自動(dòng)加1*/ dp++; } page++; } lcd_cs1=1; } /*顯示5*7點(diǎn)陣圖像、ASCII, 或5x7點(diǎn)陣的自造字符、其他圖標(biāo)*/ //void display_graphic_5x7(uint page,uchar column,uchar *dp)
上一篇:stm8s003k3加數(shù)碼管做的定時(shí)小板,繼電器以及MOS管輸出
下一篇:單片機(jī)C語(yǔ)言 串口傳輸 結(jié)構(gòu)體
推薦閱讀最新更新時(shí)間:2025-04-26 23:11




設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計(jì)
- 小型傾轉(zhuǎn)旋翼機(jī)的無(wú)刷直流電機(jī)驅(qū)動(dòng)器設(shè)計(jì)
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)
- 基于GPS自動(dòng)授時(shí)的無(wú)線智能控制器的設(shè)計(jì)
- 基于PTR2000的無(wú)線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無(wú)人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- MC33074ADTBR2G 高順從電壓至灌電流轉(zhuǎn)換器的典型應(yīng)用
- LT1307BCS8 單節(jié)電池供電恒流 LED 驅(qū)動(dòng)器的典型應(yīng)用電路
- 微型收發(fā)器STKNX評(píng)估和開(kāi)發(fā)套件
- 用于簡(jiǎn)單 400 mW 唱機(jī)放大器的 TL431A 可編程精密基準(zhǔn)的典型應(yīng)用
- LT6654BHLS8-4.096 擴(kuò)展電源范圍電壓基準(zhǔn)的典型應(yīng)用
- LT1506IR-3.3 SYNC 雙路輸出 SEPIC 轉(zhuǎn)換器的典型應(yīng)用電路
- EV-ADF4116SD1Z,用于評(píng)估 ADF4116 單整數(shù) N 550MHz PLL 頻率合成器的評(píng)估板
- 使用 Microchip Technology 的 LM385BCOA-2.5 的參考設(shè)計(jì)
- 基于梁山派的廚房環(huán)境檢測(cè)系統(tǒng)
- 用于便攜式的 1.2V DC 到 DC 單路輸出電源
- 貿(mào)澤開(kāi)售Raspberry Pi用于嵌入式和IIoT應(yīng)用的RP2350微控制器
- 高壓不懼,小巧有力——納芯微車規(guī)級(jí)絕壓傳感器NSPAD1N拓展壓力傳感性能邊界
- 如何為特定應(yīng)用選擇溫度傳感器
- Polyn 首款神經(jīng)擬態(tài)模擬信號(hào)處理芯片流片成功
- 鎧俠公開(kāi)首秀光學(xué)SSD:30米開(kāi)外 依舊滿血
- 三星激進(jìn)投資 HBM4,押注 1c DRAM 挑戰(zhàn) SK 海力士霸主地位
- 英特爾推出三款 AI GPU 系統(tǒng)頭節(jié)點(diǎn)至強(qiáng)處理器
- 智慧與實(shí)踐交融:亞世科化學(xué)鑄造學(xué)院專場(chǎng)研討會(huì)圓滿舉辦
- 驅(qū)動(dòng)汽車電子創(chuàng)新:RIGOL CAN-FD總線分析解決方案
- 掌握拓?fù)溥x擇:優(yōu)化電池供電設(shè)備設(shè)計(jì)
- 【贈(zèng)書100%有禮】一本書教你如何開(kāi)發(fā)測(cè)試系統(tǒng),深入了解數(shù)據(jù)采集系統(tǒng)
- Wi-Fi智能戰(zhàn)隊(duì)征集令,Open1081免費(fèi)試用進(jìn)行中...
- 有獎(jiǎng)直播:TI MSP430TM集成可配置信號(hào)鏈模塊在傳感測(cè)量領(lǐng)域的應(yīng)用
- 下載有禮嘍!2017年泰克亞太專家大講堂第三期: 超寬帶復(fù)雜電磁信號(hào)產(chǎn)生與實(shí)時(shí)分析技術(shù)
- 有獎(jiǎng)直播 | 邁來(lái)芯為您詳解:半導(dǎo)體研發(fā)功能安全的實(shí)現(xiàn)與技術(shù)支持
- TI精品課程歡樂(lè)學(xué)習(xí)季!
- 2021 Digi‑Key KOL 視頻系列:新型智能曝光算法在人臉識(shí)別中的應(yīng)用
- 長(zhǎng)電科技:公司在印度無(wú)生產(chǎn)基地和子公司
- NIWEEK 2018——更強(qiáng)大的軟硬件造就未來(lái)
- 總投資387億!上海最大集成電路項(xiàng)目計(jì)劃月產(chǎn)能4萬(wàn)片芯片
- IHS重磅揭曉2017全球光伏逆變器十強(qiáng)榜單:華為連續(xù)三年奪冠
- 4G產(chǎn)業(yè)市場(chǎng)規(guī)模成熟發(fā)展 技術(shù)行業(yè)應(yīng)用領(lǐng)域廣闊
- 碧桂園投2000萬(wàn)元再設(shè)立新機(jī)器人公司,現(xiàn)手握訂單超過(guò)500臺(tái)
- MSP430G2553ADC要點(diǎn)總結(jié)
- MSP430 DMA程序庫(kù)
- MSP430 基本時(shí)鐘配置
- MSP430 IO口配置
- RegOpenKeyEx在動(dòng)態(tài)庫(kù)和exe中的問(wèn)題
- ucosii在STM32F103上移植成功,這是源碼
- 簡(jiǎn)談數(shù)字電路設(shè)計(jì)中的抖動(dòng)
- BKP求助
- CC2530已做出測(cè)距,求接下來(lái)該怎么辦
- STM32以太網(wǎng)數(shù)據(jù)接收中斷函數(shù)是那個(gè)?
- 使用synplify綜合遇到的兩點(diǎn)疑問(wèn)
- TI能量回饋型鋰電池化成分容測(cè)試設(shè)備方案介紹
- 進(jìn)入不了PendSV_Handler
- 飽和電感及其在開(kāi)關(guān)電源中的應(yīng)用