关键用“P”表示
模式键用“M”表示
具体看程序
单片机源程序如下:
- /*******************************************************************************
- --------------------------------------------------------------------------------
- * 实 验 名 : 红外线显示试验
- * 实验说明 : LCD1602显示接收到的红外线键值。
- * 连接方式 : 见连接图
- * 注 意 :
- *******************************************************************************/
- #include<reg51.h>
- #include"lcd.h"
- sbit IRIN=P3^2;
- unsigned char code CDIS1[13]={" MCU GROUP "};
- unsigned char code CDIS2[13]={" IR-CODE:- "};
- unsigned char IrValue[6];
- unsigned char Time;
- void IrInit();
- void DelayMs(unsigned int );
- char Code2Char(int High, int Low);
- /*******************************************************************************
- * 函数名 : main
- * 函数功能 : 主函数
- * 输入 : 无
- * 输出 : 无
- *******************************************************************************/
- void main()
- {
- unsigned char i;
- //红外初始化
- IrInit();
- //LCD初始化
- LcdInit();
- //
- LcdWriteCom(0x80);
-
- for(i=0;i<13;i++)
- {
- LcdWriteData(CDIS1[i]);
- }
- LcdWriteCom(0x80+0x40);
- for(i=0;i<13;i++)
- {
- LcdWriteData(CDIS2[i]);
- }
- while(1)
- {
- char Number;
- IrValue[4]=IrValue[2]>>4; //高位
- IrValue[5]=IrValue[2]&0x0f; //低位
- //LcdWriteCom(0xc0+0x00);
- //LcdWriteData(IrValue[4]);
- //LcdWriteCom(0xc0+0x01);
- //LcdWriteData(IrValue[5]);
- // if(IrValue[4]>9)
- // {
- // LcdWriteCom(0x80+0x12); //设置显示位置
- // LcdWriteData(0x37+IrValue[4]); //将数值转换为该显示的ASCII码
- // }
- // else
- // {
- // LcdWriteCom(0x80+0x12);
- // LcdWriteData(IrValue[4]+0x30); //将数值转换为该显示的ASCII码
- // }
- // if(IrValue[5]>9)
- // {
- // LcdWriteCom(0x80+0x13);
- // LcdWriteData(IrValue[5]+0x37); //将数值转换为该显示的ASCII码
- // }
- // else
- // {
- // LcdWriteCom(0x80+0x13);
- // LcdWriteData(IrValue[5]+0x30); //将数值转换为该显示的ASCII码
- // }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载(单片机源码+视频):
available.rar
(17.07 MB, 下载次数: 76)
|