www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]由于12232F這個顯示器用得比較平常,但平常見到的是一些并口的匯編程序,并且也沒有對應于12232F的并口程序,串口的C51程序極少見,為了方便大家使用,所以本站把它調(diào)試了一個出來,大家多多指教!由于12232F這個顯示

由于12232F這個顯示器用得比較平常,但平常見到的是一些并口的匯編程序,并且也沒有對應于12232F的并口程序,串口的C51程序極少見,為了方便大家使用,所以本站把它調(diào)試了一個出來,大家多多指教!

由于12232F這個顯示器用得比較平常,但平常見到的是一些并口的匯編程序,并且也沒有對應于12232F的并口程序,串口的C51程序極少見,為了方便大家使用,所以本站把它調(diào)試了一個出來,大家多多指教!

/******************************************************/
/* 12232F串口驅(qū)動程序C51,11.0592M晶振 */
/*使用這款LCD應該要注意的問題: */ z
/*一定要在VO與VDD及VSS這三個腳間接一個20K的電位器, */
/*電位器的中間腳接VO,其它二腳接VDD和VSS。 */
/*然后調(diào)節(jié)電位器的大小,直到有顯示為止。若是不接的話,*/
/*顯示器可能是一片黑暗,什么也沒有顯示,發(fā)命令也沒有反*/
/*應的。本程序我已經(jīng)測試通過了。歡迎大家提出意見。 */
/******************************************************/
#include
#include


#define uint unsigned int
#define uchar unsigned char


/*12232f pins define*/
sbit CS=P1^5;
sbit SID=P1^6;
sbit SCLK=P1^7;


void delay_1ms(uint x)
{
uint j;
uchar i;
for(j=0;j{
for(i=0;i<120;i++);
}
}


void send_command(uchar command_data)
{
uchar i;
uchar i_data,temp_data1,temp_data2;
i_data=0xf8;
delay_1ms(10);
CS=1;
SCLK=0;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
i_data=command_data;
i_data&=0xf0;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
i_data=command_data;
temp_data1=i_data&0xf0;
temp_data2=i_data&0x0f;
temp_data1>>=4;
temp_data2<<=4;
i_data=temp_data1|temp_data2;
i_data&=0xf0;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
CS=0;
}

void send_data(uchar command_data)
{
uchar i;
uchar i_data,temp_data1,temp_data2;
i_data=0xfa;
delay_1ms(10);
CS=1;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
i_data=command_data;
i_data&=0xf0;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
i_data=command_data;
temp_data1=i_data&0xf0;
temp_data2=i_data&0x0f;
temp_data1>>=4;
temp_data2<<=4;
i_data=temp_data1|temp_data2;
i_data&=0xf0;
for(i=0;i<8;i++)
{
SID=(bit)(i_data&0x80);
SCLK=0;
SCLK=1;
i_data=i_data<<1;
}
CS=0;
}


void lcd_init()
{
uchar command_data;
delay_1ms(100);
command_data=0x30;
send_command(command_data); /*功能設置:一次送8位數(shù)據(jù),基本指令集*/
command_data=0x04;
send_command(command_data); /*點設定:顯示字符/光標從左到右移位,DDRAM地址加1*/
command_data=0x0f;
send_command(command_data); /*顯示設定:開顯示,顯示光標,當前顯示位反白閃動*/
command_data=0x01;
send_command(command_data); /*清DDRAM*/
command_data=0x02;
send_command(command_data); /*DDRAM地址歸位*/
command_data=0x80;
send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/
}


void display_cpubbs()
{
uchar command_data;
while(1)
{
command_data=0x01;
send_command(command_data); /*清DDRAM*/
command_data=0x80;
send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/
command_data=0x68; /*“h”字的編碼*/
send_data(command_data);
command_data=0x74;
send_data(command_data); /*“t”字的編碼*/
command_data=0x74;
send_data(command_data); /*“t”字的編碼*/
command_data=0x70;
send_data(command_data); /*“p”字的編碼*/
command_data=0x3a;
send_data(command_data); /*“:”字的編碼*/
command_data=0x2f;
send_data(command_data); /*“/”字的編碼*/
command_data=0x2f;
send_data(command_data); /*“/”字的編碼*/
command_data=0x57;
send_data(command_data); /*“w”字的編碼*/
command_data=0x57;
send_data(command_data); /*“w”字的編碼*/
command_data=0x57;
send_data(command_data); /*“w”字的編碼*/
command_data=0x2e;
send_data(command_data); /*“.”字的編碼*/
command_data=0x63;
send_data(command_data); /*“c”字的編碼*/
command_data=0x70;
send_data(command_data); /*“p”字的編碼*/
command_data=0x75;
send_data(command_data); /*“u”字的編碼*/
command_data=0x62;
send_data(command_data); /*“b”字的編碼*/

command_data=0x90;
send_command(command_data); /*把顯示地址設為0X90,即為第二行的首位,因為第一行已經(jīng)滿了*/
command_data=0x62;
send_data(command_data); /*“b”字的編碼*/
command_data=0x73;
send_data(command_data); /*“s”字的編碼*/
command_data=0x2e;
send_data(command_data); /*“.”字的編碼*/
command_data=0x63;
send_data(command_data); /*“c”字的編碼*/
command_data=0x6f;
send_data(command_data); /*“o”字的編碼*/
command_data=0x6d;
send_data(command_data); /*“m”字的編碼*/

delay_1ms(3000);

command_data=0x01;
send_command(command_data); /*清DDRAM*/
command_data=0x80;
send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/

command_data=0xbb;
send_data(command_data);
command_data=0xb6;
send_data(command_data); /*“歡”字的編碼*/
command_data=0xd3;
send_data(command_data);
command_data=0xad;
send_data(command_data); /*“迎”字的編碼*/
command_data=0xb7;
send_data(command_data);
command_data=0xc3;
send_data(command_data); /*“訪”字的編碼*/
command_data=0xce;
send_data(command_data);
command_data=0xca;
send_data(command_data); /*“問”字的編碼*/
command_data=0x90;
send_command(command_data); /*把顯示地址設為0X90,即為第二行的首位,因為第一行已經(jīng)滿了*/
command_data=0x63;
send_data(command_data); /*“c”字的編碼*/
command_data=0x70;
send_data(command_data); /*“p”字的編碼*/
command_data=0x75;
send_data(command_data); /*“u”字的編碼*/
command_data=0x62;
send_data(command_data); /*“b”字的編碼*/
command_data=0x62;
send_data(command_data); /*“b”字的編碼*/
command_data=0x73;
send_data(command_data); /*“s”字的編碼*/
command_data=0xc2;
send_data(command_data);
command_data=0xdb;
send_data(command_data); /*“論”字的編碼*/
command_data=0xcc;
send_data(command_data);
command_data=0xb3;
send_data(command_data); /*“壇”字的編碼*/
delay_1ms(3000);
}
}


main()
{
uchar command_data;
lcd_init();
display_cpubbs();
while(1);
}

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

串口全稱是串行接口(Serial Interface),串口通訊指僅用一對傳輸線就能將數(shù)據(jù)以比特位進行傳輸?shù)囊环N通訊方式。盡管串口通訊必按字節(jié)傳輸?shù)牟⑿型ㄐ怕?,但是串口可以在僅用兩根線的情況下完成數(shù)據(jù)傳輸,大大降低了成本...

關鍵字: 串口 UART

隨著電腦技術的發(fā)展,一些老的設備在新電腦上不能被使用,主要原因是不管是臺式電腦,還是筆記本電腦,都很少有串口接口,也就是我們常說的COM口。好在這些設備都有USB接口,不妨通過接口轉(zhuǎn)換的方式,使我們的設備在新電腦上重新被...

關鍵字: 串口 USB

串口:串口是一個泛稱,UART、TTL、RS232、RS485都遵循類似的通信時序協(xié)議,因此都被通稱為串口。串口通訊應用是工控人必須掌握的一個技能,幾乎在每一個項目中都會用到,今天我們就來詳細比較一下它們究竟有何區(qū)別。

關鍵字: 串口 協(xié)議

在嵌入式開發(fā)過程中,許多系統(tǒng)通常使用串口驅(qū)動來滿足通信要求,但在實際應用中,使用SPI通信方式會更加高效和快捷。

關鍵字: 串口 驅(qū)動

串口WiFi模塊作為新一代嵌入式WiFi模塊,因其體積小、功耗低的特點,廣泛應用于物聯(lián)網(wǎng)、智能家居等領域。

關鍵字: 串口 WiFi模塊 嵌入式

在現(xiàn)代嵌入式系統(tǒng)設計中,F(xiàn)PGA(現(xiàn)場可編程門陣列)的靈活性和可重構(gòu)性使其成為許多應用的理想選擇。而在FPGA的開發(fā)和部署過程中,如何實現(xiàn)遠程升級和故障恢復成為了一個重要議題。本文將詳細探討如何通過BPI FLASH實現(xiàn)...

關鍵字: FPGA 串口 MultiBoot 嵌入式系統(tǒng)

在現(xiàn)代電子設計中,F(xiàn)PGA(現(xiàn)場可編程門陣列)因其高度的靈活性和可重構(gòu)性,成為眾多領域的核心組件。特別是在需要動態(tài)更新或調(diào)整系統(tǒng)功能的場景中,F(xiàn)PGA的串口升級和MultiBoot功能顯得尤為重要。本文將深入探討FPGA...

關鍵字: FPGA 串口 MultiBoot

之前有個同事因為用串口查詢方式發(fā)送數(shù)據(jù),被我說了一頓,明明有DMA資源,竟然放著不用,對于魚鷹這種性能強迫癥來說,肯定無法忍受,所以當時就和他說,有時間你把它改一下。誰知道過了好幾個月他才有時間弄這個,然后還是出了問題,...

關鍵字: DMA 串口

串行通訊是指僅用一根接收線和一根發(fā)送線就能將數(shù)據(jù)以位進行傳輸?shù)囊环N通訊方式。盡管串行通訊的比按字節(jié)傳輸?shù)牟⑿型ㄐ怕?,但是串口可以在僅僅使用兩根線的情況下就能實現(xiàn)數(shù)據(jù)的傳輸。

關鍵字: 串口 串行通信

在下述的內(nèi)容中,小編將會對手把手教大家如何去實現(xiàn)RA UART實現(xiàn)串口波特率自適應,如果串口波特率自適應內(nèi)容是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關鍵字: 串口 波特率 UART
關閉