音量调节
来源:互联网 发布:双程网络剧免费观看 编辑:程序博客网 时间:2024/05/16 02:13
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include <intrins.h> //包含NOP空指令函数_nop_(); #define AddWr 0x90 //写数据地址 #define AddRd 0x91 //读数据地址 sbit Sda=P2^1; //定义总线连接端口 根据此定义连接杜邦线 sbit Scl=P2^0; sbit spk=P1^2; //喇叭端口/*------------------------------------------------ 延时程序------------------------------------------------*/ void mDelay(unsigned char j) { unsigned int i; for(;j>0;j--) { for(i=0;i<125;i++) {;} } }/*------------------------------------------------ 初始化定时器1------------------------------------------------*/void Init_Timer1(void){ TMOD |= 0x10; TH1=(65536-500)/256; //初始化值 TL1=(65536-500)%256; //PT1=1; //优先级 EA=1; //中断使能 ET1=1; //定时器中断使能 TR1=1; //打开定时器} /*------------------------------------------------ 启动IIC总线------------------------------------------------*/ void Start(void) { Sda=1; _nop_(); Scl=1; _nop_(); Sda=0; _nop_(); Scl=0; }/*------------------------------------------------ 停止IIC总线------------------------------------------------*/ void Stop(void) { Sda=0; _nop_(); Scl=1; _nop_(); Sda=1; _nop_(); Scl=0; }/*------------------------------------------------ 应答IIC总线------------------------------------------------*/ void Ack(void) { Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();}/*------------------------------------------------ 发送一个字节------------------------------------------------*/void Send(unsigned char Data){ unsigned char BitCounter=8; unsigned char temp; do {temp=Data;Scl=0;_nop_();if((temp&0x80)==0x80) Sda=1;else Sda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--; } while(BitCounter); Scl=0; }/*------------------------------------------------ 写入DA数模转换值------------------------------------------------*/ void DAC(unsigned char Data) { Start(); Send(AddWr); //写入芯片地址 Ack(); Send(0x40); //写入控制位,使能DAC输出 Ack(); Send(Data); //写数据 Ack(); Stop(); }/*------------------------------------------------ 主程序------------------------------------------------*/void main(){unsigned char num; //DA数模输出变量 Init_Timer1();while(1) { DAC(num); //DA输出,可以用LED模拟电压变化 num++; //累加,到256后溢出变为0,往复循环。显示在LED上亮度逐渐变化 mDelay(20); //延时用于清晰看出变化 }}/*------------------------------------------------ 定时器中断程序------------------------------------------------*/void Timer1_isr(void) interrupt 3 using 1//定时器1{ TH1=(65536-500)/256;//重装初始化值 TL1=(65536-500)%256; spk=!spk; //取反喇叭,产生固定频率方波,驱动喇叭发声
0 0
- 音量调节
- 音量调节
- 音量调节
- IOS音量调节--隐藏系统音量调节
- 拦截音量键调节音量
- 音量调节及静音
- Delphi调节音量
- 调节系统音量(话筒)
- 调节全部音量
- 音量调节及静音
- PCM 音量调节
- brew音量调节
- Delphi 音量调节源码
- VC调节音量
- 用键盘调节音量
- Android音量调节原理
- Android调节音量
- Android音量控制调节
- python pickle模块序列化反序列化---存储对象
- C语言
- 树形dp-洛谷 P2014 选课
- 关于浅拷贝和深拷贝
- POJ 1179 Polygon(区间DP)
- 音量调节
- Round E APAC Test 2017 Problem A. Diwali lightings (C++)
- 更改主机名
- iOS UICollectionView笔记
- linux 文件操作
- Bootstrap的栅格化布局样式
- HDFS负载均衡
- AndroidStudio翻译插件:ECTranslation及其快捷键设置
- 微信后台技术“干货们”带来的启发