欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
語音三線串口控制程序
[打印本頁]
作者:
413huoxingren
時間:
2018-6-28 10:41
標題:
語音三線串口控制程序
AVR16語音三線串口控制程序
單片機源程序如下:
#include <iom16v.h>
#include <macros.h>
#include <eeprom.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define mclk 16000000 //定義時鐘頻率
const address[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c};//0—9,0a中放現在的溫度為,0b中放點,0c中放攝氏度
#define rst PB0 //復位
#define cs PB1 //片選端
#define clk PB2 //時鐘
#define data PB3 //數據位
#define busy PINB&0X10 //忙信號PB4
#define rst1 PORTB|=(1<<PB0)
#define rst0 PORTB&=~(1<<PB0)
#define cs1 PORTB|=(1<<PB1)
#define cs0 PORTB&=~(1<<PB1)
#define clk1 PORTB|=(1<<PB2)
#define clk0 PORTB&=~(1<<PB2)
#define data1 PORTB|=(1<<PB3)
#define data0 PORTB&=~(1<<PB3)
uchar a,b,c;
void Port_init(void)
{
DDRB=0XEF;
PORTB=0XFF;
}
/********延時區域*********/
void delay_nus(uint x) //n微妙延時程序
{
unsigned int i;
for(i=x;i>0;i--)
{asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
}
}
void delay_1ms(void) //一毫秒延時程序
{
unsigned int i;
for(i=0;i<2286;i++); //晶振數*143-2
}
void delay_nms(unsigned int x)
{
unsigned int i;
for(i=x;i>0;i--)
{
delay_1ms();
}
}
/****************************************
函數名:void send_com(uchar add)
功能:發碼播放,add為語音地址
*****************************************/
void send_com(uchar add)
{
uchar i;
rst1;
rst0;
delay_nms(5);
rst1;
delay_nms(20);
cs0;
delay_nms(5);
for(i=0;i<8;i++)
{
clk0;
if(add&1)
data1;
else
data0;
delay_nus(300);
clk1;
delay_nus(300);
add=add>>1;
}
cs1;
}
/******************************************
函數名:void wendujisuan()
功能:溫度處理
*****************************************/
void wendujisuan(uint m1)
{
a=m1/100;
b=m1%100/10;
c=m1%100;
}
/******************************************
函數名:void sound()
功能:播報溫度
*****************************************/
void sound()
{
while(!busy);
send_com(0x0a);//播放"現在的溫度為"
delay_nms(500);
while(!busy);
send_com(a);
delay_nms(500);
while(!busy);
send_com(b);
delay_nms(500);
while(!busy);
send_com(11);
delay_nms(500);
while(!busy);
send_com(c);
delay_nms(500);
while(!busy);
send_com(12);
delay_nms(500);
while(!busy);
}
void main()
{
Port_init();
while(1)
{
wendujisuan(325);
sound();
}
}
復制代碼
所有資料51hei提供下載:
語音三線串口16M好使.zip
(1.09 KB, 下載次數: 9)
2018-6-28 10:39 上傳
點擊文件名下載附件
語音三線串口控制程序
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1