久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
[原創DIY]電子表語音報時功能制作 附單片機程序
[打印本頁]
作者:
xjx51
時間:
2021-8-11 16:23
標題:
[原創DIY]電子表語音報時功能制作 附單片機程序
上次把時鐘和鬧鐘功能搞好了,接下來做語音報時功能吧!
完整程序在下方
說明一下吧,上邊這兩個函數是用于控制語音的,不用管它,在調試途中發現不穩定,比如11點它會說成31點,這就奇怪了,我查了半天才發現是我取BCD碼的方式不對,取十位本來是/16,結果我寫成了/10,這能不錯嗎?該回來后懷著激動的心下載了程序,結果一上電,納尼?!屏幕亮都不亮,本以為下載路徑不對,重新加載了HEX文件,才發現是內存不夠,8K的內存就沒啦?只好把英文字庫給關了,這下內存有了!按下按鍵,可以報出時間和溫度了!
這個語音芯片我用的是NVC080C,可以存放150多段語音,很好用,希望可以幫助到大家!
本功能實現了利用按鍵控制語音芯片進行時間和溫度的報告,格式如下:
現在——XX點XX分——溫度——XX度
這個功能我是用了兩個函數,話不多說,上程序。
void yy_bs(unsigned char w)
{
if(w/16 == 0)
{
DS3231_TIME();
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 1)
{
DS3231_TIME();
yuyin(0X3D);
delay_ms(1500);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 2)
{
DS3231_TIME();
yuyin(0X35);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
// case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 3)
{
DS3231_TIME();
yuyin(0X36);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
//case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 4)
{
DS3231_TIME();
yuyin(0X37);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
//case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 5)
{
DS3231_TIME();
yuyin(0X38);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
//case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/16 == 6)
{
DS3231_TIME();
yuyin(0X39);
delay_ms(1000);
yuyin(0X3D);
delay_ms(1000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
//case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
}
void yy_bs1(unsigned char w)
{
if(w/10 == 0)
{
DS3231_TIME();
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/10 == 1)
{
DS3231_TIME();
yuyin(0X3D);
delay_ms(1500);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/10 == 2)
{
DS3231_TIME();
yuyin(0X35);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
// case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
else if(w/10 == 3)
{
DS3231_TIME();
yuyin(0X36);
delay_ms(1000);
yuyin(0X3D);
delay_ms(2000);
switch(w&0x0f)
{
case(0x01):yuyin(0X34);break;
case(0x02):yuyin(0X35);break;
case(0x03):yuyin(0X36);break;
case(0x04):yuyin(0X37);break;
case(0x05):yuyin(0X38);break;
case(0x06):yuyin(0X39);break;
case(0x07):yuyin(0X3A);break;
case(0x08):yuyin(0X3B);break;
case(0x09):yuyin(0X3C);break;
//case(0x00):yuyin(0X33);break;
}
DS3231_TIME();
}
}
復制代碼
代碼:
第二版本手表程序.7z
(145.73 KB, 下載次數: 30)
2021-8-11 16:16 上傳
點擊文件名下載附件
手表完整程序
下載積分: 黑幣 -5
作者:
神話A小王子
時間:
2022-4-1 15:42
樓主這段程序其實可以簡化一下呢,感覺有很多重復的程序段,另外這種稍顯復雜的程序里盡量少用delay這種延時呢
作者:
xjx51
時間:
2022-7-25 00:34
神話A小王子 發表于 2022-4-1 15:42
樓主這段程序其實可以簡化一下呢,感覺有很多重復的程序段,另外這種稍顯復雜的程序里盡量少用delay這種延 ...
隨便寫的,沒怎么準備做效率啥的,還請大佬多多指教
作者:
yzs158
時間:
2022-7-25 06:06
學習學習論壇有你更精彩
作者:
joyb
時間:
2023-8-29 14:45
語音芯片如何接線
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
五月天国产视频
|
免费精品久久久久久中文字幕
|
国产亚洲一区二区三区
|
国产精品久久久久久一区二区三区
|
精品福利一区二区三区
|
亚洲国产精品va在线看黑人
|
精品二区视频
|
麻豆视频在线免费看
|
亚洲成人中文字幕
|
国产欧美一区二区三区另类精品
|
黄色精品
|
久久99视频
|
欧美成人黄色小说
|
www.日本在线观看
|
亚洲 欧美 另类 日韩
|
日本理论片好看理论片
|
成人久久18免费网站麻豆
|
国产精品一区在线
|
九久久
|
欧美日韩亚
|
国产精品日韩一区
|
国产成人99久久亚洲综合精品
|
欧美成人自拍
|
中文成人在线
|
国产精品有限公司
|
97精品超碰一区二区三区
|
99精品观看
|
国产精品中文字幕在线播放
|
日韩精品一区二区三区四区
|
日本久久www成人免 成人久久久久
|
五月综合久久
|
www.99re
|
亚洲成年人免费网站
|
99reav
|
夜夜草
|
日韩在线一区二区三区
|
精品国产乱码久久久久久影片
|
a a毛片
|
色一阁
|
日韩亚洲视频
|
欧美日韩中文字幕
|