亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
[電子手表制作]第2期V1.2版
[打印本頁(yè)]
作者:
xjx51
時(shí)間:
2021-7-4 11:14
標(biāo)題:
[電子手表制作]第2期V1.2版
本帖最后由 xjx51 于 2021-7-8 08:20 編輯
我又又又來(lái)了,上次按鍵失靈的原因找到了,是我的單片機(jī)IO口設(shè)置成了高阻狀態(tài)。改成準(zhǔn)雙向模式就行了。
測(cè)試了一下時(shí)鐘芯片和改時(shí)間的功能,全部正常,OK!
下面開(kāi)始驅(qū)動(dòng)喇叭,PWM功能暫時(shí)先不做,我先做了語(yǔ)音功能,但單片機(jī)8K的容量卻給我用完了,只能單獨(dú)寫個(gè)子程序測(cè)試了。
原本是準(zhǔn)備用NVC080C的,但是搞半天驅(qū)動(dòng)不了,只能先用老的語(yǔ)音芯片了,但是老的語(yǔ)音芯片只能說(shuō)些象棋的字,重新定制又太麻煩,只好重搞,
后來(lái)發(fā)現(xiàn)不能驅(qū)動(dòng)是因?yàn)闀r(shí)序不對(duì),搞了一晚上才搞明白,第二天開(kāi)工,我按照廠家給的時(shí)序圖重新編寫了程序,
終于,我聽(tīng)到了世間最美妙的聲音——“將”!
哈哈哈,搞半天是時(shí)序出了問(wèn)題,后來(lái)試了下,也可以連說(shuō)了,屏幕顯示與喇叭說(shuō)話已經(jīng)可以同步了!
上程序:
#include <intrins.h>
#define uint unsigned int //宏定義變量
#define uchar unsigned char //宏定義變量
sbit busy=P5^4; //定義語(yǔ)音芯片忙信號(hào)輸入單片機(jī)腳
sbit dat=P1^5; //定義單片機(jī)輸出數(shù)據(jù)腳
uchar temp1,t;
uchar code table[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,//語(yǔ)音信號(hào)數(shù)組
// 將4 將1 帥 士 象 車 馬
0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
// 炮 兵 卒 0 1 2 3 4
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
// 5 6 7 8 9 時(shí) 分 抽簽
0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
// 開(kāi)始 加油 結(jié)束 休息 暫停 超時(shí) 退出 犯規(guī)
0x20,0x21,0x22,0x23, 0x24, 0x25,0x26,0x27,
// 遲到 棄權(quán) 繼續(xù) 悔棋 時(shí)間到 紅 黑 方
0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
// 勝 負(fù) 和 平 前 后 左 右
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
// 吃 進(jìn) 退 十 第 章 頁(yè) 節(jié)
0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f};
// 例 圖 屆 局 回 抽簽 名
void delay_us(uint x) //
{
uint a;
for(a=x;a>0;a--)
{
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
_nop_() ;
}
}
void delay_ms(uint x) //X=毫秒數(shù)*10
{
uint a,b;
for(a=0;a<x;a++)
for(b=0;b<300;b++);
//for(c=0;c<25~;c++);
}
void NVC080C_8BITS() //聲明語(yǔ)音發(fā)音子函數(shù)
{
dat=0;
delay_ms(50); //5毫秒低電平同步頭
for(t=0;t<8;t++)
{
if(temp1&1) //1010 1010
{
dat=1;
delay_us(1200); //400US
dat=0;
delay_us(400);
}
else
{
dat=1;
delay_us(400);
dat=0;
delay_us(1200);
}
temp1>>=1;
}
dat=1;
}
void yuyin(uchar y)
{
temp1 = y;
delay_ms(1000);
NVC080C_8BITS();
}
void main()
{
yuyin(0X19);//對(duì)應(yīng)語(yǔ)音表的“分”
while(1) ;
}
復(fù)制代碼
至此,語(yǔ)音程序已完成,下期完善鬧鐘功能!
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1