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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

NJW1194量產單片機源程序

[復制鏈接]
跳轉到指定樓層
樓主
大批量產的程序,可以直接使用。


單片機源程序如下:

  1. #include  "TypeDefine.H"
  2. #include "ConstantDefine.h"
  3. #include "NJW1194.H"
  4. #include "PublicVariable.H"




  5. /*******************************************************************************************************************
  6. 程序名稱:   void NJW1194Driver(u8 type, u8 Value1, BYTE Value2)
  7. 程序功能:   驅動音調輸入等控制                                                                                                                         
  8. 入口參數:   type,Value                                                                       
  9. 出口參數:   無                                                                                                                                         
  10. 調用子程序:WriteNjw1194(DataTemp)                                                                                                                                                 
  11. ********************************************************************************************************************/
  12. void NJW1194Driver(u8 type, u8 Value1, u8 Value2)
  13. {
  14.                 u16 DataTemp;

  15.                 switch(type)
  16.                 {

  17.                                 case NJW1194_VOLUME:   
  18.                                         if((Value1 <= VOLUME_MIN) || (Value2 <= VOLUME_MIN))
  19.                                         {
  20.                                                     Value1 = Value2 = VOLUME_MIN;
  21.                                         }
  22.                                         else
  23.                                         {
  24.                                                     if((Value1 + MUSIC_BALANC_0DB) >= MusicBalanc)
  25.                                                     {
  26.                                                                Value1 = Value1 + MUSIC_BALANC_0DB - MusicBalanc;
  27.                                                     }
  28.                                                     else
  29.                                                     {
  30.                                                                 Value1 = VOLUME_MIN;
  31.                                                     }

  32.                                                     if((Value2 + MusicBalanc) >= MUSIC_BALANC_0DB)
  33.                                                     {
  34.                                                                 Value2 = Value2 + MusicBalanc - MUSIC_BALANC_0DB;
  35.                                                     }
  36.                                                     else
  37.                                                     {
  38.                                                                 Value2 = VOLUME_MIN;
  39.                                                     }       
  40.                                         }
  41.                                        
  42.                                         if(Value1 > VOLUME_MAX)          
  43.                                         {
  44.                                                     Value1 = VOLUME_MAX;
  45.                                         }
  46.                                         if(Value2 > VOLUME_MAX)          
  47.                                         {
  48.                                                     Value2 = VOLUME_MAX;
  49.                                         }

  50.                
  51.                                                                                 if(Value1 <= 0)
  52.                                                                                 {
  53.                                                                                             DataTemp = 255;
  54.                                                                                 }
  55.                                         else
  56.                                         {
  57.                                                 DataTemp = 255 - Value1 - 55;
  58.                                         }
  59.                                         DataTemp = (((DataTemp << 8) & 0xFF00)) | NJW1194_ADD;
  60.                                                                                 WriteNjw1194(DataTemp);
  61.                                        
  62.                                                                                 if(Value2 <= 0)
  63.                                                                                 {
  64.                                                                                             DataTemp = 255;
  65.                                                                                 }                                           
  66.                                                                                 else
  67.                                                                                 {
  68.                                                                                                 DataTemp = 255 - Value2 - 55;
  69.                                                                                 }
  70.                                                                                 DataTemp = (((DataTemp << 8) & 0xFF00)) | NJW1194_ADD;
  71.                                                                                 WriteNjw1194(DataTemp | 0x10);                                    
  72.                                                                                 break;                         
  73.        
  74.                                  case INPUT1194_SEL:          
  75.                                                                                    DataTemp = Value1;
  76.                                                                                    DataTemp = (((DataTemp << 10) & 0xFF00) | 0x20 | NJW1194_ADD);
  77.                                                                                    WriteNjw1194(DataTemp);
  78.                                                                                    break;
  79.                                                           
  80.                                 case TREB1194:          
  81.                                                                                    DataTemp = NJW1194TONE_TAB[Value1];
  82.                                                                                    if(Value1 > 10)
  83.                                                                                 {
  84.                                                                                                      DataTemp |=  0x80;
  85.                                                                                 }
  86.                                                                                 //if(BypassMode)                    
  87.                                                                                 {
  88.                                                                                            DataTemp |= 0x04;
  89.                                                                                 }
  90.                                                                                 /*else
  91.                                                                                 {
  92.                                                                                            DataTemp &= 0xFB;                        //音調控制OFF
  93.                                                                                 }*/
  94.                                                                                    DataTemp = (((DataTemp << 8) & 0xFF00) | 0x30 | NJW1194_ADD);
  95.                                                                                    WriteNjw1194(DataTemp);
  96.                                                                                    break;

  97.                                 case BASS1194:          
  98.                                                                                    DataTemp = NJW1194TONE_TAB[Value1];
  99.                                                                                    if(Value1 > 10)
  100.                                                                                 {
  101.                                                                                                      DataTemp |=  0x80;
  102.                                                                                 }
  103.                                                  
  104.                                                                                    DataTemp = (((DataTemp << 8) & 0xFF00) | 0x40 | NJW1194_ADD);
  105.                                                                                    WriteNjw1194(DataTemp);
  106.                                                                                    break;

  107.                                  default:
  108.                                                         break;
  109.                 }
  110. }

  111. /***************************************************************************************************************
  112. 程序名稱:   void        WriteNjw1194(u16 InData)
  113. 程序功能:   送數據                                                                                                                         
  114. 入口參數:   In_Data                                                                       
  115. 出口參數:   無                                                                                                                                         
  116. 調用子程序:Delay_1us(BYTE Count)                                                                                                                                                 
  117. ****************************************************************************************************************/
  118. void        WriteNjw1194(u16 InData)
  119. {       
  120.                 u8 Couner;

  121.                 NJW1194EnPort(0);
  122.                 Delay_us(2);
  123.                
  124.                 //_asm("sim");                       
  125.                 for(Couner = 0; Couner < 16; Couner ++)
  126.                 {
  127.                                 NJW1194DataPort(InData & 0x8000);
  128.                                 Delay_us(2);
  129.                                 NJW1194ClkPort(0);
  130.                                                                        
  131.                                 Delay_us(2);       
  132.                                 NJW1194ClkPort(1);
  133.                                 InData = InData << 1;                                                                         
  134.                 }
  135.                 //_asm("rim");
  136.                 Delay_us(2);
  137.                 NJW1194EnPort(1);
  138.                 Delay_us(2);
  139.                 NJW1194ClkPort(1);
  140.                                                                                   
  141. }

  142. /*******************************************************************************************************************
  143. 程序名稱:   void NJW1194Driver(u8 type, u8 Value1, BYTE Value2)
  144. 程序功能:   驅動音調輸入等控制                                                                                                                         
  145. 入口參數:   type,Value                                                                       
  146. 出口參數:   無                                                                                                                                         
  147. 調用子程序:void NJW1194Init(void)                                                                                                                                                 
  148. ********************************************************************************************************************/
  149. void NJW1194Init(void)
  150. {
  151.         NJW1194Driver(NJW1194_VOLUME, 0, 0);
  152.         NJW1194Driver(INPUT1194_SEL, 0, 0);
  153.         NJW1194Driver(TREB1194, MUSIC_TREBLE_0DB, MUSIC_TREBLE_0DB);
  154.         NJW1194Driver(BASS1194, MUSIC_BASS_0DB, MUSIC_BASS_0DB);
  155. }
復制代碼

所有資料51hei提供下載:
NJW1194 code .rar (1.42 KB, 下載次數: 70)


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

使用道具 舉報

沙發
ID:386811 發表于 2018-8-16 18:34 | 只看該作者
還有3個H頭文件沒上傳呢。請上傳一下,謝謝。
回復

使用道具 舉報

板凳
ID:48994 發表于 2021-10-15 15:26 | 只看該作者
程序不完整呢!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产9 9在线 | 中文 | 国产精品久久午夜夜伦鲁鲁 | 国产成人免费视频 | 成人精品国产免费网站 | 久久中文字幕一区 | 欧美一二三区 | 97精品国产97久久久久久免费 | 日韩中文一区 | 国产成人在线一区二区 | 国产日韩欧美精品一区二区 | 91短视频网址 | 欧美日韩精品专区 | 亚洲福利一区二区 | 欧美一区二区三区在线观看 | 91精品国产综合久久精品 | 爱爱爱av | 欧美一级视频免费看 | 欧美偷偷 | 久久婷婷av | 久久久91| 色婷婷婷婷色 | 在线看片福利 | 毛片免费在线观看 | 久久伊人一区二区 | 精品av| 国产精品免费一区二区三区四区 | 国产精品久久久久久中文字 | 欧美日韩综合精品 | 欧美精品久久久久久久久久 | 香蕉久久a毛片 | 波多野结衣电影一区 | 欧美日韩精品影院 | 免费麻豆视频 | 91精品国产一区 | 久草青青草 | 男人天堂手机在线视频 | 亚洲成人一区 | 天天影视网天天综合色在线播放 | 亚洲一区久久 | 超碰免费在 | 欧美日韩网站 |