📄 main.c
字号:
#include"uhal.h"
#include"myuart.h"
#include"44b.h"
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
/* bank3 ban4 做为系统的片选信号,
44b0 lcd
复位-----复位 8位数据宽 address-----i/d*/
#define bank1(y) (*(volatile unsigned char *) (0x0c02000000 + y))
#define bank3(x) (*(volatile unsigned char *) (0x0c06000000 + x))
//#define bank4(y) (*(volatile unsigned char *) (0x0c08000000 + y))
unsigned char map[8][128]={
{0x80,0x40,0x40,0x20,0x10,0x08,0x08,0x04,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0f,0x1f,0x3f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x87,0x47,0x2f,0x2f,0x1f,0x0f,0x1f,0x1f,0x1f,0x1f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1f,0x1f,0x1f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x0f,0x1f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfc,0xf8,0xf8,0xf8,0xf0,0xf0,0xc8,0x84,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x07,0x0f,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x07,0x07,0x07,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x0f,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x1f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x20,0x11,0x1f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xf8,0xf0,0xe0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xe0,0xf0,0xf0,0xfc,0xff,0xff,0x3f,0x3f,0x1f,0x0f,0x01,0x00,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0xc0,0xc0,0xc0,0xc0,0xe0,0xe0,0xf0,0xfc,0xff,0xff,0x3f,0x1f,0x0f,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0xf0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x3f,0x1f,0x0f,0x0f,0x0f,0x0f,0x0f,0x1f,0x1f,0x3f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x3f,0x1f,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xbf,0x4f,0x2f,0x2f,0x17,0x0b,0x07,0x05,0x03,0x01,0x01,0x01,0x01,0x03,0x07,0x07,0x0f,0x0f,0xff,0xff,0xff,0xff,0xfe,0xf0,0xe0,0x00,0xf0,0xf8,0xfe,0xfe,0xff,0xff,0xff,0xff,0x1f,0x0f,0x0f,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x0f,0x0f,0x0f,0x3f,0xff,0xff,0xff,0xfe,0xf8,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf0,0xf8,0xf8,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xfc,0xfc,0xfc,0xf8,0xf0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xe0,0xf0,0xf0,0xf0,0xf8,0xf8,0xfc,0xfd,0xfd,0xfd,0xfd,0xf9,0xf9,0xf9,0xfb,0xf3,0xfb,0xf7,0xe3,0xe3,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x83,0xc3,0xc3,0xe3,0xf3,0xf3,0xf3,0xfb,0xfb,0xfb,0xfb,0xf9,0xf1,0xf0,0xf0,0xf0,0xe0,0xe0,0xe0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0f,0x0f,0x1f,0x1f,0x1f,0x1f,0x3f,0x7f,0x7f,0x7f,0x7f,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfe,0xfd,0xf9,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xfc,0xfc,0xf8,0xfc,0xff,0xff,0xff,0xff,0xff,0x7f,0x7f,0x3f,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xe0,0xf0,0xf8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xf8,0xf8,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xf8,0xf8,0xf8,0xf8,0xf0,0xf0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0x80,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,0x80,0x40,0x20,0x20,0x10,0x08,0x04,0x04,0x02,0x31,0x78,0xf8,0xf8,0xf8,0xf0,0xf0,0xe0,0xc0,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}};
void delay(void)
{int i;
for(i=0;i<100;i++);
}
void portf(void)
{rPCONF=0x92555;
rPUPF=0x0;
rPDATF=0x00; //down
rPDATF|=0x1ff; //up
rPDATF&=0x00; //down
}
void LCD_init(void)
{// rPCONB|=0x300; // enable bank3.4
// rBWSCON&=0xfffccfff; //date bus bank3,4
rPCONB|=0x340; // enable bank1,3
rBWSCON&=0xfffccfcf; //date bus bank1,3
bank1(0)=0x3e; delay(); //close led poin iniyt
bank1(0)=0xc0; delay(); //start 0 row
bank1(0)=0xb8; delay(); //page 0
bank1(0)=0x40; delay(); //y address 0
bank3(0)=0x3e; delay(); //close led poin iniyt
bank3(0)=0xc0; delay(); //start 0 row
bank3(0)=0xb8; delay(); //page 0
bank3(0)=0x40; delay(); //y address 0
/*
bank4(0)=0x3e; delay(); //close led poin iniyt
bank4(0)=0xc0; delay(); //start 0 row
bank4(0)=0xb8; delay(); //page 0
bank4(0)=0x40; delay(); //y address 0
*/
}
void LCD_diplay(void)
{unsigned char i,j;
unsigned int a=0,b=0,c=0;
for(i=0;i<8;i++)
{
bank3(0)=(0xb8+i); delay(); //page
for(j=0;j<64;j++)
{a=map[i][j]; delay();
b=a&0x01; b=b<<7; c=c|b;
b=a&0x02; b=b<<5; c=c|b;
b=a&0x04; b=b<<3; c=c|b;
b=a&0x08; b=b<<1; c=c|b;
b=a&0x10; b=b>>1; c=c|b;
b=a&0x20; b=b>>3; c=c|b;
b=a&0x40; b=b>>5; c=c|b;
b=a&0x80; b=b>>7; c=c|b;
bank3(1)=c;
c=0;
}
bank1(0)=(0xb8+i); delay(); //page
// bank4(0)=(0xb8+i); delay(); //page
for(j=64;j<128;j++)
{a=map[i][j]; delay();
b=a&0x01; b=b<<7; c=c|b;
b=a&0x02; b=b<<5; c=c|b;
b=a&0x04; b=b<<3; c=c|b;
b=a&0x08; b=b<<1; c=c|b;
b=a&0x10; b=b>>1; c=c|b;
b=a&0x20; b=b>>3; c=c|b;
b=a&0x40; b=b>>5; c=c|b;
b=a&0x80; b=b>>7; c=c|b;
bank1(1)=c;
// bank4(1)=c;
c=0;
}
}
bank3(0)=0x3f; delay();// open led
delay(); delay();
delay(); delay();
bank1(0)=0x3f; delay();// open led
//bank4(0)=0x3f; delay();// open led
}
int main(void)
{
char c1[1];
char err;
ARMTargetInit(); //开发版初始化
portf(); // 端口测试
LCD_init();
LCD_diplay();
while(1)
{
Uart_SendByte(0,0xa);//换行
Uart_SendByte(0,0xd);//回车
err=Uart_Getch(c1,0,0); //从串口采集数据
Uart_SendByte(0,c1[0]); //显示采集的数据
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -