freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c51多功能電子密碼鎖設(shè)計(jì)源程序代碼畢業(yè)設(shè)計(jì)(已改無錯字)

2023-04-10 09:06:01 本頁面
  

【正文】 tu=0。 while((statuamp。0x01)==0x00) { ISD_SendData(0x05)。//RD_STATUS 狀態(tài)寄存器 ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 SS=1。 } delay_ms(50)。 ISD_SendData(0x80)。//SETPLAY 從起始地址開始播放到結(jié)束地址 ISD_SendData(0x00)。 ISD_SendData(StartAdramp。0x00ff)。 ISD_SendData(StartAdr8)。 ISD_SendData(EndAdramp。0x00ff)。 ISD_SendData(EndAdr8)。 ISD_SendData(0x00)。 SS=1。 ISD_SendData(0x05)。//RD_STATUS 狀態(tài)寄存器 ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 SS=1。 while((statuamp。0x04)==0x04) { ISD_SendData(0x05)。//RD_STATUS 狀態(tài)寄存器 ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 SS=1。 電子綜合設(shè)計(jì)與制作實(shí)踐 設(shè)計(jì)報告 20 } ISD_SendData(0x07)。//PD 掉電 ISD_SendData(0x00)。 SS=1。 } //******************功 能 : 發(fā)送數(shù)據(jù) 返回接收 數(shù)據(jù) uchar ISD_SendData(uchar BUF_ISD) { uchar i,dat=BUF_ISD。 SCLK=1。 SS=0。 for(i=0。i8。i++) { SCLK=0。 I_delay()。 if(datamp。0x01) { MOSI=1。 } else { MOSI=0。 } dat=1。 if(MISO) { dat|=0x80。 } SCLK=1。 I_delay()。 } MOSI=0。 return(dat)。 } 五.蜂鳴器發(fā)聲設(shè)計(jì) 蜂鳴器的工作原理 蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它,單片機(jī) IO 引腳輸出的電流較小,單片機(jī)輸出的 TTL 電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路,一多半采取一個三極管來放大驅(qū)動蜂鳴器。蜂鳴器的正極接到 Q1 的集電極 C 極電子綜合設(shè)計(jì)與制作實(shí)踐 設(shè)計(jì)報告 21 上面,蜂鳴器的負(fù)極地,三極管發(fā)射極 E 極接電源 VCC,基極 B 經(jīng)過限流電阻 R33 后由單片機(jī)的 ,當(dāng) ,三極管 T1 截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng) ,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制 鳴器發(fā)出聲音和關(guān)閉聲音。程序中改變單片機(jī) ,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色音調(diào)的聲音,另外改變 高低電平占空比則可以控制蜂鳴器的聲音大小。 蜂鳴器簡單發(fā)聲程序: void beep_( uint frq,uint time) { uint tt1,tt2。 for(tt1=time。tt10。tt1) { beep=0。 for(tt2=frq。tt20。tt2)。 beep=1。 for(tt2=frq。tt20。tt2)。 } } 蜂鳴器播放歌曲 首先,蜂鳴器按其結(jié)構(gòu)可分為兩種蜂鳴器:壓電式、電磁式。有源蜂鳴器內(nèi)部帶振蕩源,無源蜂鳴器內(nèi)部不帶振蕩源。這里所說的 “ 源 ” 不是指 “ 電源 ” ,而是指 “ 振蕩源 ” 。 有源蜂鳴器直接接上額定電源就可連續(xù)發(fā)聲 。而無源的需要在其供電端上加上高低不斷變化的電信號才可以驅(qū)動發(fā)出聲音。對于無源的我們可以先讓 BUZZ=1 接著延時一小段時間,在又關(guān)閉 BUZZ(即 BUZZ=0)。這樣才能聽到連續(xù)變化的聲音。 蜂鳴器播放歌曲程序: unsigned char timer0h, timer0l, time。 // //單片機(jī)晶振采用 12MHz //頻率 半周期數(shù)據(jù)表 高八位 本軟件共保存了四個八 度的 28個頻率數(shù)據(jù) code unsigned char FREQH[] = { 0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, //低音 1234567 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, //高音 234567 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF}。 //超高音 1234567 //頻率 半周期數(shù)據(jù)表 低八位 code unsigned char FREQL[] = { 0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6, //低音 1234567 0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F,//1,2,3,4,5,6,7,i 0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D, //高音 234567 0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16}。 //超高音 1234567 // 電子綜合設(shè)計(jì)與制作實(shí)踐 設(shè)計(jì)報告 22 //世上只有媽媽好 數(shù)據(jù)表 要想演奏不同的樂曲 , 只需要修改這個數(shù)據(jù)表 code unsigned char sszymmh5[] = { 6, 2, 3, 5, 2, 1, 3, 2, 2, 5, 2, 2, 1, 3, 2, 6, 2, 1, 5, 2, 1, 6, 2, 4, 3, 2, 2, 5, 2, 1, 6, 2, 1, 5, 2, 2, 3, 2, 2, 1, 2, 1, 6, 1, 1, 5, 2, 1, 3, 2, 1, 2, 2, 4, 2, 2, 3, 3, 2, 1, 5, 2, 2, 5, 2, 1, 6, 2, 1, 3, 2, 2, 2, 2, 2, 1, 2, 4, 5, 2, 3, 3, 2, 1, 2, 2, 1, 1, 2, 1, 6, 1, 1, 1, 2, 1, 5, 1, 6, 0, 0, 0}。 // //可惜不是你 數(shù)據(jù)表 code unsigned char sszymmh1[] = { 6,2,1, 5,3,1, 3,3,1, 1,3,1, 2,3,1, 2,3,4, 5,2,1, 5,3,1, 3,3,1, 5,2,1, 1,3,1, 1,3,4, 6,2,1, 5,3,1, 3,3,1, 1,3,1, 7,2,2, 7,2,1, 1,3,1, 2,3,1, 4,3,3, 3,3,1, 3,3,1, 3,3,4, 0, 0, 0}。 // //北京歡迎你 數(shù)據(jù)表 code unsigned char sszymmh2[] = { 3,2,2, 5,2,2, 1,3,1, 5,2,1, 6,2,2, 6,2,1, 5,2,1, 3,2,1, 3,2,1, 5,2,1, 5,2,4, 3,2,1, 5,2,1, 6,2,1, 1,3,1, 2,3,1, 1,3,1, 5,2,1, 3,2,1, 2,2,1, 5,2,1, 3,2,1, 3,2,1, 3,2,2, 0, 0, 0}。 // //送別 數(shù)據(jù)表 code unsigned char sszymmh3[] = { 5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,1, 6,2,1, 5,2,4, 5,2,2, 1,2,1, 2,2,1, 3,2,2, 2,2,1, 1,2,1, 2,2,4, 0,0,0}。 // //中國人 數(shù)據(jù)表 code unsigned char sszymmh4[] = { 6,2,3, 1,3,1, 6,2,1, 5,2,1, 6,2,3, 1,3,1, 6,2,1, 5,2,1, 6,2,1, 5,2,1, 6,2,1, 5,2,1, 3,2,4, 6,2,2, 6,2,1, 5,2,1, 3,2,1, 2,2,1, 3,2,1, 5,2,1, 1,3,1, 7,2,1, 6,2,1, 5,2,1, 6,2,4, 1,3,2, 7,2,2, 6,2,2, 5,2,2, 6,2,8, 0, 0, 0}。 //報警 數(shù)據(jù) 表 code unsigned char sszymmh6[] = { 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 1,3,1, 6,1,1, 0, 0, 0}。 // 電子綜合設(shè)計(jì)與制作實(shí)踐 設(shè)計(jì)報告 23 void t0int() interrupt 1 //T0中斷程序,控制發(fā)音的音調(diào) { TR0=0。 //先關(guān)閉 T0 beep=!beep。 //輸出方波 , 發(fā)音 TH0=timer0h。 //下次的中斷時間 , 這個時間 , 控制音調(diào)高低 TL0=timer0l。 TR0=1。 //啟動 T0 } // void delay_fmq(unsigned char t) //延時程序 ,控制發(fā)音的時間長度 { unsigned char t1。 unsigned long t2。//t=t*2。 for(t1=0。t1t。t1++) //雙重循環(huán) , 共延時 t個半拍 for(t2=0。t28000。t2++)。 //延時期間 , 可進(jìn)入 T0中斷去發(fā)音 TR0=0。 //關(guān)閉 T0, 停止發(fā)音 } // void song() //演奏一個音符 { TH0=timer0h。 //控制音調(diào) TL0=timer0l。 TR0=1。 //啟動 T0, 由 T0輸出方波去發(fā)音 delay_fmq(time)。 //控制時間長度 } // void play_fmq(unsigned char *sszymmh) { unsigned char k, i。 TMOD=1。 //置 T0定時工作方式 1 ET0=1。 //開 T0中斷 EA=1。 //開 CPU中斷 beep=0。 i=0。 time=1。 while(time){ k=sszymmh[i]+7*sszymmh[i+1]1。//第 i個是音符 , 第 i+1個是第幾個八度 timer0h=FREQH[k]。 //從數(shù)據(jù)表中讀出頻率數(shù)值 timer0l=FREQL[k]。 //實(shí)際上 , 是定時的時間長度 time=sszymmh[i+2]。 //讀出時間長度數(shù)值 i+=3。 song()。 //發(fā)出一個音符 } beep=1。 } 電子綜合設(shè)計(jì)與制作實(shí)踐 設(shè)計(jì)報告 24 第四部分 調(diào)試報告
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1