📄 main.c
字号:
#include "option.h"
#include "math.h"
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "Include.h"
extern unsigned short PortCdata, PortDdata,PortEdata,PortFdata;
extern U8 G_RUN_STATUS; //运行标志位
extern __packed struct device_context *G_Device_Context; //现场参数(关键)
extern __packed struct rf_param *rfpara; //RF配置模块
//extern U8 flag; //标志位 0:EDITMODE 1:SCANNING MODE 2:Remote MODE 3:数字输入状态(仅在EDITMODE下)
extern U8 G_Focus; //当前输入焦点 和屏幕序号有关
extern U8 G_FocusOld; //上一个输入焦点,为了更新显示
extern U8 G_FormNow; //当前屏幕序号
extern U8 G_KeyPress; //键盘按下标志
extern U8 G_Key; //键号
extern unsigned char G_EditStatus;
extern int G_Step; //freq G_Step
extern struct Scan G_Scan;
extern const U16 IFBW_DATA[22];
extern const U16 ScanStep_DATA[22];
extern const U32 RS232_BAUD[8];
extern U32 Count1ms;
extern U8 G_RUN_STATUS; //运行标志位
extern U8 ReadyToScan;
extern U8 ReturnFreq;
extern U8 CountRstDsp;
extern U32 CountScr;
extern U8 RstDsp;
extern U8 ScrOFFMODE;
extern U8 AFCRefresh;
extern cmdbuffer cbf;
extern U8 timer2flag;
extern struct LockOutInfo *pLockInfo;
extern void __irq LCD_ISR(void);
/*
*******************************************************************
*
* main()
*
*******************************************************************
*/
void int_init() //初始化中断寄存器
{
rEXTINT=0x22222222; //ENT0-7 下降沿
rINTMOD=0; //全部IRQ
pISR_EINT0=(unsigned)LCD_ISR;
rINTMSK=~(BIT_GLOBAL|BIT_EINT0); //外中断0允许
rINTCON=0x5;
}
void system_init()
{//系统初始化
Port_Init();
ChangePllValue(8, 6, 1 ); //1倍频,主时钟为10MHz
rSYSCFG=CACHECFG; // Using 8KB Cache//
int_init(); //中断开启
}
/**********************************************************************
* main loop
*/
void Main(void)
{
system_init();
lcd_init(); //LCD驱动芯片初始化,设置为显示字符方式
Delay(1000);
lcdclear(); //屏幕清空
Delay(1000);
gotoxy(6,100); //坐标跳转到6,100
/*
坐标说明:屏幕是竖着看的,大小为160*240,左上角为0,0
x坐标:x坐标每跳转1位是移动8个像素点(8pixs),范围可设置为(0~20)
y坐标:y坐标每跳转1位是移动1个像素点(1pix),范围可设置为0~240
字符方式下,每次写入一个8位数据,代表一个半角字符,若写入的数据
>0x9f,视为全角字,需要写入两个8位数据才会显示,例如要显示字符"复"
则需要连续写入两个8位数据0xb8、0xb4
每个半角字符占据8*16像素点,每个全角字符占据16*16像素点
每写入一个数据以后,坐标自动移位到右边下一个点(x++)
若x>=20,则自动跳转到下一行的起始,即是(y+16)
*/ lcd_writeram(0,0xb8);
lcd_writeram(0,0xb4); //复
lcd_writeram(0,0xb8);
lcd_writeram(0,0xdf); //高
lcd_writeram(0,0xc8);
lcd_writeram(0,0xed); //软
lcd_writeram(0,0xbc);
lcd_writeram(0,0xfe); //件
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -