#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; /*字庫IC接口定義:Rom_OUT就是FSO*/ sbit Rom_CS=P5^5; /*字庫IC接口定義Rom_CS就是字庫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; } } /*延時*/ void delay(int n_ms) { int j,k; for(j=0;j } /*等待一個按鍵,我的主板是用P2.0與GND之間接一個按鍵*/ //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; /*低電平復位*/ delay(20); //lcd_reset=1; /*復位完畢*/ 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è)置頁地址*/ 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點陣圖像*/ //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,每寫完一個8位的數(shù)據(jù)后列地址自動加1*/ // dp++; // } // } // lcd_cs1=1; //} /*顯示16x16點陣圖像、漢字、生僻字或16x16點陣的其他圖標*/ 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,每寫完一個8位的數(shù)據(jù)后列地址自動加1*/ dp++; } page++; } lcd_cs1=1; } /*顯示8x16點陣圖像、ASCII, 或8x16點陣的自造字符、其他圖標*/ 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,每寫完一個8位的數(shù)據(jù)后列地址自動加1*/ dp++; } page++; } lcd_cs1=1; } /*顯示5*7點陣圖像、ASCII, 或5x7點陣的自造字符、其他圖標*/ //void display_graphic_5x7(uint page,uchar column,uchar *dp)
上一篇:stm8s003k3加數(shù)碼管做的定時小板,繼電器以及MOS管輸出
下一篇:單片機C語言 串口傳輸 結(jié)構(gòu)體
推薦閱讀
史海拾趣
隨著技術(shù)的成熟,Denyo Europa Gmbh公司開始將目光投向國際市場。公司利用自身的技術(shù)優(yōu)勢,結(jié)合對目標市場的深入調(diào)研,制定了一系列市場拓展策略。通過與當?shù)睾献骰锇榈木o密合作,公司成功將產(chǎn)品打入多個國家和地區(qū),實現(xiàn)了業(yè)務(wù)的全球化布局。這一過程中,公司不僅積累了寶貴的國際市場經(jīng)驗,也為公司的持續(xù)發(fā)展奠定了堅實基礎(chǔ)。
1985年,Cooper工業(yè)(后更名為庫柏工業(yè))收購了Bussmann公司,并成立了新的事業(yè)部——“Cooper Bussmann熔斷器”。這一收購為Bussmann帶來了更多的資源和市場機會,使其能夠進一步擴大生產(chǎn)規(guī)模,提升產(chǎn)品質(zhì)量,并加強在全球市場的布局。同時,Cooper工業(yè)的支持也幫助Bussmann鞏固了在電路保護領(lǐng)域的領(lǐng)先地位,并逐漸將其打造成為熔斷器電路保護及相關(guān)配件的最知名品牌。
在市場競爭日益激烈的情況下,DCD公司意識到單打獨斗難以取得更大的發(fā)展。因此,公司開始尋求與其他企業(yè)建立戰(zhàn)略合作關(guān)系。通過與上下游企業(yè)的緊密合作,DCD公司實現(xiàn)了資源共享和優(yōu)勢互補,進一步提升了自身的競爭力。同時,公司還積極參與行業(yè)標準的制定和推廣工作,為行業(yè)的健康發(fā)展貢獻了自己的力量。
隨著技術(shù)的不斷成熟和產(chǎn)品線的日益豐富,DCD公司開始著手拓展市場。公司積極參與各類行業(yè)展會,與國內(nèi)外客戶建立了廣泛的聯(lián)系。同時,公司還加大了品牌推廣力度,通過線上線下多種渠道提高品牌知名度。經(jīng)過幾年的努力,DCD公司的產(chǎn)品在市場上逐漸獲得了認可,公司也因此在電子行業(yè)中嶄露頭角。
面對日益激烈的市場競爭,Essentra Components公司決定實施全球化戰(zhàn)略,以拓展更廣闊的市場。公司先后在亞洲、歐洲、美洲等多個地區(qū)設(shè)立了生產(chǎn)基地和銷售服務(wù)點,實現(xiàn)了產(chǎn)品的全球覆蓋。同時,公司還積極與當?shù)仄髽I(yè)合作,共同開發(fā)適合當?shù)厥袌鲂枨蟮漠a(chǎn)品,進一步鞏固了其在全球市場的地位。
Beta Dyne Inc最初是一家專注于研發(fā)新型半導體材料的小型創(chuàng)業(yè)公司。在創(chuàng)始人的帶領(lǐng)下,公司成功研發(fā)出一種具有高效能、低功耗特性的新材料,這一技術(shù)突破迅速引起了業(yè)界的關(guān)注。隨后,Beta Dyne積極與各大電子設(shè)備制造商合作,將其新材料應(yīng)用于智能手機、平板電腦等消費電子產(chǎn)品中,成功開拓了新的市場。
問:modesim 仿真報告錯誤comparetest.v[1]:near "t":illegel base specifer in numemnic constant 是什么錯誤? 答:語法錯誤。檢查第一行第一個符號,區(qū)別單引號和‘預(yù)編譯符號’… 查看全部問答∨ |
static loff_t test_llseek(struct file *filp,loff_t off,int whence); static struct file_operation test_fops= { owner:THIS_MODULE, llseek:test_llseek, } 說明一下,loff_t是為了可移植而進行的再定義數(shù)據(jù)類 ...… 查看全部問答∨ |
各位。偶最近 ,在搞gsenso, 數(shù)據(jù)可以取出來了但是 不知道怎么計算,獲得最后的 方向表示,現(xiàn)在做橫豎屏的切換,總是不穩(wěn)定,那位有相關(guān)算法的,給點建議啊!謝謝了!… 查看全部問答∨ |
build.log中的內(nèi)容 E:\\WINCE600\\PUBLIC\\COMMON\\CESYSGEN>NMAKE /nologo E:\\WINCE600\\PUBLIC\\COMMON\\OAK\\LIB\\ARMV4I\\DEBUG\\0409\\waveapi.res 1>nul E:\\WINCE600\\PUBLIC\\COMMON\\CESYSGEN>NMAKE /nologo E:\\WIN ...… 查看全部問答∨ |
arm linux驅(qū)動編寫中,能否直接進行ioremap? 2440的板子。 我想為spi編寫一個簡單的字符型驅(qū)動。 看了下內(nèi)核代碼中的spi驅(qū)動代碼,發(fā)現(xiàn)在把寄存器地址ioremap之前,有一些platform_get_resource,request_mem_region之類的操作。 想問下直接對寄存器進行ioremap,然后用writeb、writel之類的 ...… 查看全部問答∨ |
怎樣點擊數(shù)據(jù)格進去修改datagird中的數(shù)據(jù)?和背景? 我是用c#做的。 在普通的電腦上,屬性是readonly。可是在ce下,沒有readonly一項。 有沒有朋友做過這方面的?還有背景也不知道怎么修改。有沒有朋友做過這方面的東西? … 查看全部問答∨ |
platform builder提供了部分共享的源碼,比如OBEXFTP,我現(xiàn)在需要修改它的部分函數(shù),編譯出自己需要的DLL,然后makeimg.但是如果我這樣做的話,以后我新建的所有PB工程都會按我修改后的源碼進行編譯,這樣挺不好的. 我現(xiàn)在的需要是,當我修 ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- 人形機器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計
- 小型傾轉(zhuǎn)旋翼機的無刷直流電機驅(qū)動器設(shè)計
- 超高速攝影機電控系統(tǒng)設(shè)計
- 基于GPS自動授時的無線智能控制器的設(shè)計
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機載穩(wěn)定云臺控制系統(tǒng)的設(shè)計
- 匠芯創(chuàng)推出面向具身智能高性能實時處理器M7000
- 自動駕駛卡車公司Aurora重新引入駕駛員
- 全固態(tài)電池新標準出臺,明確定義解決行業(yè)界定義及測試難題
- 長城死磕增程!下代平臺用6C充電,插混純電續(xù)航竟然破400公里!
- 寶馬全固態(tài)電池電動汽車上路測試
- 基于數(shù)采系統(tǒng)的車載A2B信號測試解決方案
- 從夢想到落地:固態(tài)激光雷達的十年發(fā)展史
- AI 座艙芯片,走入全民時代
- 2025年1-3月ADAS供應(yīng)商裝機量排行榜:自主廠商引領(lǐng)技術(shù)融合新趨勢
- 又一廠商官宣大動作,汽車零部件企業(yè)緣何涌向機器人領(lǐng)域?
- 總規(guī)模50億!蘇州吳中區(qū)成立機器人專項基金
- 研究表明:加入RFID技術(shù)的無人機讀取率超過95%
- 國視科技發(fā)布“守護家”機器人
- 索尼不會放棄手機業(yè)務(wù),或2020年實現(xiàn)盈利
- 中止連續(xù)3月下滑趨勢 ,預(yù)計半導體產(chǎn)業(yè)年中可恢復正常
- 人才攻堅戰(zhàn)如火如荼:明年我國將建成50家AI學院
- STM32 PWM輸出控制步進電機-3000轉(zhuǎn)每分鐘串口顯示+電位器調(diào)速
- stm32f103串口BootLoader
- 基于STM32無刷直流電機全套設(shè)計方案
- 開源ARM7驅(qū)動拼接1024X1024LCD屏Proteus仿真源碼
- LPC2138+LCD1602計數(shù)器proteus仿真與源碼 添加注釋的和改管腳