#include <lib/avrx.h>
#include <lib/iom128v.h>
#include <lib/macros.h>
#include <lib/_const.h>
#include <lib/STDIO.h>
#include <lib/STRING.h>
#include <lib/ziku.h>
#include <lib/pgmspace.h>
#include <lib/stdint.h>
#include <lib/delay.h>
//==========================================================================================
/********************the definition of functions about lcd *************************
128x64点阵液晶程序,编译软件ICCAVR-6.31A
接线图如下
|--1-------|FG |--2-------|VSS |--3-------|VDD |--4-------|VEE
|--5-------|WR-------PD4 |--6-------|RD-------PD5 |--7-------|CE-------PE2
|--8-------|CD-------PE3 |--9-------|RST------PD6 |--10------|DB0------PA0
|--11------|DB1------PB1 |--12------|DB2------PB2 |--13------|DB3------PB3
|--14------|DB4------PB4 |--15------|DB5------PB5 |--16------|DB6------PB6
|--17------|DB7------PB7 |--18------|FS |--19------|LED- |--20------|LED+ */
//================================================================================*/
//读信号
#define LCD_RD_CLR() PORTD&=~(1<<PD5);DDRD|=(1<<5)
#define LCD_RD_SET() PORTD|=(1<<PD5);DDRD|=(1<<5)
//写信号
#define LCD_WR_CLR() PORTD&=~(1<<PD4);DDRD|=(1<<4)
#define LCD_WR_SET() PORTD|=(1<<PD4); DDRD|=(1<<4)
//片选信号
#define CE_CLR() PORTE&=~(1<<PE2);DDRE|=(1<<2)
#define CE_SET() PORTE|=(1<<PE2); DDRE|=(1<<2)
//数据命令信号
#define CD_CLR() PORTE&=~(1<<PE3);DDRE|=(1<<3)
#define CD_SET() PORTE|=(1<<PE3); DDRE|=(1<<3)
//复位信号
#define RST_CLR() PORTD&=~(1<<PD6);DDRD|=(1<<6)
#define RST_SET() PORTD|=(1<<PD6); DDRD|=(1<<6)
#define movt(x,y) lcd2((y*30)+x,(y*30)+x>>8,0x24);
//#define RST_CLR() PORTD&=~(1<<PD6);DDRD|=(1<<6)
#define SET_138() PORTC|=(1<<PC5);
#define CLR_138() PORTC&=~(1<<PC5);
#define CS_LED() PORTC&=~(1<<PC2); PORTC&=~(1<<PC1);PORTC&=~(1<<PC0)
#define CS_OUT1() PORTC&=~(1<<PC2); PORTC|=(1<<PC1); PORTC&=~(1<<PC0)
#define CS_OUT2() PORTC&=~(1<<PC2); PORTC|=(1<<PC1); PORTC|=(1<<PC0)
#define CS_INPUT1() PORTC|=(1<<PC2); PORTC&=~(1<<PC1); PORTC&=~(1<<PC0)
#define CS_INPUT2() PORTC|=(1<<PC2); PORTC&=~(1<<PC1); PORTC|=(1<<PC0)
#define CS_INPUT3() PORTC|=(1<<PC2); PORTC|=(1<<PC1); PORTC&=~(1<<PC0)
#define WR_SET() PORTG|=(1<<PG0); DDRG|=(1<<0)
#define WR_CLR() PORTG&=~(1<<PG0);DDRG|=(1<<0)
#define RD_SET() PORTG|=(1<<PG1); DDRG|=(1<<1)
#define RD_CLR() PORTG&=~(1<<PG1);DDRG|=(1<<1)
#define sta0_bit PORTA0
#define sta1_bit PORTA1
#define sta2_bit PORTA2
#define sta3_bit PORTA3
#define FAN2_C 0XFE
#define FAN1_C 0XFD
#define CB_OPEN 0XFB
#define CB_CLOSE 0XF7
#define EARTH_OPEN 0XEF
#define EARTH_CLOSE 0XDF
#define TRUCK_OUT 0XBF
#define CB_OPEN_REMOTE 0XF7
#define CB_CLOSE_REMOTE 0XEF
#define HEATER1_C 0XDF
#define HEATER2_C 0XBF
#define LED_RUN 0XFD
#define LED_WARNING 0XFB
#define LED_CLOSE 0XF7
#define LED_OPEN 0XEF
#define LED_COMUNIC 0XDF
#define LED_6 0XBF
#define KEY_RIGHT 0XFE
#define KEY_ESC 0XFD
#define KEY_DOWN 0XFB
#define KEY_ENT 0XF7
#define KEY_UP 0XEF
#define KEY_LEFT 0XDF
#define TRUCK_TEST 0XFE
#define CHARGED 0XFE
#define STANDBY_IN3 0XFE
#define TRUCK_MID 0XFD
#define FRONT_DOOR_CLOSE 0XFD
#define STANDBY_IN4 0XFD
#define TRUCK_WORK 0XFB
#define BACK_DOOR_CLOSE 0XFB
#define STANDBY_IN5 0XFB
#define TRUCK_ENWORK 0XF7
#define MANUAL_CHARG 0XF7
#define STANDBY_IN6 0XF7
#define EARTH_OPEN 0XEF
#define CB_CLOSE_state 0XEF
#define STANDBY_IN7 0XEF
#define EARTH_CLOSE 0XDF
#define CB_OPEN_state 0XDF
#define CB_STATA_OPEN 0XBF
#define STANDBY_IN1 0XBF
#define STANDBY_IN9 0XBF
#define CB_STATA_CLOSE 0X7F
#define STANDBY_IN2 0X7F
#define FRONT_DOOR_NO_CLOSE 0XFFFE
#define BACK_DOOR_NO_CLOSE 0XFFFD
#define NO_CHARGED 0XFFFB
#define CB_POSITION_ERROR 0XFFF7
#define EARTH_POSITION_ERROR 0XFFEF
#define TRUCK_IN_ERROR 0XFFDF
#define TRUCK_OUT_ERROR 0XFFBF
#define NOT_OPERATION_ERATH 0XFF7F
#define EARTH_OPEN_ERROR 0XFEFF
#define EARTH_CLOSE_ERROR 0XFDFF
#define TRUCK_POSITION_ERROR 0XFBFF
#define CB_OPEN_ERROR 0XF7FF
#define CHARG_ERROR 0X7FFF
#define CB_CLOSE_ERROR 0XEFFF
#define OBJECTIVE_POSITION 0XDFFF
#define LIFE_OVER 0XBFFF
#define TRUCK_IN_P 0
#define TRUCK_OUT_P 1
#define EARTH_CLOSE_P 2
#define EARTH_OPEN_P 3
#define CB_CLOSE_P 4
#define CB_OPEN_P 5
#define FAN1_P 6
#define FAN2_P 7
#define HEATER1_P 8
#define HEATER2_P 9
#define CB_CLOSE_REMOTE_P 10
#define CB_OPEN_REMOTE_P 11
#define TRUCK_INING 0X7F
#define TRUCK_OUTING 0XBF
#define EARTH_CLOSING 0XDF
#define EARTH_OPENING 0XEF
#define CB_CLOSING 0XF7
#define CB_OPENING 0XFB
#define FAN1_ING 0XFD
#define FAN2_ING 0XFE
#define HEATER1_ING 0XF7
#define HEATER2_ING 0XFB
#define CB_CLOSE_REMOTING 0XFD
#define CB_OPEN_REMOTING 0XFE
#define TRUCK_IN_OVER 0X80
#define TRUCK_OUT_OVER 0X40
#define EARTH_CLOSE_OVER 0X20
#define EARTH_OPEN_OVER 0X10
#define CB_CLOSE_OVER 0X8
#define CB_OPEN_OVER 0X4
#define FAN1_OVER 0X2
#define FAN2_OVER 0X1
#define HEATER1_OVER 0X8
#define HEATER2_OVER 0X4
#define CB_CLOSE_REMOTE_OVER 0X2
#define CB_OPEN_REMOTE_OVER 0X1
const uint16_t warning_1,warning_2;
/*#define P_out1 (*(volatile unsigned char *)0x2300)
#define P_out2 (*(volatile unsigned char *)0x2400)
#define P_out3 (*(volatile unsigned char *)0x2500)
#define P_out4 (*(volatile unsigned char *)0x2600)
#define P_out5 (*(volatile unsigned char *)0x2200) */
unsigned char relay_set[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
const prog_uint8_t BREAKPT=2;
void delay1ms(void)
{
uint8_t i;
for(i=0;i<1000;i++){;}
}
//===============================================
void delay(uint16_t n)
{
uint16_t i;
/*while(i<n)
{
delay1ms();
i++;
}*/
for(i=0;i<1000;i++){delay1ms();}
}
//写数据
//=================================================*/
void wdata(uint8_t data)
{
//DDRC=0xff; //A口方向为输出
//PORTC=0xff;
DDRB=0xff; //A口方向为输出
PORTB=0xff;
//CE_CLR();
CD_CLR(); //write data
LCD_RD_SET();
LCD_WR_CLR(); //上升沿写入
NOP();//delay(10);
PORTB=data;
NOP();NOP();//delay(20);
LCD_WR_SET();
// CE_SET();
// delay(100);
// CD_SET();
}
//写命令===============================================*/
void lcd0(uint8_t com)
{
// DDRC=0xff; //A口方向为输出
// PORTC=0xff;
DDRB=0xff; //A口方向为输出
PORTB=0xff;
// CE_CLR();
CD_SET(); //wite com
// delay(100);
LCD_RD_SET();
LCD_WR_CLR();
NOP();// delay(10);
PORTB=com;
NOP();NOP();//delay(20);
LCD_WR_SET();
//CE_SET();
}
//=================================================================*/
void lcd1(uint8_t data ,uint8_t com)
{
wdata(data);
lcd.zip_Atmega128 LCD_atmega128_mega lcd
版权申诉
29 浏览量
2022-09-14
15:15:03
上传
评论
收藏 5KB ZIP 举报
寒泊
- 粉丝: 76
- 资源: 1万+
最新资源
- C语言文件读写代码.docx
- python的概要介绍与分析
- module-0982.SyncTensorsGraph.9515.sm-8.0-gpu-after-optimizations
- ChromeSetup20220804.exe
- 讲解记录 基于Java的小区物业管理系统
- module-0004.SyncTensorsGraph.7578.sm-8.0-gpu-after-optimizations
- python39.dll
- 【Matlab 六自由度机器人】Fixed Angles(固定角度) 和 Euler Angles(欧拉角) 之间的区别
- STLINK下载器调试过程中常见问题排查
- BMSP430工程PPT说明书.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈