Altium Designer畫的QJ00M02錄音筆原理圖如下:(51hei附件中可下載工程文件)
部分主程序:
#include "reg52.h"
#include "stdio.h"
#include "string.h"
#define uchar unsigned char
#define uint unsigned int
uchar count_chaxun; //需定義在一下幾個(gè)頭文件前
#include "sbit.h"
#include "lcd.h"
#include "uart.h"
#include "mp3.h"
#include "key.h"
void display() //顯示函數(shù)
{
switch (zhuangtai)
{
case 1:write_string(0x80," PLAY "); break;
case 2:write_string(0x80," STOP "); break;
case 3:write_string(0x80," PAUSE "); break;
case 4:write_string(0x80," RECORD"); break;
}
write_1602com(0xc0);
write_1602dat(dangqianqumu/100+0x30);
write_1602dat(dangqianqumu%100/10+0x30);
write_1602dat(dangqianqumu%10+0x30);
write_1602dat('/');
write_1602com(0xc4);
write_1602dat(zongqumu/100+0x30);
write_1602dat(zongqumu%100/10+0x30);
write_1602dat(zongqumu%10+0x30);
write_1602com(0xc8);
write_1602dat('V');
write_1602dat(':');
write_1602dat(yinliang/10+0x30);
write_1602dat(yinliang%10+0x30);
write_string(0," M:");
write_1602dat(moshi+0x30);
}
void main()
{
Uart_init(); //定時(shí)器、串口初始化
lcd_init(); //LCD1602初始化
delay(1000);
write_1602com(0x01);
write_1602com(0xcf);
write_1602dat(moshi+0x30);
shezhiyinliang(10); //設(shè)置音量
delay(100);
chaxunyinliang(); //查詢音量
delay(100);
chaxunzongmu(); //查詢音樂(lè)\錄音文件總數(shù)
delay(100);
while(1)
{
keyscan(); //鍵掃描
display();
if(count_chaxun==25)
{
count_chaxun=0;
TR0=0; //關(guān)閉定時(shí)器0
chaxundangmu(); //查詢當(dāng)前曲目
delay(100);
count_chaxun=0;
chaxun(); //查詢當(dāng)前播放狀態(tài)
TR0=1; //啟動(dòng)定時(shí)器0
}
}
}
void timer0() interrupt 1
{
TH0=0x4c;
TL0=0x00; //T0賦初值40ms
count_chaxun++;
if(count_chaxun>25)
count_chaxun=25 ;
}
全部資料51hei下載地址:
程序.rar
(50.89 KB, 下載次數(shù): 54)
2019-1-2 21:20 上傳
點(diǎn)擊文件名下載附件
DXP原理圖.rar
(578.27 KB, 下載次數(shù): 52)
2019-1-2 21:20 上傳
點(diǎn)擊文件名下載附件
|