日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] IC用PIC16F877A,晶振4MHz,采用并行8線,LCD:TS12864-3,接法在程序中有定義,只要將此程序COPY到你的PICC里編譯下載后,在目標(biāo)板上即可以看到圖畫(huà)了!#include"pic.h"#defineRSRC0#defineRWRC1 #def

IC用PIC16F877A,晶振4MHz,采用并行8線,LCD:TS12864-3,接法在程序中有定義,只要將此程序COPY到你的PICC里編譯下載后,在目標(biāo)板上即可以看到圖畫(huà)了!

#include"pic.h"
#defineRSRC0
#defineRWRC1

#defineERC2
#definePSBRC3
#defineRSTRC4
//PORTD=DATA;
unsignedcharCOUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y,LCD_DATA1,LCD_DATA2,LCD_DATA,F3,R1,F0;
constunsignedcharTU_TAB1[]={
//16151413121110987654321
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x18,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xDC,0x00,0x01,
0x80,0x00,0x1F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xBC,0x00,0x01,
0x80,0x00,0x30,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0xB8,0x00,0x01,
0x80,0x00,0x30,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0x78,0x00,0x01,
0x80,0x00,0x19,0xFF,0xFE,0xC0,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,0x70,0x00,0x01,
0x80,0x00,0x18,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0xFF,0xFE,0xF0,0x00,0x01,
0x80,0x00,0x0C,0x01,0xFF,0x60,0x00,0x00,0x00,0x00,0x05,0xFF,0xFE,0xE0,0x00,0x01,
0x80,0x00,0x0C,0x7F,0xD0,0x20,0x00,0x00,0x00,0x00,0x05,0xFF,0xFD,0xE0,0x00,0x01,
0x80,0x00,0x06,0x00,0x0F,0xB0,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFD,0xC0,0x00,0x01,
0x80,0x00,0x06,0x03,0xFC,0x10,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFB,0xC0,0x00,0x01,
0x80,0x00,0x03,0x1F,0x00,0x18,0x00,0x00,0x00,0x00,0x17,0xFF,0xFB,0x80,0x00,0x01,
0x80,0x00,0x03,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x80,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x0C,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x00,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x09,0xFF,0xEF,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0x00,0xF6,0x00,0x00,0x00,0x00,0x06,0x7F,0xEE,0x00,0x00,0x01,
0x80,0x00,0x00,0xC0,0x03,0xC2,0x00,0x00,0x00,0x00,0x01,0x9F,0xDE,0x00,0x00,0x01,
0x80,0x00,0x00,0x60,0x00,0x3B,0x00,0x00,0x00,0x00,0x00,0x67,0xDF,0x00,0x00,0x01,
0x80,0x00,0x00,0x60,0x00,0xE3,0x00,0x00,0x00,0x00,0x00,0x19,0xBF,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x03,0x8E,0x00,0x00,0x00,0x00,0x00,0x06,0x3F,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x06,0x3C,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0x80,0x00,0x01,
0x80,0x00,0x00,0x0C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1F,0xC0,0x00,0x01,
0x80,0x00,0x00,0x0C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x07,0xE0,0x00,0x01,
0x80,0x00,0x00,0x06,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xE0,0x00,0x01,
0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0xC0,0x00,0x01,
0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0xFF,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x05,0x40,0x88,0x04,0x01,0x08,0x00,0x00,0x0A,0x81,0x10,0x04,0x00,0x20,0x01,
0x80,0x79,0x21,0x08,0x02,0x21,0x49,0x00,0x00,0xF2,0x42,0x10,0x04,0x47,0x10,0x01,
0x80,0x09,0x07,0xDF,0x7F,0xF7,0xAA,0x00,0x00,0x12,0x0F,0xBE,0x7F,0xE5,0xFE,0x01,
0x80,0x7F,0xF4,0x51,0x08,0x81,0x2C,0x00,0x00,0xFF,0xE8,0xA2,0x44,0x47,0x00,0x01,
0x80,0x09,0x04,0x61,0x08,0x81,0x7F,0x00,0x00,0x12,0x08,0xC2,0x7F,0xC5,0x4A,0x01,
0x80,0x0B,0x24,0x51,0x08,0x83,0x81,0x00,0x00,0x16,0x48,0xA2,0x44,0x45,0x6A,0x01,
0x80,0x1D,0x47,0xC9,0x05,0x05,0x01,0x00,0x00,0x3A,0x8F,0x92,0x44,0x47,0x52,0x01,
0x80,0x68,0x84,0x49,0x05,0x05,0x7F,0x00,0x00,0xD1,0x08,0x92,0x7F,0xC5,0x6A,0x01,
0x80,0x09,0x94,0x41,0x02,0x01,0x01,0x00,0x00,0x13,0x28,0x82,0x44,0x05,0x4A,0x01,
0x80,0x0E,0x57,0xC1,0x0D,0x81,0x01,0x00,0x00,0x1C,0xAF,0x82,0x04,0x29,0x42,0x01,
0x80,0x38,0x34,0x4E,0x70,0x71,0x7F,0x00,0x00,0x70,0x68,0x9C,0x03,0xEB,0x7E,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};

//*************delay_ms********************************
voiddelay_10us(unsignedcharx)
{
while(x--);
}
voiddelay_ms(unsignedcharcnt)
{
unsignedchari;
do{
i=4;
do{
delay_10us(39);
}while(--i);
}while(--cnt);
}

//***********檢查是否LCD忙碌的子程序**********************
voidcheck_busy(void)
{
TRISD=0xff;//在此處設(shè)為輸入。
PORTD=0xff;
RS=0;
RW=1;
while(1)
{
NOP();NOP();NOP();
E=1;
NOP();NOP();NOP();
if(RD7==0)break;
NOP();NOP();NOP();
E=0;
}
E=0;
TRISD=0X00;//還原為輸出。
RC7=!RC7;
//delay_ms(50);
}
//**********數(shù)據(jù)寫(xiě)命令***************************
voidsend_com(unsignedcharcommand)
{
check_busy();
RS=0;
RW=0;
PORTD=command;
E=1;
NOP();
NOP();
E=0;
}
//**********LCD初始化時(shí)的送命令******************
voidsend_com_init(unsignedcharcommand_init)
{
RS=0;
RW=0;
PORTD=command_init;
E=1;
NOP();
NOP();
E=0;
}
//**********寫(xiě)數(shù)據(jù)***************************
voidsend_data(unsignedchardata)
{
check_busy();
RS=1;
RW=0;
PORTD=data;
E=1;
NOP();
NOP();
E=0;
}
//***********讀數(shù)據(jù)****************************
unsignedcharread_data(void)
{
unsignedcharread_data;
check_busy();
TRISD=0XFF;
RS=1;
RW=1;
E=1;
NOP();
read_data=PORTD;
E=0;
TRISD=0x00;//還原為輸出。
return(read_data);
}
//***********清屏*****************************
voidclear_LCD(void)
{
send_com(0x01);
send_com(0x34);
send_com(0x30);
}
//**********LCD初始化************************
voidinitial_LCD(void)
{
PSB=1;
RST=0;//Reset.
NOP();
NOP();
RST=1;
NOP();
delay_10us(10);
send_com_init(0x30);//30H--基本指令操作
delay_10us(4);
send_com_init(0x0c);//開(kāi)顯示,關(guān)光標(biāo),不閃爍。
delay_10us(10);
send_com_init(0x01);//清除顯示
delay_ms(10);
send_com_init(0x06);//指定在資料寫(xiě)入或讀取時(shí),光標(biāo)的移動(dòng)方向,DDRAM的地址計(jì)數(shù)器(AC)加1。

}
//**********寫(xiě)準(zhǔn)備***************************
voidWR_ZB(void)
{
send_com(0x34);
send_com(LCD_Y);
send_com(LCD_X);
send_com(0x30);
}
//*********取數(shù)送顯示******************************
voidQUSHU(constunsignedchar*shu)
{
for(;COUNT!=0;COUNT--)
{
send_data(*shu++);
delay_ms(80);
}
}
//*********Flash******************************
voidflash(void)
{
send_com(0x08);//關(guān)閉顯示
delay_ms(250);
send_com(0x0c);//開(kāi)顯示,關(guān)光標(biāo),不閃爍。
delay_ms(250);
send_com(0x08);//關(guān)閉顯示
delay_ms(250);
send_com(0x0c);//開(kāi)顯示,關(guān)光標(biāo),不閃爍。
delay_ms(250);
send_com(0x08);//關(guān)閉顯示
delay_ms(250);
}
//**********顯示圖形子程序*********************
voidPHO_DISP(constunsignedchar*s)
{
COUNT3=0X02;
LCD_X=0X80;
for(;COUNT3!=0;COUNT3--)
{
LCD_Y=0X80;
COUNT2=0X20;//32
for(;COUNT2!=0;COUNT2--)
{
COUNT1=0X10;//16
WR_ZB();
for(;COUNT1!=0;COUNT1--)
{
send_data(*s++);

}
LCD_Y+=1;
}
LCD_X=0X88;
}
send_com(0x36);
send_com(0x30);
}
//******************顯示點(diǎn)陣子程序************
voidLAT_DISP(void)
{
COUNT3=0X02;
LCD_X=0X80;
for(;COUNT3!=0;COUNT--)
{
LCD_Y=0X80;
F0=0;
COUNT2=0X20;
for(;COUNT2!=0;COUNT--)
{
COUNT1=0X10;
WR_ZB();
if(F0!=0)
{
LCD_DATA=LCD_DATA2;
}
elseLCD_DATA=LCD_DATA1;
for(;COUNT1!=0;COUNT1--)
{
send_data(LCD_DATA);
}
LCD_Y+=1;
F0=!F0;
}
LCD_X=0X88;
}

send_com(0x36);
send_com(0x30);
}

voidmain(void)
{
TRISC=0X00;
TRISD=0X00;
PORTD=0X00;
PORTC=0X00;
initial_LCD();
while(1)
{
clear_LCD();
PHO_DISP(TU_TAB1);//顯示圖形
while(1);
}
}

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

在單片機(jī)通信系統(tǒng)中,數(shù)據(jù)幀是實(shí)現(xiàn)設(shè)備間可靠對(duì)話的核心載體。不同于網(wǎng)絡(luò)通信中成熟的TCP/IP協(xié)議,單片機(jī)通信往往需要自定義數(shù)據(jù)幀格式,而幀頭、幀尾與校驗(yàn)機(jī)制則是保障數(shù)據(jù)傳輸準(zhǔn)確性的三大關(guān)鍵。

關(guān)鍵字: 單片機(jī) 數(shù)據(jù)幀

隨著嵌入式技術(shù)的不斷發(fā)展,時(shí)序分析工具和方法也在不斷進(jìn)步,未來(lái)將朝著智能化、自動(dòng)化的方向發(fā)展,為開(kāi)發(fā)者提供更高效的調(diào)試手段。但無(wú)論技術(shù)如何發(fā)展,扎實(shí)的時(shí)序分析基礎(chǔ)都是嵌入式開(kāi)發(fā)者不可或缺的能力,只有深入理解通信時(shí)序的本質(zhì)...

關(guān)鍵字: 時(shí)序 單片機(jī)

在嵌入式系統(tǒng)設(shè)計(jì)中,不同架構(gòu)、不同廠商的單片機(jī)協(xié)同工作早已成為常態(tài)。從8位的51系列到32位的STM32,從精簡(jiǎn)指令集的PIC到復(fù)雜指令集的AVR,這些性能各異的單片機(jī)如何突破硬件差異實(shí)現(xiàn)數(shù)據(jù)交互,是嵌入式開(kāi)發(fā)中的核心課...

關(guān)鍵字: 嵌入式 單片機(jī)

在嵌入式系統(tǒng)開(kāi)發(fā)中,單片機(jī)的時(shí)鐘系統(tǒng)是整個(gè)系統(tǒng)的"心臟",所有的指令執(zhí)行、外設(shè)操作、定時(shí)器中斷都依賴于精準(zhǔn)的時(shí)鐘信號(hào)。但在實(shí)際開(kāi)發(fā)過(guò)程中,很多開(kāi)發(fā)者都會(huì)遇到單片機(jī)時(shí)鐘不準(zhǔn)的問(wèn)題,表現(xiàn)為定時(shí)器計(jì)時(shí)偏差、UART通信波特率錯(cuò)...

關(guān)鍵字: 控制系統(tǒng) 單片機(jī)

在單片機(jī)開(kāi)發(fā)與調(diào)試過(guò)程中,復(fù)位電路作為保障芯片正常啟動(dòng)的核心模塊,其穩(wěn)定性直接影響程序燒錄與系統(tǒng)運(yùn)行。實(shí)際應(yīng)用中,不少開(kāi)發(fā)者會(huì)遇到“接穩(wěn)壓電源可正常燒錄,接入電池后卻無(wú)法燒錄程序”的故障,此類(lèi)問(wèn)題多與復(fù)位電路設(shè)計(jì)、電池供...

關(guān)鍵字: 單片機(jī) 復(fù)位電路 時(shí)序匹配

在單片機(jī)的世界里,“字節(jié)”(Byte)是一個(gè)貫穿始終的核心概念。從存儲(chǔ)數(shù)據(jù)到執(zhí)行指令,從變量定義到外設(shè)通信,字節(jié)無(wú)處不在。很多初學(xué)者在學(xué)習(xí)單片機(jī)時(shí),往往更關(guān)注復(fù)雜的程序邏輯和外設(shè)驅(qū)動(dòng),卻忽略了字節(jié)這個(gè)基礎(chǔ)知識(shí)點(diǎn),導(dǎo)致在后...

關(guān)鍵字: 單片機(jī) 字節(jié)

在單片機(jī)的數(shù)字邏輯中,我們通常最關(guān)注的是高電平和低電平兩種狀態(tài),它們構(gòu)成了二進(jìn)制數(shù)字世界的基礎(chǔ)。然而,除了這兩種狀態(tài)之外,還有一種至關(guān)重要但常常被忽視的狀態(tài)——高阻態(tài)(High Impedance State)。高阻態(tài)就...

關(guān)鍵字: 單片機(jī) 高阻態(tài)

對(duì)于PIC入門(mén)者來(lái)說(shuō),不需要盲目追求高端開(kāi)發(fā)板,一塊功能均衡、資料豐富的入門(mén)款就能滿足需求。比如Microchip官方推出的PIC16F84A開(kāi)發(fā)板,它搭載經(jīng)典的8位PIC內(nèi)核,引腳布局清晰,自帶LED、按鍵等基礎(chǔ)外設(shè),...

關(guān)鍵字: PIC 單片機(jī)

該低功耗器件支持5V運(yùn)行,在實(shí)現(xiàn)高性能的同時(shí),能有效保障系統(tǒng)簡(jiǎn)潔性與成本效益

關(guān)鍵字: MCU 單片機(jī) 工業(yè)自動(dòng)化
關(guān)閉