⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 手机键盘仿真
//-----------------------------------------------------------------
//  说明: 按下仿手机键盘矩阵按键时,对应按键字符显示在1602LCD上
//        本例可选择输入电话号码或英语字符序列,实现的效果仿真
//        手机的电话或字符串输入(例如使用拼音输入法)效果.
//
//-----------------------------------------------------------------
#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <string.h>
#define INT8U   unsigned char
#define INT16U  unsigned int

//液晶及键盘相关函数,相关变量
extern void Initialize_LCD();
extern void Write_LCD_Command(INT8U cmd);
extern void Write_LCD_Data(INT8U dat);
extern void LCD_ShowString(INT8U x, INT8U y,char *str);
extern void Keys_Scan();
extern INT8U KeyMatrix_Down();
extern INT8U KeyNo;

//蜂鸣器定义
#define SPK() PORTA ^= _BV(PA0) 
//12个键盘按键字符总表(每个按键有1~5个字符)
//注意串长应设为6,因为实际最大串长为5,设为6时才能使串尾附带结束标志'\0'
//另外,其中第一个字符串中"1"的后面有一个空格.
const char KeyPad_Chars[12][6] =
{"1 ","2ABC","3DEF","4GHI","5JKL","6MNO","7PQRS","8TUV","9WXYZ","*","0+","#"};










//-----------------------------------------------------------------
// 蜂鸣器
//-----------------------------------------------------------------
void Beep()
{



}

//-----------------------------------------------------------------
// 定时器0跟踪同位按键的时间间隔 (30*50ms = 1.5s)
//-----------------------------------------------------------------
ISR (TIMER0_OVF_vect)
{


}

//-----------------------------------------------------------------
// 功能键处理 *(9):切换输入,#(11)键清除内容
//-----------------------------------------------------------------
void Function_Key_Process()
{




}
//-----------------------------------------------------------------
// 主程序 
//-----------------------------------------------------------------
int main()
{



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -