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

正文內(nèi)容

數(shù)字鐘基于51單片機匯編語言設(shè)計51單片機數(shù)字時鐘-閱讀頁

2024-11-29 16:46本頁面
  

【正文】 能夠檢查出幾乎所有的語法錯誤。 ,可以直接對硬件進行操作 因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、字節(jié)和地址進行操作 ,而這三者是計算機最基本的工作單元,可以用來寫系統(tǒng)軟件。 ,可移植性好 C語言有一個突出的優(yōu)點就是適合于多種操作系統(tǒng) ,如 DOS、 UNIX,也適用于多種機型。若 17 沒有按鍵設(shè)置,顯示當(dāng)前時間;若有按鈕按下,按鍵調(diào)時,檢測完后, 就可以顯示更新后的時間。 時間設(shè)置完成? 系統(tǒng)初始化 定時器初始化 啟動脈沖跑秒 是否按設(shè)置鍵? 按鈕設(shè)置時間 圖 1 主程序流程圖 時加 1 顯示當(dāng)前時間 時加 1 時加 1 18 : 按鍵調(diào)試程序,是檢測是否有按鍵按下: ( 1)如果秒按鍵按下,就給秒加 1; ( 2)如果分按鍵按下,就給分加 1; ( 3)如果小時按鍵按 下,就給小時加 1; ( 4)如果沒有按鍵按下,時鐘就顯示當(dāng)前時間。 秒加 1 分加 1 時加 1 圖 3 按鍵調(diào)時 子程序 流程圖 啟動脈沖跑秒 是否有按鍵按下 ? 顯示當(dāng)前時間 秒按鍵按下? 分按鍵按下? 時按鍵按下? 顯示更新后時間 20 其訪問地址依次為 8AH8DH。這些寄存器是用于存放 定時或計數(shù)初值的。這些寄存器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。當(dāng)定時器工作在計數(shù)方式時,外部事件通過引腳 T0( )和 T1( )輸入。 當(dāng)定時器 /計數(shù)器為定時工作方式時,計數(shù)器的加 1信號由振蕩器的 12分頻信號產(chǎn)生,即每過一個機器周期,計數(shù)器加 1,直至計滿溢出為止。因一個機器周期等于 12個振蕩周期,所以計數(shù)頻率 fcount=1/12osc。若要延長定時時間,則需要改變定時器的初值,并要適當(dāng)選擇定時器的長度(如 8位、 13位、 16位等)。計數(shù)器在每個機器周期的 S5P2期間采樣引腳輸入電平。此后的機器周期 S3P1期間,新的計數(shù)值裝入計數(shù)器。例如,如果選用 12MHz 晶振,則最高計數(shù)頻率為 。 CPU暫時中止其正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行請求中斷的那個外設(shè)或事件的服務(wù)程序,等處理完畢后再返回執(zhí)行原來中止的程序 , 叫做 中斷。 5個中斷源的符號、名稱及產(chǎn)生的條件如下。 INT1:外部中斷 1,由 P3. 3端口線引入,低電平或下跳沿引起。 T1:定時器/ 計數(shù)器 l 中斷,由 T1計滿回零引起。 ( 1)外部中斷請求源:即外中斷 0和 1,經(jīng)由外部引腳引入的,在單片機上有兩個引腳,名稱為 INT0、 INT1,也就是 、 。 IT0: INT0觸發(fā)方式控制位,可由軟件進和置位和復(fù)位, IT0=0, INT0為低電平觸發(fā)方式, IT0=1, INT0為負跳變觸發(fā)方式。當(dāng)有外部的中斷請求時,這位就會置 1(這由硬件來完成) ,在 CPU響應(yīng)中斷后,由硬件將 IE0清 0。 ( 2)內(nèi)部中斷請求源 TF0:定時器 T0的溢出中斷標(biāo)記,當(dāng) T0 計數(shù)產(chǎn)生溢出時,由硬件置位 TF0。 TF1:與 TF0類似。 單片機的資源包括:片上的 CPU、 RAM、 SFR、定時器、中斷源、 I/O口以及外部可擴充的程序存儲器和數(shù)據(jù)存儲器地址空間。 模擬功能 在開發(fā)目標(biāo)系統(tǒng)的過程中,單片機的開發(fā)系統(tǒng)允許用戶使用它內(nèi)部的 RAM存儲器和輸入1IT 0 =0IT 0 =1INT 0T0T1TXRXTC ON IEEX 0EAIPPX01111100000PSPT 1PX1PT 0SCO N中斷標(biāo)志源允許 總允許硬件查詢矢量地址矢量地址自然優(yōu)先級自然優(yōu)先級IT 1 =0IT 1 =1INT 1IE 0TF 0IE 1TF 1TIRIEX 0EX 1≥1ET1ES優(yōu)先級高級中斷請求PC低級中斷請求PC 23 輸出來替代目標(biāo)系統(tǒng)中的 ROM程序存儲器、 RAM數(shù)據(jù)存儲器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機還未完全配置好以前,便可以借用開發(fā)系統(tǒng) 提供的資源進行軟件的開發(fā)。開發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲器的 RAM,我們常稱之為仿真 RAM,開發(fā)系統(tǒng)中仿真 RAM容量和地址映射應(yīng)和目標(biāo)機系統(tǒng)完全一致。性能優(yōu)良的單片機開發(fā)系統(tǒng)應(yīng)具有下列調(diào)試功能: ( 1)運行控制功能 開發(fā)系統(tǒng)應(yīng)能使用戶有效地控制目標(biāo)程序的運行,以便檢查程序運行的結(jié)果,對存在 的硬件故障和軟件錯誤進行定位。 2)斷點運行:允許用戶任意設(shè)置斷點條件,啟動 CPU從規(guī)定地址開始運行后,當(dāng)碰到斷點條件(程序地址和指定斷點地址符合或者 CPU訪問到指定的數(shù)據(jù)存儲器單元等條件)符合以后停止運行。 4)跟蹤運行:類似單步運行過程,但可以跟蹤到子程序中運行??晒┯脩糇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口。使用戶掌握總線上狀態(tài)變化的過程,對各種故障的定位特別有用,可大大提高工作效率。 sbit StopLED = P2^1。 uint timer = 0。 //秒 uchar mintue = 0。 bit stopflag = 1。 //延時 n毫秒 void LED_Printf(uchar hour,uchar mintue)。 //定時器初始化 10ms 16位工作方式 void Switch_push()。 while(1) { Switch_push()。 if(hour==24) hour=0。 case 0xFD: mintue++。 break。 StopLED = stopflag。 case 0xF7: hour=0。 break。 } void LED_Printf(uchar hour,uchar mintue) //函數(shù)打印 { static uchar i=0。 P1=_crol_(0xFE,i)。 break。 break。 break。 break。 else i=0。 while(n) { i = 2。 27 do { while (j)。 } } void Timer0Init(void) //2毫秒 { TMOD amp。 //設(shè)置定時器模式 TMOD |= 0x01。 //設(shè)置定時初值 TH0 = 0xF8。 //清除 TF0標(biāo)志 TR0 = 1。 ET0 = 1。 LED_Printf(hour,mintue)。 if(timer == 500) { timer=0。 28 LED = sec%2。 mintue++。 hour++。 } } } } 五、心得體會 在之前的學(xué)習(xí)中,因為一些主客觀原因,我并沒有學(xué)好單片機基礎(chǔ)應(yīng)用這門課程,所以在課程設(shè)計的開始階段對我來說具有很大的困難,當(dāng)老師把課題布置下來的時候,我作為組長壓力很大,我們組的同學(xué)基礎(chǔ)都比較差,這個課題對我們來說基本是無法完成的。從茫茫然中幡然醒悟,有了一點點的想法。 接下來的日子,我們用盡了所有業(yè)余時間,不停的翻書、上網(wǎng)查資料,一點點收集和這次課程設(shè)計有關(guān)的所有資料,收集夠了相關(guān)的資料開始寫報告的框架,第一遍寫完后才發(fā)現(xiàn)整個報告相當(dāng)于一本盜版的書,整整 20多頁的碼字、資料堆砌,完全和數(shù)字時鐘的設(shè)計沒一點關(guān)系。收拾了心情,第三天重新開始準(zhǔn)備,這次我沒有寫報告,而是從課程設(shè)計的要求和目的出發(fā),在腦海里構(gòu)思了這個程序和硬件電 路所需要的器件和所需指令功能,花了整整一晚上時間才有了初步的思路。弄懂了核心芯片后,需要設(shè)計硬件電路,對 Multisim軟件有初步了解的我開始了電路的設(shè)計,畫完了基本電路又產(chǎn) 生了新的問題,在芯片和數(shù)碼管之間需要用的芯片,一開始以為是 74LS47譯碼器,回想起來在數(shù)電里 74LS47是 47譯碼器,不適用這次的設(shè)計,后來查到 74LS245是個驅(qū)動器,也有傳輸功能,可以用到這次的設(shè)計中。又查到 Keil軟件仿真程序、 Proteus仿真電路并且可以進行聯(lián)機運行程序,所以我選擇 了 Proteus軟件仿真硬件電路,由于對 Keil不是很熟悉,所以選擇比較熟悉的韋福 Wave6000軟件仿真程序。 由于我對這們課程實在很陌生,自 己無法獨立完成一個完美的程序,我這次的設(shè)計是在網(wǎng)上找的資料,安裝自己設(shè)計的想法和思路進行了修改和注釋,在網(wǎng)上學(xué)到了很多相關(guān)知識,了解到了很多關(guān)于電子的論壇,了解了很多關(guān)于單片機一些元件、指令的應(yīng)用。我應(yīng)該在自己以后的學(xué)習(xí)中,不僅要有刻苦努力,要有鉆研精神,還要有創(chuàng)新,對自己感興趣的一定要用心去學(xué)。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1