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

正文內(nèi)容

基于51單片機(jī)lcd電子時鐘畢業(yè)設(shè)計(jì)-文庫吧資料

2025-06-09 21:46本頁面
  

【正文】 TR0=0。 TL1=SoundTempTL1。i) //發(fā)規(guī)定長度的音 { while(TF1==0)。 for(i=LDiv1。 LDiv2=yinfuchangLDiv1。 //算出頓音的演奏長度 else LDiv1=yinfuchang。 else LDiv1=yinfuchang*jiepai。 //算出連音音符演奏的長度 (多少個 10ms) if (fudian==1) yinfuchang=yinfuchang+yinfuchang/2。 //算出音符類型 (0 普通 1 連音 2 頓音 ) fudian=length/100。 //加 12 是對中斷延時的補(bǔ)償 } SLen=LengthTab[length%10]。 TH0=SoundTempTH0。// 計(jì)算計(jì)數(shù)器初值 武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 34 SoundTempTH0=TempCounter/256。 //低音,頻率除以 2 if (gaodi==3) CurrentFre=2。 //百位,是否升半 CurrentFre=NewFreTab[PositTab[yinfu1]+shengban]。 //個位, 17七個音 符 gaodi=yindiao/10%10。 TR1=1。 //算出 4 分音符的長度 sifenyifu=sifenyifusifenyifu*jiepai。 //第二個字節(jié)為音符時值 yipai=12021/Speed。 yindiao=SoundName[Point]。 while(SoundName[SoundLength]!=0x00) //計(jì)算歌曲長度 以 0X00 結(jié)尾 { SoundLength+=2。 //如果是降調(diào) 則頻率除以 2 else if(shengjiang==3) NewFreTab[i]=2。 //頻率翻倍速 } else NewFreTab[i]=FreTab[j]。 if(j11) { j=j12。i12。 //Point 指針?biāo)饕? LDiv 音符演奏的長度 (多少個10ms) yipai 1 分音符的長度 (幾個 10ms)即一個節(jié)拍 //sifenyifu 4 分音符的長度 CurrentFre 查出對應(yīng)音符的頻率 SoundLength 歌曲長度 TempCounter 計(jì)算計(jì)數(shù)器初值 unsigned char yindiao,length,yinfu,shengban,gaodi,SLen,leixing,fudian。 //新的頻率表 unsigned char i,j。 } void PlayMusic(unsigned char *SoundName,unsigned char diaohao,unsigned shengjiang,unsigned int Speed) //SoundName 為演奏歌曲歌名 diaohao 是指樂曲升多少個半音演奏 //shengjiang 1:降八度 , 2:不升不降 , 3:升八度 。 //取反 TH0=SoundTempTH0。 //不啟動定時器 EA=1。 //定時器 1 關(guān)中斷 TR0=0。 //定時器 2都工作在定時器模式,工作方式 1 ET0=1。 //裝入初值 TL1=SoundTempTL1。 //計(jì)算 TL1 應(yīng)裝入的初值 (10ms 的初裝值 ) SoundTempTL1=(65535(1/1200)*Fosc)%256。 } } void InitialSound(void) { Speaker=1。 Speaker=1。i++) { Speaker=0。 for(i=0。 DelayMs(100)。 DelayMs(100)。i3。 } DelayMs(500)。 Speaker=1。i++) { Speaker=0。 for(i=0。 //音長定時器初值暫存 void SpeakerDiDi(void)。 unsigned char SoundTempTH0,SoundTempTL0。 //C調(diào)歌曲 12 個半音的頻率 unsigned char code PositTab[7]={0,2,4,5,7,9,11}。 define Fosc 12021000 //定義晶振頻率 12021000HZ define jiepai 3/4 //定義普通音符演奏的長度分率 ,//每 4 分音符間隔 sbit Speaker=P1^4。 //按鍵功能:加 sbit ReduceKey=P2^1。 //按鍵功能:設(shè)置 sbit SureKey=P2^0。 void Delay(unsigned char num)。 void DisplayShengXiao(void)。 void Conversion(bit cen_m,unsigned char year,unsigned char month,unsigned char day)。 void delayb(unsigned int count)。 unsigned char TempRead(void)。 //DS18B20 初始化函數(shù) int GetTemp(void)。 //DS18B20 的數(shù)據(jù)線 int temp。 //讀取DS1302 的數(shù)據(jù) void InitDS1302()。 //給 DS1302 寫一個字節(jié) 武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 26 void WriteDs1302(unsigned char address,unsigned char dat)。 //DS1302 的數(shù)據(jù)端口線 sbit DS1302_RST=P1^2。 //在 LCD 上顯示節(jié)日 /*********定義時間芯片 DS1302 的數(shù)據(jù)線及相關(guān)函數(shù) ***********/ sbit DS1302_CLK=P1^0。 //在 LCD 上顯示月份 void DisplayWeek(void)。 //在 LCD 上顯示日期 void DisplayYear(void)。 //在 LCD 上顯示分鐘 void DisplayHour(void)。 武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 25 void DisplaySec(void)。 //忙檢測 void LCDSendWord(unsigned char *p)。 //LCD12864 初始化 void LCDClear(void)。 //給 LCD12864寫數(shù)據(jù) void WriteCommandLCD(unsigned char WCLCD)。 //LCD12864 使能位,低電平無效,高電平使能 sbit LCD_Back_light=P2^4。 //模式位,低電平輸入指令,高電平輸入數(shù)據(jù) sbit LCD_RW=P2^6。 武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 24 int count=0。 //世紀(jì)標(biāo)志,為 1,則表示 20 世紀(jì),為 0,則表示 21 世紀(jì) bit w。 //陰歷日期,月份,年份 bit c_moon。 參考文獻(xiàn): 2.《 C 語言程序設(shè)計(jì)》 尹業(yè)安,白燕主編 國防科技大學(xué)出版社 3.《單片機(jī)原理與應(yīng)用及 C51程序設(shè)計(jì)》 謝維成 楊加國 主編 清華大學(xué)出版社 LCD 液晶時鐘設(shè)計(jì)原理電路圖 武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 23 include include define SoundSpace 3/4 unsigned char sec,min,hour,day,month,year,cen,week。溫度,可以設(shè)置兩個鬧鈴,且鬧鈴的鈴聲不是單調(diào)的“滴滴”聲,而是《愛情轉(zhuǎn)移》等。日 雖然我們設(shè)計(jì)的時鐘沒有實(shí)現(xiàn)溫度上下限報警的功能,但是我們不斷的改進(jìn)我們的程序,終于經(jīng)過一個多月的努力我們的時鐘做好了,它可以顯示年 從這次的課程設(shè)計(jì)中,我真真正正的意識到,在寫程序時,邏輯思維要清晰,要有耐心。反復(fù)找,反復(fù)請教老師與學(xué)長都沒解決,以致一度都想放棄。這次設(shè)計(jì)是液晶,單片機(jī),鍵盤控制的綜合應(yīng)用,其間,遇到許多困難。在此我們小組先花了近一周時間自學(xué)單片機(jī),通過書本和視頻的學(xué)習(xí),對單片機(jī)有了初步的掌握以后再開始著手設(shè)計(jì)。這是不用單片機(jī)學(xué)習(xí)板,自己動手制作出來的作品。雖然達(dá)到設(shè)計(jì)要求,并完成了一定發(fā)揮部分,但單片機(jī)的資源并沒完全得到應(yīng)用。經(jīng)過一下午的時間,買好器材后便進(jìn)入了設(shè)計(jì)階段。在初步方案確定武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 21 好后,我們開始研究所需的器材,在列出初稿后,我們小組挑了一個下午去廣播屯買器材,并在電子市場請教老板器材選取等問題。 但是溫度要求精確到 度,我們查閱了大量的資料,發(fā)現(xiàn)別人 的都只是精確到 ,并沒有精確到 的程序可以查考,于是我就在想,我可不可以通過一個有返還值的子函數(shù)來實(shí)現(xiàn)小數(shù)位的數(shù)字與 5 的比較返還 0 或是 5 來實(shí)現(xiàn),然后看到 C 語言上的條件運(yùn)算符,眼睛突然一亮,可以用條件運(yùn)算符,這樣程序就更簡單了,調(diào)好程序下載到單片機(jī)里,懷著激動的心情接通電源,終于好了,太興奮了! 整個硬件調(diào)試才完成。我們還是用萬用表檢查所用線路,對照電路原理圖,最后發(fā)現(xiàn)時鐘上拉電阻沒焊上電源。 然后,我們調(diào)試 DS1302 時鐘芯片。開始布局沒有為上拉電阻留下空間,我們在單片機(jī)插 槽里插電阻,解決一些連線的復(fù)雜度。最后在網(wǎng)上發(fā)現(xiàn)我的 P0 口竟然沒接上拉電阻,通過計(jì)算電阻應(yīng)該去 5K 至 10K,我們選用 的電阻。唉!液晶竟然不顯示。 首先,我們調(diào)試 LCD1602 顯示。由于這部分顯示復(fù)雜,用了多個 if 語 句,可能出現(xiàn)語句冗余。 通過單片機(jī)學(xué)習(xí)板對照,程序基本實(shí)現(xiàn)我所預(yù)期的要求,但是界面顯示鬧鐘 1,鬧鐘 2 閃爍時,液晶竟然出現(xiàn)顯示淡化。 最后對程序進(jìn)行相應(yīng)的擴(kuò)展完善,由于按鍵不靈敏我們加上聲音程序。呵呵!又進(jìn)一步! 經(jīng)過一段時間,我發(fā)現(xiàn)界面程序中的 a==1 與功能設(shè)置武漢紡織大學(xué) 電子與電氣工程學(xué)院 電子 91 班 19 中
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1