UC1701手冊及SPI驅動程序
uc1701x_SPI.rar
(3.03 KB, 下載次數: 122)
2019-8-5 12:49 上傳
點擊文件名下載附件
UC1701 SPI驅動程序 下載積分: 黑幣 -5
uc1701.rar
(513.15 KB, 下載次數: 110)
2019-8-5 12:49 上傳
點擊文件名下載附件
UC1701手冊 下載積分: 黑幣 -5
單片機源程序如下:
- //*****************************************************************
- //CONTROL IC:UC1701X
- //MODEL TYPE:132*64
- //MPU INTERFACE:4-spi
- //*****************************************************************
- //#include <stdio.h>
- //#include <ctype.h>
- #include <reg52.h>
- #include <intrins.h>
-
- sbit CS1 =P3^0;
- sbit RST =P3^4;
- sbit A0 = P3^5;
- sbit SCK =P3^6;
- sbit SI = P3^7;
- /*
- sbit CS1 =P3^7;
- sbit RST =P3^6;
- sbit A0 = P3^5;
- sbit SCK =P3^4;
- sbit SI = P3^0;
- */
- sbit KEY=P3^2;
- /*#define dataport P1
- sbit CS1=P3^7;
- sbit RES=P3^6;
- sbit RS=P3^5;
- sbit E_RD=P3^0;
- sbit RW=P3^4;
- sbit KEY=P3^2;
- */
- #define Uchar unsigned char
- #define Uint unsigned int
- #define somenop();_nop_();_nop_();_nop_();_nop_();
- Uchar code snow[]={0xaa,0x55,0xaa,0x55};
- Uchar code clear[]={0x00,0x00,0x00,0x00};
- Uchar code black[]={0xff,0xff,0xff,0xff};
- Uchar code Map1[]={0xff,0x00,0xff,0x00};
- Uchar code Map2[]={0xaa,0xaa,0xaa,0xaa};
- Uchar code Map4[]={0xf0,0xf0,0x0f,0x0f};
- Uchar code Map5[]={0x30,0x30,0x03,0x03};
- Uchar code Map3[]={0xc0,0x30,0x0c,0x03};
- Uchar code sleepCode[]={0xae,0xa5};
- Uchar code pic[];
- Uchar code pic1[];
- Uchar code pic2[];
- Uchar code pic3[];
- Uchar code pic4[];
- Uchar code pic5[];
- Uchar code IC[]={
- /*0xe2, //command reset
- 0xa1,
- 0xc0,
- 0xa2,
- 0x2f, //power controller set
- // 0xfa,
- // 0x93,
- 0x26, //V0 voltage regulator internal resistor ratio set
- 0x81,
- 0x10, //electronic volume mode set
- 0xaf //display on
- */
- 0xe2,
- 0xa2,
- //0xa0,
- //0xc0,
- 0xa1,
- 0xc0,
- 0x40,
- 0xa2, // BR
- // 0x2c,
- // 0x2e,
- 0x2f,
- // 0xad,
- 0x26, //24
- 0x81,
- 0x08,
- 0xaf,
- };
- //----------------------------------------------------------
- void Delay(Uint times)
- {
- while(times)
- {
- times--;
- }
- }
- //----------------------------------------------------------
- void M_Delay(Uint NOs)
- {
- while(NOs)
- {
- Delay(200);
- NOs--;
- }
- }
- void WriteData(Uchar data1, bit di)
- {
- Uchar i,temp;
- CS1=0;
- A0=di;
- for(i=0;i<8;i++)
- {
- SCK=0;
- temp=data1;
- SI=(bit)(temp&0x80);
-
- somenop();
- SCK=1;
- temp=data1<<1;
- data1=temp;
- }
- CS1=1;
- A0=~di;
- }
- void Waitkey(void)
- {
- M_Delay(200);
- while(KEY);
- M_Delay(200);
- }
- //----------------------------------------------------------
- void Init_lcd(void)
- {
- int i;
- RST=0;
- Delay(200);
- RST=1;
- Delay(500);
- for(i=0;i<14;i++)
- {
- WriteData(IC[i],0);
- }
- }
- void sleepmode(unsigned char *p)
- {
- unsigned char i;
- for(i=0;i<2;i++)
- {
- WriteData(p[i],0);
- }
- Delay(400);
- }
- //----------------------------------------------------------
- void Displine(Uchar array[])
- {
- Uint i,j,k;
- for(i=0;i<4;i++)
- {
- /* WriteData(0x40,0);
- WriteData(0xb0|i,0);
- WriteData(0x10,0);
- WriteData(0x00,0);
- */
- WriteData(0x40,0); //set scroll line
- WriteData(0xb0|i,0);//set page address
- WriteData(0x10,0); //column msb
- WriteData(0x00,0); //column lsb
- for(j=0;j<33;j++)
- for(k=0;k<4;k++)
- {
- WriteData(array[k],1);
- }
- }
- }
- //----------------------------------------------------------
- //----------------------------------------------------------
- void DispPane()
- {
- Uint i,j;
- for(i=0;i<4;i++)
- {
- WriteData(0xb0|i,0);
- WriteData(0x10,0);
- WriteData(0x00,0);
- for(j=0;j<132;j++)
- {
- WriteData(0xff,1);
- }
- }
-
- for(i=0;i<4;i++)
- {
- WriteData(0xb0|i,0);
- WriteData(0x14,0);
- WriteData(0x02,0);
- for(j=0;j<132;j++)
- {
- WriteData(0x00,1);
- }
- }
- for(i=4;i<8;i++)
- {
- WriteData(0xb0|i,0);
- WriteData(0x10,0);
- WriteData(0x00,0);
- for(j=0;j<132;j++)
- {
- WriteData(0x00,1);
- }
- }
- for(i=4;i<8;i++)
- {
- WriteData(0xb0|i,0);
- WriteData(0x14,0);
- WriteData(0x02,0);
- for(j=0;j<132;j++)
- {
- WriteData(0xff,1);
- }
- }
- }
- //----------------------------------------------------------
- void Dispgraphic(Uchar *p)
- {
- Uchar i,j;
- for(i=0;i<8;i++)
- {
- WriteData(0x40,0);
- WriteData(0xb0|i,0);
- WriteData(0x10,0);
- WriteData(0x04,0);
- for(j=0;j<128;j++)
- {
- WriteData(p[i*128+j],1);
- }
- }
- }
- void main(void)
- {
- Init_lcd();
- while(1)
- {
- Displine(black);
- M_Delay(20);
- // Waitkey();
- Displine(snow);
- M_Delay(20);
- // Waitkey();
- //sleepmode(sleepCode);
- //M_Delay(400);
- //while(1);
- //Waitkey();
- Displine(Map1);
- M_Delay(20);
- // Waitkey();
- Displine(Map2);
- M_Delay(20);
- // Waitkey();
- Displine(Map3);
- M_Delay(20);
- // Waitkey();
- Displine(Map4);
- M_Delay(20);
- // Waitkey();
- Displine(Map5);
- M_Delay(20);
- // Waitkey();
- Displine(clear);
- M_Delay(20);
- // Waitkey();
- Dispgraphic(pic1);
- M_Delay(40);
- // Waitkey();
- Dispgraphic(pic2);
- M_Delay(30);
- // Waitkey();
- Dispgraphic(pic3);
- M_Delay(40);
- // Waitkey();
- Dispgraphic(pic4);
- M_Delay(30);
- // Waitkey();
- Dispgraphic(pic5);
- M_Delay(40);
- // Waitkey();
-
- }
- }
- /*-- 寬度x高度=132x64 --*/
- /*-- 寬度x高度=128x64 --*/
- Uchar code pic1[]={
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x30,0x10,0x30,
- 0xE0,0xC0,0x00,0x00,0xC0,0xE0,0x30,0x10,0x30,0xE0,0xC0,0x00,0x10,0x30,0xF0,0xC0,
- 0x00,0x10,0xF0,0xF0,0x10,0x00,0x60,0x70,0x10,0x10,0x10,0xF0,0xF0,0x10,0x00,0x00,
- 0x00,0xC0,0xF0,0xF0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x60,0x40,0x60,
- 0x3F,0x1F,0x00,0x00,0x1F,0x3F,0x60,0x40,0x60,0x3F,0x1F,0x00,0x00,0x38,0x7C,0x47,
- 0x47,0x44,0x7F,0x7F,0x40,0x00,0x20,0x60,0x5F,0x5F,0x44,0x7F,0x7F,0x40,0x40,0x70,
- 0x7E,0x4F,0x01,0x47,0x7F,0x78,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x08,0x1C,
- 0x7C,0xE0,0x80,0x80,0xE0,0x78,0x9C,0x84,0xFC,0xFC,0x40,0x40,0x40,0x40,0x00,0x78,
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
|