初级会员

- 积分
- 70
- 金钱
- 70
- 注册时间
- 2015-4-8
- 在线时间
- 8 小时
|
5金钱
输入输入2、4显示的是6;输入3、5显示的是7;输入B、D显示F;输入C、E显示的是G
# include "sys.h"
# include "usart.h"
# include "delay.h"
# include "RUN.h"
typedef volatile unsigned char uint8; //??·???8??±???
typedef volatile unsigned int uint16;//??·???16??????±???
typedef volatile unsigned long uint32;//??·???32???¤????±???
void LCD_Init(void);//?ù?÷
void LCD_FBUF(void);//?ù?÷
void LCD1602_Init(void);//?ù?÷
void LCD_WriteCom(unsigned char Com);//?ù?÷
void LCD_WriteData(unsigned char Date);//?ù?÷
//?÷????
int main(void)
{
Stm32_Clock_Init(9);
delay_init(72);
LCD_Init() ; //GPIO??????????????
LCD1602_Init();//LCD??????
while(1)
{
LCD_WriteCom (0x80+00); //??????
LCD_WriteData (0x36);
}
}
/*
LCDRS=0; //RS=0,6
LCDRW=0; //RW=1,5
LCDEN=0; //EN=1,4
DATA_OUT=0X95; //????????1
LCD_WriteCom (0x80+00); //??????
LCD_WriteData ('A'); //??????
LCD_WriteData (0xA3);
LCD_WriteCom (0x80+2); //??????
LCD_WriteData ('B'); //??????
LCD_WriteData (0xA3);
LCD_WriteCom (0x80+40); //??????
LCD_WriteData ('C'); //??????
LCD_WriteData (0xA3);
LCD_WriteCom (0x80+40); //??????
LCD_WriteData ('A'); //??????
LCD_WriteData ('B'); //??????
LCD_WriteData ('C'); //??????
LCD_WriteData ('D'); //??????
LCD_WriteData ('E'); //??????
LCD_WriteData ('F'); //??????
LCD_WriteData ('G'); //??????
LCD_WriteData ('H'); //??????
LCD_WriteData ('I'); //??????
LCD_WriteData ('G'); //??????
LCD_WriteData ('K'); //??????
LCD_WriteData ('L'); //??????
LCD_WriteData ('M'); //??????
LCD_WriteData ('N'); //??????
LCD_WriteData ('O'); //??????
LCD_WriteCom (0x80+00); //??????
LCD_WriteData ('1'); //??????
LCD_WriteData ('2'); //??????
LCD_WriteData ('3'); //??????
LCD_WriteData ('4'); //??????
LCD_WriteData ('5'); //??????
LCD_WriteData ('6'); //??????
LCD_WriteData ('7'); //??????
LCD_WriteData ('8'); //??????
LCD_WriteData ('9'); //??????
LCD_WriteData ('1'); //??????
LCD_WriteData ('2'); //??????
LCD_WriteData ('3'); //??????
LCD_WriteData ('4'); //??????
LCD_WriteData ('5'); //??????
LCD_WriteData ('6'); //??????
LCD_WriteData ('7'); //??????*/
# include "run.h"
# include "delay.h"
//??????PB4??PB5??PB6·?±???EN??RW??RS
//8????????·?±?????
//lcd IO??????
void LCD_Init(void)
{
RCC->APB2ENR|=1<<3;//????PORTB?±??
RCC->APB2ENR|=1<<4;//????PORTC?±??
JTAG_Set(SWD_ENABLE);//??±?JTAG????SWD
GPIOB->CRL&=0XF000FFFF;//PB4??PB5??PB6??×÷????????????
GPIOB->CRL|=0X03330000;//PB4??PB5??PB6???©????????50Hz
GPIOB->ODR=0X0070;
GPIOC->CRL&=0X00000000;//??PC0~PC7??×÷????????????
GPIOC->CRL|=0X33333333;//PC0~PC7???©????????50Hz
GPIOC->ODR=0X00FF;
}
//?????ò
void LCD_FBUF(void)
{
LCDRS=0; //RS=0,6
LCDRW=1; //RW=1,5
LCDEN=1; //EN=1,4
delay_ms(5);
DATA_OUT=0XFF; //????????1
while((DATA_OUT & 0x80) == 0x80); //??????????D7 PC9??·????±??
LCDRW=1; //RW=1
LCDEN=0; //EN=0
}
//LCD??????×?????
void LCD_WriteCom(unsigned char Com)
{
//LCD_FBUF(); //?ì????·?????×???
LCDRS=0; //RS=0
LCDRW=0; //RW=0
LCDEN=0; //EN=0
delay_ms(2);
DATA_OUT = Com; //????????
delay_ms(2); //???±1ms
LCDEN=1; //EN=1
delay_ms(2); //???±1ms
LCDEN=0; //EN=0
delay_ms(2);
}
//LCD??????×?????
void LCD_WriteData(unsigned char Date)
{
//LCD_FBUF(); //?ì????·?????×???
LCDRS=1; //RS=1
LCDRW=0; //RW=0
LCDEN=0; //EN=0
delay_ms(2);
DATA_OUT = Date; //????????
delay_ms(2); //???±4ms
LCDEN=1; //EN=1
delay_ms(2); //???±4ms
LCDEN=0; //EN=0
delay_ms(2);
}
//LCD????????????????
void LCD1602_Init(void)
{
delay_ms(2);
LCD_WriteCom(0X38); //?è??16*2??????5*7???ó??8??????????
delay_ms(2); //???±200us
LCD_WriteCom(0X38); //?è??16*2??????5*7???ó??8??????????
delay_ms(2); //???±200us
LCD_WriteCom(0X0C); //?è???ò??????
delay_ms(2); //???±200us
LCD_WriteCom(0X06); //???ò????????×?·??ó??1
delay_ms(2); //???±200us
LCD_WriteCom(0X01); //????????
delay_ms(2); //???±200us
}
|
|