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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4094|回復: 0
收起左側

ISD4004錄音程序

[復制鏈接]
ID:93384 發表于 2015-10-25 22:34 | 顯示全部樓層 |閱讀模式
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned  char
#define uint  unsigned  int
sbit SS=P1^0;    //片選      
sbit MOSI=P1^1;  //數據輸入
sbit MISO=P1^2;  //數據輸出
sbit SCLK=P1^3;  //SID4004時鐘
//sbit ISD_INT=P3^1;  //中斷
sbit K1=P3^2;
sbit K2=P3^3;
sbit AN=P3^4;   //執行
//sbit STOP=P1^5;  //復位
//sbit PR=P1^6;   //PR=1錄音,PR=0放音  
sbit LED=P0^0;  //指示燈
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
uint  addr;////全局變量////  放音地址  
////////////////放音部分子程序,放音地址由ADDR決定////
void play()
{  uint y;
SS=0;
MOSI=0;//發送開始
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0x20>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}//發送結束
SS=1;//上電結束
delayms(50);
SS=0;
MOSI=0;//發送地址
SCLK=0;
for(y=0;y<16;y++)
{
  SCLK=0;
  if((addr>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}//發送地址結束
MOSI=0;//從指定地址開始放音
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0xe0>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}
SS=1;
SS=0;
MOSI=0;//放音
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0xf0>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}
SS=1;   }
//////////////////////////錄音部分子程序,地址由ADDR決定/////////////////////////
void rec()               
{  uint y;
SS=0;
MOSI=0;//發送開始
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0x20>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}//發送結束
SS=1;//上電結束
delayms(50);
SS=0;
MOSI=0;//發送開始
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0x20>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}//發送結束
SS=1;//上電結束
delayms(50);
delayms(50);
SS=0;
MOSI=0;//發送地址
SCLK=0;
for(y=0;y<16;y++)
{
  SCLK=0;
  if((addr>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}//發送地址結束
MOSI=0;
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0xa0>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}
SS=1;
SS=0;
MOSI=0;
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0xb0>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}
SS=1;   
}
////////////////////////////////////
////////////////////////////////
void stop()
{
    uchar y;
SS=1;
SS=0;
MOSI=0;//放音
SCLK=0;
for(y=0;y<8;y++)
{
  SCLK=0;
  if((0x30>>y)&0x01)MOSI=1;
  else MOSI=0;
  _nop_();
  _nop_();
  _nop_();
  SCLK=1;
  _nop_();
  _nop_();
  _nop_();
}
SS=1;
}
////////////////////////////////////void press_key()
void main()
{  P1=0xff;
   P0=0XFF;
   LED=0;
while(1)
   {
      if(K1==0)
      {delayms(10);
       while(K1==0); ///松手判斷
      LED=1;
       addr=0X00;/////從0X00單元開始
       rec();
    P1=0XFF;
    }
   if(K2==0)
      {
     delayms(10);
       while(K2==0);
       LED=1;
       addr=0X00;
       play();
    P1=0XFF;
      }
   if(AN==0)
      {delayms(10);
       while(AN==0);
    LED=0;
        stop();
       P1=0XFF;
      }
     }
}

評分

參與人數 1黑幣 +45 收起 理由
admin + 45 共享資料的積分獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日韩欧美 | 欧美在线天堂 | 高清一区二区三区 | 国产成人在线视频 | 亚洲精品aaa| 国产美女自拍 | 成人蜜桃视频 | 成人激情视频网 | 日韩精品视频免费 | 亚洲精品日韩精品 | 欧美日韩一区二区三区视频 | 一区二区欧美日韩 | 精品日韩一区二区 | 在线观看h片 | 黄色小视频在线免费观看 | 中文字幕亚洲一区 | 丁香久久 | 一级片免费视频 | 视频在线一区二区 | 久久久久久成人 | 日韩国产精品视频 | 国产视频一区二区三区四区 | 黄色片免费网站 | 国模一区二区 | 日韩国产在线播放 | 国产精品自拍小视频 | 欧美日韩国产在线播放 | 婷婷91| 91看片在线观看 | 欧美黄色一区二区 | 欧美成人久久 | 色综合久久天天综合网 | 久久精品2| 美女免费视频网站 | 三级中文字幕 | 国产免费网址 | 欧美成人精品一区 | 天天搞天天搞 | 一级大片免费看 | 欧美日韩免费在线 | 91爱爱网 |