久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3555|回復: 0
打印 上一主題 下一主題
收起左側

5110顯示屏源程序分享

[復制鏈接]
跳轉到指定樓層
樓主
ID:206787 發表于 2017-6-1 17:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "reg52.h"//51單片機頭文件
#include "Delay.h" //延時函數文件
#include "nokia_5110.h"//Nokia_5110函數文件
#include "STCEEPROM.h"
sbit KEY1 = P3^3;
sbit KEY2 = P3^4;
sbit KEY3 = P3^5;
sbit KEY4 = P3^6;
sbit KEY5 = P3^7;
/****************************************************************
* 名稱   : UART_Init()
* 功能   : 串口初始化,晶振11.0592,波特率9600
* 變量   : 無
* 返回值 :無
****************************************************************/
void UART_Init(void)
{
     TMOD = 0x20;   //定時器模式選擇
     PCON = 0x00;
     SCON = 0x50;               
     TH1 = 0xFd;    //設置波特率 9600
     TL1 = 0xFd;
     TR1 = 1;           //啟動定時器1
        ES = 1;              //開串口中斷
        EA = 1;             //開總中斷         
}
/****************************************************************
* 名稱   : PSend_Hex()
* 功能   : 發送字符串函數,可控制發送長度
* 變量   : 無
* 返回值 :無
****************************************************************/
void Send_Hex(unsigned char *p,unsigned char num)
{
    while(num--)   //剩余發送的字符數
       {
        SBUF = *p; //將要發送的數據賦給串口緩沖寄存器
              while(!TI);//等待發送結束
              TI = 0;    //軟件清零
              p++;       //指針加一
       }     
}
void Music_DOWN(void)
{
       unsigned char Table[10];
       Table[0]= 0x7E;
       Table[1]= 0xFF;
       Table[2]= 0x06;
       Table[3]= 0x01;
       Table[4]= 0x00;
       Table[5]= 0x00;
       Table[6]= 0x00;
       Table[7]= 0xFE;
       Table[8]= 0xFA;
       Table[9]= 0xEF;
       Send_Hex(Table,10);
}
void Music_UP(void)
{
       unsigned char Table[10];
       Table[0]= 0x7E;
       Table[1]= 0xFF;
       Table[2]= 0x06;
       Table[3]= 0x02;
       Table[4]= 0x00;
       Table[5]= 0x00;
       Table[6]= 0x00;
       Table[7]= 0xFE;
       Table[8]= 0xF9;
       Table[9]= 0xEF;
       Send_Hex(Table,10);
}
void DoSum(unsigned char *Str,unsigned char len)//校驗位計算
{
       unsigned int xorsum = 0;
       unsigned char i;
       for(i=1;i<len;i++)
       {
              xorsum = xorsum +Str;
       }
       xorsum = 0 - xorsum;
       *(Str+i)     = (unsigned char)(xorsum >> 8);
       *(Str+i+1)   = (unsigned char)(xorsum & 0x00ff);
}
void Music_Vol(unsigned char Vol)
{
       unsigned char Table[10];
       Table[0] = 0x7E;
       Table[1] = 0xFF;
       Table[2] = 0x06;
       Table[3] = 0x06; //指令
       Table[4] = 0x00;
       Table[5] = 0x00;
       Table[6] = Vol;//音量
       DoSum(Table,7);//計算校驗碼      
       Table[9] = 0xEF;//結束碼
      
       Send_Hex(Table,10);//發送指令數據
       Send_Hex(Table,10);
}
void Music_STOP(void)
{
       unsigned char Table[10];
       Table[0]= 0x7E;
       Table[1]= 0xFF;
       Table[2]= 0x06;
       Table[3]= 0x0E;
       Table[4]= 0x00;
       Table[5]= 0x00;
       Table[6]= 0x00;
       Table[7]= 0xFE;
       Table[8]= 0xED;
       Table[9]= 0xEF;
       Send_Hex(Table,10);
}
/****************************************************************
* 名稱   : main()
* 功能   : 主函數
* 變量   : 無
* 返回值 :無
****************************************************************/
void main(void)
{
       unsigned char M_VOL;
       unsigned char Table[2];
       Delay_ms(1000);
       LCD_init(); //初始化液晶   
       LCD_clear();
       LCD_write_chinese_string(10,0,12,5,0,0);//顯示“音樂播放器”
       LCD_write_chinese_string(0,2,12,2,5,0);//顯示“狀態”
       //LCD_write_chinese_string(40,2,12,2,9,0);//顯示“播放”
       LCD_write_chinese_string(40,2,12,2,11,0);//顯示“停止”
       LCD_write_chinese_string(0,4,12,2,7,0);//顯示“音量”
       UART_Init();
       Delay_ms(100);
       M_VOL = 25;
       Music_Vol(M_VOL);
       Table[0] = M_VOL/10+0x30;
       Table[1] = M_VOL%10+0x30;
       LCD_write_english_string(40,4,Table);
       while(1)
       {
              if(!KEY2)//上一首
              {
                     Delay_ms(20);
                     Music_UP();
                     LCD_write_chinese_string(40,2,12,2,9,0);//顯示“播放”
                     while(!KEY2);
                     Delay_ms(500);   
              }
              if(!KEY3)//下一首
              {
                     Delay_ms(20);            
                     Music_DOWN();
                     LCD_write_chinese_string(40,2,12,2,9,0);//顯示“播放”
                     while(!KEY3);
                     Delay_ms(500);   
              }
              if(!KEY4)//音量加
              {
                     Delay_ms(20);
                     M_VOL++;
                     if(M_VOL>30)M_VOL= 30;
                     Music_Vol(M_VOL);
                     Table[0] =M_VOL/10+0x30;
                     Table[1] =M_VOL%10+0x30;
                     LCD_write_english_string(40,4,Table);
                     Delay_ms(500);   
              }
              if(!KEY5)//音量減
              {
                     Delay_ms(20);
                     if(M_VOL<1)M_VOL= 1;
                     M_VOL--;
                     Music_Vol(M_VOL);
                     Table[0] =M_VOL/10+0x30;
                     Table[1] =M_VOL%10+0x30;
                     LCD_write_english_string(40,4,Table);
                     Delay_ms(500);   
              }
              if(!KEY1)//停止
              {
                     Delay_ms(20);
                     Music_STOP();//停止
                     LCD_write_chinese_string(40,2,12,2,11,0);//顯示“停止”
                     while(!KEY5);
                     Delay_ms(500);   
              }
       }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av黄色免费在线观看 | 蜜桃在线一区二区三区 | 国产精品久久国产精品久久 | 精品国产一区二区三区久久 | 91色综合 | 男人天堂视频在线观看 | 精品久久久久久久久久久久久久 | 日韩视频在线一区 | 亚洲免费在线 | 精品av天堂毛片久久久借种 | 国产 日韩 欧美 在线 | 久久久久久九九九九九九 | 国产亚洲人成a在线v网站 | 99福利视频 | 精品久久久久久亚洲综合网 | 超碰日本 | 亚洲一区二区三区在线视频 | 成人三级视频在线观看 | 少妇性l交大片免费一 | 免费在线观看一区二区 | 91久久精品国产91久久性色tv | 天堂在线中文字幕 | 欧美黄色小视频 | 一级毛片中国 | 久久久91精品国产一区二区三区 | 日本一区二区在线视频 | 免费网站在线 | 日韩一区二区三区在线观看 | 女同av亚洲女人天堂 | 亚洲毛片在线观看 | 精品久久久久久久久久久久久久久久久 | 99久久久久久久 | 欧美日韩在线一区二区 | 国产精品久久久久久久久久久久久久 | 国产欧美一区二区三区在线看 | 在线观看国产精品视频 | 亚洲免费在线 | 色在线免费视频 | 国产精品视频一区二区三区四区国 | 国产成人精品一区二区 | 91精品国产手机 |