资源简介
M62429 C51 S51 单片机
#include
#define uchar unsigned char
#define uint unsigned int
//这是M-62429的音量表格
uchar code vol_L[4]={3,1,2,0};//大小--0----3dB
uchar code vol_H[22]={
0x15,0x05,0x19,0x09,0x11, //0-4-8-12-16 大 dB
0x01,0x1E,0x0E,0x16,0x06, //20-24-28-32-38
0x1A,0x0A,0x12,0x02,0x1C, //40-44-48-52-56
0x0C,0x14,0x04,0x18,0x08, //60-64-68-72-76
0x00,0x00 //80-&& 小
};
代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
//这是M-62429的音量表格
uchar code vol_L[4]={3120};//大小--0----3dB
uchar code vol_H[22]={
0x150x050x190x090x11 //0-4-8-12-16 大 dB
0x010x1E0x0E0x160x06 //20-24-28-32-38
0x1A0x0A0x120x020x1C //40-44-48-52-56
0x0C0x140x040x180x08 //60-64-68-72-76
0x000x00 //80-&& 小
};
uchar vol=18;//初始音量值
sbit sda=P0^7;
sbit scl=P0^6;
sbit voladd=P1^5;
sbit voldec=P1^4;
#include
delay_ms(uint ms)
{
uint i;
for(;ms>0;ms--)
for(i=0;i<123;i++);
}
delayus()
{}
void wr_m624(uchar datuchar sun)
{
uchar ij;
j=dat;
for(i=0;i {
sda=0;//还必须要在时钟下降沿给SDA=0才可以,郁闷了很长时间才想到
delayus();
scl=0;
delayus();
sda=j&0x80;//放置数据到SDA上面
delayus();
scl=1; //写数据上升沿有效
delayus();
j=j<<1;
}
}
void w_m62429(uchar dat)//写入数据到62429
{
uchar aj;
sda=1;
scl=0;
a=vol_H[dat/4];
a=a<<2;
j=a+vol_L[dat%4];
j=j<<1;
wr_m624(0x02); //先写入001CH加二CH同+
wr_m624(j7); //写入volume
wr_m624(0xff2);//写入11
sda=1;
delayus();//写锁信号下降沿有效
scl=0;
delayus();
scl=1;
}
void main()
{
delay_ms(300);//等电源稳定再发数据
Ht1621_Init();
SRS=1;
MVOL=0;
JAZZ =1;
DEFINE =1;
PAUSE =1;
PLAY =1;
ROCK =1;
CLASSLCAL=1;
HIP =1;
BULE =1;
Ht1621Wr5Data(vol);
w_m62429(vol);
P2=vol;
while(1)
{
//-------------------------
if(voladd==0)
{
delay_ms(20);
if(voladd==0)
{
if(vol>0)
{
vol--;
P2=vol;
w_m62429(vol);
// MVOL=1;
Ht1621Wr5Data(84-vol);
delay_ms(100);
// MVOL=0;
// Ht1621Wr5Data(vol);
}
}
}
//--------------------
if(voldec==0)
{
delay_ms(20);
if(voldec==0)
{
if(vol<84)
{
vol++;
P2=vol;
w_m62429(vol);
// MVOL=1;
Ht1621Wr5Data(84-vol);
delay_ms(100);
//MVOL=0;
// Ht1621Wr5Data(vol);
}
}
}
}//whileend
}//main-end
/********************************************************: HT1621
ZHCE 1.0 HT1621
2008213
********************************************************/
//#include
#include
//#define uchar unsigned char
//#define uint unsigned int
#define _Nop() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
#define BIAS 0x52//0b1000 0101 0010 1/3duty 4comLCD
#define SYSDIS 0X00//0b1000 0000 0000
#define SYSEN 0X02 //0b1000 0000 0010
#define LCDOFF 0X04 //0b1000 0000 0100 LCD
#define LCDON 0X06//0b1000 0000 0110 LCD
#define XTAL 0x28 //0b1000 0010 1
- 上一篇:模拟电路版图设计中的匹配艺术
- 下一篇:train_shape.ipynb
相关资源
- 基于89C51和C0809的AD转换,数码管显示
- 基于TLC2543数字电压表
- 25LC512中文资料
- 89c51+DS18B20 数码管
- 基于AT89C51的音乐播放器
- C51单片机电子琴
- 基于C51 的16*64LED点阵
- 基于C51单片机音乐盒设计[1]
- 89C51单片机控制HT1621B驱动LCD(C程序)
- 基于51单片机LCDLM041L显示贪吃蛇小游戏
- 三种方法将51单片机设置为115200波特率
- 中景园电子0.96OLED显示屏_C51系列_SPI
- 霹雳游侠扫描灯20模式带拖尾C程序
- proteus仿真--播放音乐
- AD批量生产PCB-STC15F2K60S2 + QN8025+M62429
- Proteus中单片机89C51在LCD12864显示
- c51单片机点亮第一个led灯的程序keil文
- 基于STC89C51并使用HX711的称重程序
- STC51低功耗加LoRA收发程序
- 51单片机——门禁系统
- keil V5 V4 c51 MDK 420-423 953-959 512-526 各版
- C51智能时钟以及Proteus电路图
- 矩阵键盘4*3
- stc89c51AD库
- 1602LCD 库文件
- STC89C51采集DS18B20温度控制继电器
- 51单片机红外遥控器程序
- sht20驱动程序51
- c51单片机数码管显示60s倒计时
- AT89C51单片机--CC1101无线接收程序经本
评论
共有 条评论