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

正文內(nèi)容

數(shù)字鐘基于51單片機匯編語言設(shè)計51單片機數(shù)字時鐘-資料下載頁

2024-11-09 16:46本頁面

【導(dǎo)讀】MCS-51單片機AT89C51芯片介紹·······················5. AT89C51芯片的內(nèi)存結(jié)構(gòu)························6

  

【正文】 EX 0EX 1≥1ET1ES優(yōu)先級高級中斷請求PC低級中斷請求PC 23 輸出來替代目標(biāo)系統(tǒng)中的 ROM程序存儲器、 RAM數(shù)據(jù)存儲器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機還未完全配置好以前,便可以借用開發(fā)系統(tǒng) 提供的資源進行軟件的開發(fā)。 在研制目標(biāo)系統(tǒng)開始的初級階段,目標(biāo)程序還未生成,此時用戶編寫的程序必須存放在開發(fā)系統(tǒng) RAM存儲器內(nèi),以便于對程序進行調(diào)試和修改。開發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲器的 RAM,我們常稱之為仿真 RAM,開發(fā)系統(tǒng)中仿真 RAM容量和地址映射應(yīng)和目標(biāo)機系統(tǒng)完全一致。 調(diào)試功能 開發(fā)系統(tǒng)對目標(biāo)系統(tǒng)軟、硬件的調(diào)試功能強弱,將直接關(guān)系到開發(fā)的效率。性能優(yōu)良的單片機開發(fā)系統(tǒng)應(yīng)具有下列調(diào)試功能: ( 1)運行控制功能 開發(fā)系統(tǒng)應(yīng)能使用戶有效地控制目標(biāo)程序的運行,以便檢查程序運行的結(jié)果,對存在 的硬件故障和軟件錯誤進行定位。 1)單步運行:能使 CPU從任意的程序地址開始執(zhí)行一條指令后停止運行。 2)斷點運行:允許用戶任意設(shè)置斷點條件,啟動 CPU從規(guī)定地址開始運行后,當(dāng)碰到斷點條件(程序地址和指定斷點地址符合或者 CPU訪問到指定的數(shù)據(jù)存儲器單元等條件)符合以后停止運行。 3)全速運行:能使 CPU從指定地址開始連續(xù)地全速運行目標(biāo)程序。 4)跟蹤運行:類似單步運行過程,但可以跟蹤到子程序中運行。 ( 2)目標(biāo)系統(tǒng)狀態(tài)的讀出修改功能 當(dāng) CPU停止執(zhí)行目標(biāo)系統(tǒng)的程序后,允許用戶方便地讀出或修改目標(biāo)系統(tǒng)資源的狀 態(tài),以便檢查程序運行的結(jié)果、設(shè)置斷點條件以及設(shè)置程序的初始參數(shù)??晒┯脩糇x出 /修改的目標(biāo)系統(tǒng)資源包括: 1)程序存儲器(開發(fā)系統(tǒng)中的仿真 RAM存儲器或目標(biāo)機中的程序存儲器); 2)單片機中片內(nèi)資源(工作寄存器、特殊功能寄存器、 I/O口、 RAM數(shù)據(jù)存儲器、位單元); 3)系統(tǒng)中擴展的數(shù)據(jù)存儲器、 I/O口。 ( 3)跟蹤功能 高性能的單片機開發(fā)系統(tǒng)具有邏輯分析儀的功能,在目標(biāo)程序運行過程中,能跟蹤存儲目標(biāo)系統(tǒng)總線上的地址、數(shù)據(jù)和控制信號的狀態(tài)變化,跟蹤存儲器能同步地記錄總線上的信息,用戶可以根據(jù)需要顯示跟蹤存儲器 搜集到的信息,也可以顯示某一位總線狀態(tài)變化的波 24 形。使用戶掌握總線上狀態(tài)變化的過程,對各種故障的定位特別有用,可大大提高工作效率。 include include //include define uchar unsigned char define uint unsigned int sbit LED = P2^0。 sbit StopLED = P2^1。 code uchar pdat[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。 uint timer = 0。 //系統(tǒng)時鐘 uchar sec = 0。 //秒 uchar mintue = 0。 // uchar hour = 0。 bit stopflag = 1。 void Delaynms(uchar n)。 //延時 n毫秒 void LED_Printf(uchar hour,uchar mintue)。 //打印數(shù)碼管 void Timer0Init(void)。 //定時器初始化 10ms 16位工作方式 void Switch_push()。 //按鍵掃描函數(shù) 25 void main() { Timer0Init()。 while(1) { Switch_push()。 } } void Switch_push() { switch(P3) { case 0xFE: hour++。 if(hour==24) hour=0。 break。 case 0xFD: mintue++。 if(mintue==60) mintue=0。 break。 case 0xFB: stopflag=~stopflag。 StopLED = stopflag。 while(P3==0xFB) break。 case 0xF7: hour=0。 mintue=0。 break。 26 } Delaynms(200)。 } void LED_Printf(uchar hour,uchar mintue) //函數(shù)打印 { static uchar i=0。 P0=0x00。 P1=_crol_(0xFE,i)。 switch(i) { case 0: P0=pdat[hour/10]。 break。 case 1: P0=pdat[hour%10]。 break。 case 2: P0=pdat[mintue/10]。 break。 case 3: P0=pdat[mintue%10]。 break。 } if(i3) i++。 else i=0。 } void Delaynms(uchar n) { unsigned char i, j。 while(n) { i = 2。 j = 239。 27 do { while (j)。 } while (i)。 } } void Timer0Init(void) //2毫秒 @ { TMOD amp。= 0xF0。 //設(shè)置定時器模式 TMOD |= 0x01。 //設(shè)置定時器模式 TL0 = 0x30。 //設(shè)置定時初值 TH0 = 0xF8。 //設(shè)置定時初值 TF0 = 0。 //清除 TF0標(biāo)志 TR0 = 1。 //定時器 0開始計時 EA = 1。 ET0 = 1。 } void InterruptSer1(void) interrupt 1 { Timer0Init()。 LED_Printf(hour,mintue)。 if(stopflag == 0) timer++。 if(timer == 500) { timer=0。 sec++。 28 LED = sec%2。 if(sec==60) { sec=0。 mintue++。 if(sec==60) { mintue = 0。 hour++。 if(hour==24) hour = 0。 } } } } 五、心得體會 在之前的學(xué)習(xí)中,因為一些主客觀原因,我并沒有學(xué)好單片機基礎(chǔ)應(yīng)用這門課程,所以在課程設(shè)計的開始階段對我來說具有很大的困難,當(dāng)老師把課題布置下來的時候,我作為組長壓力很大,我們組的同學(xué)基礎(chǔ)都比較差,這個課題對我們來說基本是無法完成的。 后來 周永寧 老師為大家補課,從單片機編程的最基礎(chǔ)知識講起,從基本的數(shù)據(jù)變換,最簡單的程序指令解釋,到程序設(shè)計的思路、流程、電路圖給我們講授的時候,才讓我茅塞頓開。從茫茫然中幡然醒悟,有了一點點的想法。實踐課上,我們?nèi)?實訓(xùn)中心講課堂上講的最簡單的延時、跳轉(zhuǎn)等幾個小程序做了調(diào)試和仿真練習(xí),這才算是對單片機編程這門課程入門了。 接下來的日子,我們用盡了所有業(yè)余時間,不停的翻書、上網(wǎng)查資料,一點點收集和這次課程設(shè)計有關(guān)的所有資料,收集夠了相關(guān)的資料開始寫報告的框架,第一遍寫完后才發(fā)現(xiàn)整個報告相當(dāng)于一本盜版的書,整整 20多頁的碼字、資料堆砌,完全和數(shù)字時鐘的設(shè)計沒一點關(guān)系。轉(zhuǎn)眼已經(jīng) 2個通宵了,就弄了這個啼笑皆非的結(jié)果。收拾了心情,第三天重新開始準(zhǔn)備,這次我沒有寫報告,而是從課程設(shè)計的要求和目的出發(fā),在腦海里構(gòu)思了這個程序和硬件電 路所需要的器件和所需指令功能,花了整整一晚上時間才有了初步的思路。 29 首先,進行硬件電路的設(shè)計,遇到 MCS5 8051,實在不明白這幾個芯片哪個才是這次要用到的,查閱資料得知 MCS51指美國 INTEL公司生產(chǎn)的一系列單片機的總稱,包括了 8051芯片等,而 AT89S5 AT89C51則是由 INTEL公司授權(quán)技術(shù)的產(chǎn)物,它們兼容了 MCS51的功能,而且 AT89S51是 AT89C51芯片的升級版。弄懂了核心芯片后,需要設(shè)計硬件電路,對 Multisim軟件有初步了解的我開始了電路的設(shè)計,畫完了基本電路又產(chǎn) 生了新的問題,在芯片和數(shù)碼管之間需要用的芯片,一開始以為是 74LS47譯碼器,回想起來在數(shù)電里 74LS47是 47譯碼器,不適用這次的設(shè)計,后來查到 74LS245是個驅(qū)動器,也有傳輸功能,可以用到這次的設(shè)計中。 由于對 Multisim軟件不熟悉,在操作過程中找虛擬元件花費了很長時間,用到最后發(fā)現(xiàn) Multisim這個軟件里沒有要用的一些芯片,上網(wǎng)查資料得知, Multisim是用來仿真復(fù)雜的數(shù)字電路的,不適合單片機的仿真電路。又查到 Keil軟件仿真程序、 Proteus仿真電路并且可以進行聯(lián)機運行程序,所以我選擇 了 Proteus軟件仿真硬件電路,由于對 Keil不是很熟悉,所以選擇比較熟悉的韋福 Wave6000軟件仿真程序。 經(jīng)過這幾個周的時間,常??磿⑸暇W(wǎng)查資料,摸索 2個仿真軟件的應(yīng)用,我對數(shù)字時鐘電路單片機的設(shè)計有了一定的了解,漸漸的對單片機應(yīng)用有了進一步的了解,對相關(guān)知識有了短時間的加強,我深刻的認(rèn)識到了單片機課程理論學(xué)習(xí)的重要性,沒有扎實的理論基礎(chǔ),做起課程設(shè)計來是十分艱難的,有些很基本的知識都需要查資料去印證,去比較資料上的釋義,弄懂它的意思,然后再寫程序調(diào)試,反復(fù)的實驗。 由于我對這們課程實在很陌生,自 己無法獨立完成一個完美的程序,我這次的設(shè)計是在網(wǎng)上找的資料,安裝自己設(shè)計的想法和思路進行了修改和注釋,在網(wǎng)上學(xué)到了很多相關(guān)知識,了解到了很多關(guān)于電子的論壇,了解了很多關(guān)于單片機一些元件、指令的應(yīng)用。 通過這個課程設(shè)計,使我發(fā)現(xiàn),原來小小的一片單片機有這么強大的功能,能應(yīng)用于各種領(lǐng)域。我應(yīng)該在自己以后的學(xué)習(xí)中,不僅要有刻苦努力,要有鉆研精神,還要有創(chuàng)新,對自己感興趣的一定要用心去學(xué)。雖然自己盡了很大的努力,勉強完成了課題的要求,但是還有很多不盡人意的地方,我想大概是由于自己知識薄弱,對編程和仿真經(jīng)驗不足的緣故 吧,作為一個學(xué)電氣自動化技師段的學(xué)生,我想我有必要通過這次課更多的了解自己的不足,從而在以后的學(xué)習(xí)工作中不斷增強自己的動手能力,爭取在電路設(shè)計方面取進步。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1