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

正文內(nèi)容

基于proteus的單片機實時時鐘仿真設(shè)計(參考版)

2025-06-30 18:29本頁面
  

【正文】 _nop_()。y)。z) for(y=110。 for(z=x。sbit MODE=P3^2。sbit ACC0=ACC^0。 //加sbit down= P2^6。 // 1602使能sbit set = P2^4。 // 1602命令、數(shù)據(jù)選擇sbit lcd1602_rw = P2^1。 //串行時鐘sbit alarm_out = P3^6。 //1302復(fù)位sbit ds1302_io = P1^2。//定義IOsbit DQ = P1^0。uchar flag=1,count=0,flag_up=0,flag_down=0,flag_alarm=0,alarm_on,alarm_count=0,done=0。uchar code tabe3[]=Alarm set:。uchar code tabe1[]=20 。// 樂曲《康定情歌》的簡譜表code uchar time[]={8,8,8,4,4,8,8,12,4,8,8,8,4,4,8,16,8,8,8,8,4,4,8,8,12,4,8,8,4,4,4,4,8,24,8,24,8,24,8,16,8,8,8,4,4,4,4,8,16,8,32}。code uint cyc[]={1800,1600,1440,1351,1200,1079,960}。code uchar alarm_two[]=GOOD MORNING HYJ。附錄一 元件清單 型號數(shù)量單片機AT89C511顯示器LM016L1時鐘/日歷芯片DS13021溫度傳感器DS18B201掉電保護芯片24C02C1晶體振蕩器CRYSTAL(12MHz)1晶體振蕩器CRYSTAL()1電容CAP(30pF)2電容CAP(22pF)2電解電容CAPELEC(10181。論文撰寫過程中,筆者借鑒了諸多學(xué)者的成果,在此向他們表示感謝。使自己多年來所學(xué)的理論知識和實踐做到了有機的結(jié)合,進一步深化鞏固自己的理論知識,獲益匪淺。在此次畢業(yè)設(shè)計中我斬獲了很多很多東西,這是最重要的,同時整個畢設(shè)過程使我學(xué)習(xí)新知識綜合運用所學(xué)知識解決實際問題的能力得到了全方位的提高,為以后的工作打下良好的知識基礎(chǔ)和技能基礎(chǔ)!致謝 在此畢業(yè)設(shè)計即將完成之際,我首先要特別感謝我的指導(dǎo)老師薛建安老師,不管在選題階段,還是在設(shè)計的自始至終,正是他給予我耐心細致的的指導(dǎo)與不斷的鞭策鼓勵,循循善誘,不斷給我提出新的要求和設(shè)計思路、方法,我才能順利地完成我的畢業(yè)設(shè)計,他那種對待學(xué)生和藹親切,嚴寬結(jié)合,對待工作一絲不茍的品質(zhì)和精神值得我們每一個人學(xué)習(xí)。在此次設(shè)計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。對硬件電路的設(shè)計、布局要先有一個總體的好的構(gòu)思,才顯得電路板美觀、大方、直觀,選擇系統(tǒng)所需的各類元器件;其次,對電路各個模塊要實現(xiàn)的功能、芯片的原理和設(shè)計方法要在反復(fù)設(shè)計操作中不斷熟稔,并且考慮和軟件的協(xié)調(diào)工作關(guān)系;再次,對電路中各個原件的屬性參數(shù)要多次推敲修改以達到合理而正確的設(shè)定。 在整個設(shè)計過程中,我到圖書館查閱了大量的資料,在網(wǎng)上瀏覽了大量的與畢設(shè)課題有關(guān)的信息,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),獨立思考,積極探索,接觸并學(xué)到了許多以前沒學(xué)到的知識。其間,屏幕第一行顯示“HELLO! BACKOM”和一個自定義的揚聲器形狀的字符,第二行顯示“GOOD MORNING HYJ”,同時播放音樂《康定情歌》,唱兩遍恰好一分鐘,第一遍結(jié)束時屏幕閃爍一下,一分鐘后自動切換到時間、日期和溫度顯示界面繼續(xù)進行正常走時。前4次訊響頻率均為1000Hz,最后一次為4000Hz。按NAO鍵(P1^7)進入定時子程序,按UP鍵打開鬧鈴及增DOWN鍵關(guān)閉鬧鈴及減1,按ALARM鍵返回主程序或切換開、關(guān)鬧鈴及調(diào)秒、分、時。操作結(jié)果如下圖所示: 將程序燒入(或下載到)AT89S52的過程如下圖所示:打開桌面AVR fighter的快捷方式,按順序單擊“裝FLASH”——打開“”——“編程”。然后將LC160DS1302和DS18B20相應(yīng)的引腳定義位改寫成如表10和表11所示的新的定義位。Target139。ISBasp安裝成功。選擇“從列表或指定位置安裝”,點擊“下一步”——“完成”。其中,DS18B20的數(shù)字信號輸入/輸出端DQ接單片機的P3^3??垢蓴_性更強:AT89S51內(nèi)部集成看門狗計時器(Watchdog Timer),而AT89C51需外接看門狗計時器電路,或者用單片機內(nèi)部定時器構(gòu)成軟件看門狗來實現(xiàn)軟件抗干擾。工作頻率更高:AT89C51極限工作頻率是24MHZ,而AT89S51最高工作頻率是33MHZ,(AT89S51芯片有兩中型號,支持最高工作頻率分別為24MHZ和33MHZ)從而具有更快的計算速度。在編程電壓方面,AT89C51的編程電壓除正常工作的5V外,另Vpp需要12V,而AT89S51僅僅需要4~5V即可。 它們之間主要區(qū)別在于以下幾點: 引腳功能:管腳幾乎相同,變化的有,即這3個引腳的第二功能組成了串行ISP編程的接口。AT89S51與AT89C51相比,外型管腳完全相同,AT89C51的HEX程序無須任何轉(zhuǎn)換可直接在AT89S51運行,結(jié)果一樣??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。AT89S51具有如下特點:40個引腳,8k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。由于在Keil μ version 4編譯器Proteus ,實物仿真時為了便于程序的移植,用AT89S52作為微控制器。 } }} 第五章 硬件電路調(diào)試和使用說明 硬件電路調(diào)試實物仿真的硬件電路采用RZ51/,在一塊噴錫雙層印刷電路板上集成了蜂鳴器、繼電器、紅外接收器、LCD1602液晶接口、I2CROM 24C0MAX232串口通信、時鐘芯片DS1308位共陽極數(shù)碼管、AT89S52單片機等電子元件,可以方便地完成實時時鐘部分的設(shè)計與仿真,查找出軟件編程和Proteus仿真中存在的諸如顯示初始化、時序邏輯和真實硬件不同步上等錯誤進行校驗。 alarm_ring()。 } if(done==0) { //取得并顯示日歷和時間 key_set_alarm()。 c02_init()。 ds18b20_init()。 return date。 date=c02_read_byte()。 c02_write_byte(0xa1)。 respons()。 respons()。 start()。 stop()。 c02_write_byte(date)。 c02_write_byte(address)。 c02_write_byte(0xa0)。 } return k。 scl=0。 c02_delay()。i8。 c02_delay()。 c02_delay()。}uchar c02_read_byte() //讀一字節(jié){ uchar i,k。 sda=1。 } scl=0。 scl=1。 sda=CY。 scl=0。i8。 temp=date。 c02_delay()。 c02_delay()。 c02_delay()。(i250))i++。 while((sda==1)amp。 scl=1。 c02_delay()。 c02_delay()。 c02_delay()。 c02_delay()。 c02_delay()。 c02_delay()。 break。 case 7: nian。 if(yue1) yue=12。 break。 case 5: ri。 if(week1) week=7。 break。 case 3: shi。 if(fen==255) fen=59。 break。 switch(count){ case 1: miao。 flag_down=1。 break。 case 7: nian++。 if(yue12) yue=1。 break。 case 5: ri++。 if(week7) week=1。 break。 case 3: shi++。 if(fen59) fen=0。 break。 switch(count) { case 1: miao++。 flag_up=1。 return temp。 temp=(((key_decimal/10)amp。 } if(flag_alarm==0||alarm_out!=0) { key_set_alarm()。 alarm_out=1。 //稍加延時,增強節(jié)奏感 } EA=0。b1000。 i++。 while(!down)。 if(up==0||down==0) { break。 a=time[i]。 TR0=1。 //若是高八度音階,半周期數(shù)減半 H0=(65536b)/256。 //根據(jù)基本音階,求出半周期數(shù) if(t10) b=b*2。 //讀音調(diào) if(t==0xff) break。 while(!down)。 if(up==0||down==0) { break。 display_1602_alarm()。 TR1=1。 ET1=1。 EA=1。 } //鬧鐘時間到,鬧鐘標志位置1 if(flag_alarm==1) { alarm_out=~alarm_out。amp。amp。 uint b。 } return value。=0x7f。 if(DQ==1) value|=0x80。 ds18b20_delay(1)。i) { value=1。for(i=8。 ds1302_rst=0。 write_byte(date)。 //在rst沒拉高之前先把sclk置0 ds1302_rst=1。 }void ds1302_write(uchar add,uchar date){ ds1302_rst=0。 //拉低sclk ACC=1。 ds1302_sclk=1。k0。 } }uchar read_byte(){ uchar k。 //拉低sclk ds1302_sclk=1。k) { ds1302_io=ACC0。 for(k=8。 }} DS1302寫子程序void write_byte(uchar dat) //寫一字節(jié){ uchar k。lcdnum++) { lcd_writ
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1