新手入门
- 积分
- 2
- 金钱
- 2
- 注册时间
- 2020-1-6
- 在线时间
- 5 小时
|

楼主 |
发表于 2020-1-7 10:54:26
|
显示全部楼层
部分代码如下
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "key.h"
#include "lcd.h"
int main(void)
{
int i; //控制morse数组中的数
int j=40; //控制输出行
int k=110; //控制输出列
int morse[5]; //保存morse
u8 key; //保存键值
u8 lcd_id[12]; //存放LCD ID字符串
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(76800); //初始化串口波特率为115200
LCD_Init(); //初始化LCD FSMC接口
KEY_Init(); //初始化与按键连接的硬件接口
POINT_COLOR=RED; //画笔颜色:红色
sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id) ; //将LCD ID打印到lcd_id数组。
POINT_COLOR=BLACK; //将画笔颜色改为黑色
LCD_ShowString(30,50,480,24,24,"Welcome to Morse Password Translator");
LCD_ShowString(340,80,480,16,16,"Made By Woyu"); //简单的进入界面
begain:while(1)
{
for(int m=0;m<5;m++)
{
morse[m]=0; //重置数组
}
i=0;
while(1)
{
key=KEY_Scan(0);
if(key==KEY2_PRES)
{
morse[i]=1; //判断触发的按键,给morse数组赋值
i=i+1;
}
else if(key==KEY0_PRES)
{
morse[i]=2;
i=i+1;
}
else if(key==KEY1_PRES)
{
j=j+20;
if(j%420==0)
{
k=k+30; //相当于回车,并控制输出的x、y轴坐标
j=60;
}
break;
}
}
if(morse[0]==1)
if(morse[1]==2)
if(morse[2]==2)
if(morse[3]==2)
if(morse[4]==2)
{
POINT_COLOR=RED;
LCD_ShowString(j,k,210,24,24,"1"); //进行判定并输出
goto begain;
} |
|