




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.精品文本精品文本.精品文本微機原理及應(yīng)用課程設(shè)計設(shè)計題目: 指針式的屏顯電子鐘專 業(yè) 網(wǎng) 絡(luò) 工 程 班 級 網(wǎng) 絡(luò) 081 學 生 劉妙曲 指導教師 王 理 2021 年 2 學期目 錄實驗?zāi)康?.3實驗內(nèi)容及要求3課設(shè)根本思想3程序流程圖4實驗結(jié)果.6程序源代碼6課設(shè)心得體會14參考文獻14一、實驗?zāi)康?學習系統(tǒng)駐留的方法。2了解BIOS中時間參數(shù)的調(diào)用方法。3了解屏幕畫圖的方法 對于本次應(yīng)用的科目微機原理與接口技術(shù)來說,因為需要應(yīng)用Win32 匯編語言技術(shù)來編寫代碼實現(xiàn)功能,所以要掌握這門語言。并且要用到Windows API 接口的許多函數(shù),所以要掌握一局部函數(shù)的調(diào)用方法及實現(xiàn)的功能
2、。檢驗和提高匯編語言程序設(shè)計能力,和微機原理與接口技術(shù)應(yīng)用方面的分析問題與解決問題的能力,掌握32位匯編語言,完成軟件的設(shè)計要求、編碼和測試等。 二、實驗內(nèi)容及要求1在屏幕上顯示一個適當大小的橢圓形界面,橢圓形軌道上,均勻的分布著60個“點,代表1秒60秒的位置,但凡5倍數(shù)的“點,應(yīng)當比其他的“點稍大。2以橢圓的中心為軸,畫一條線代表“秒針,采用定時中斷的方式,每過一秒鐘,秒鐘移動一個位置,同時系統(tǒng)發(fā)出“嘀嗒的聲音,如果相應(yīng)的“點能改變顏色,那么動感更強。3定時源可以使用系統(tǒng)的定時源。4按下“Esc鍵之后,結(jié)束演示。三 課設(shè)根本思想 1屏幕應(yīng)設(shè)置為圖形方式,采用模塊化編程模式,主模塊顯示橢圓形
3、表盤,并且處理時鐘中斷,每過一秒鐘,轉(zhuǎn)入一次子模塊,子模塊負責秒針移動的位置。2在著手本課題設(shè)計之前,學習掌握真設(shè)計方法,掌握順時針方向畫圓的技術(shù),靈活運用,就可以設(shè)計出秒針的移動程序。3系統(tǒng)駐留的方法及BIOS中時間參數(shù)的調(diào)用方法見統(tǒng)駐留時間程序。屏幕設(shè)置為圖形方式,采用模塊化編程,主模塊顯示界面信息,每個子模塊負責一個功能,然后通過模塊調(diào)用來實現(xiàn)。 圓及畫線子模塊顯示圓形表盤,及時、分、秒針,然后調(diào)用秒針移動子模塊式電子鐘能夠運行。 動子模塊中,首先通過cos和sin兩個功能模塊來確定秒針移動的度數(shù),其次分別對秒、分、時進行擦除重寫操作,再分別對表盤及圓心進行刷新,這樣就實現(xiàn)了時、分、秒針
4、的動態(tài)變化。四 程序流程圖開始顯示信息調(diào)用畫線子模塊畫出時分秒針調(diào)用系統(tǒng)實時時鐘顯示模塊Clk顯示系統(tǒng)時間調(diào)用擦除、重寫及角度確定子模塊進行指針移動調(diào)用renovate及enovate進行表盤及圓心的刷新接收鍵盤字符是否為q結(jié)束YN五、實驗結(jié)果六、程序源代碼包含的庫文件及數(shù)據(jù)段的定義如下:.386.model flat, stdcalloption casemap :none includewindows.inc ; Include 文件定義includeuser32.incincludelib user32.libincludekernel32.incincludelib kernel32.
5、libincludeGdi32.incincludelib Gdi32.lib.data?hInstancedd?hWinMaindd?dwCenterXdd? ;圓心XdwCenterYdd?;圓心YdwRadiusdd?;半徑ICO_MAINequ1000h ; Equ 等值定義ID_TIMERequ1.constszClassNamedb 指針式屏顯電子鐘,02計算時鐘的位置、大小的_CalcClockParam子程序:_CalcClockParamproclocalstRect:RECTinvokeGetClientRect,hWinMain,addr stRectmoveax,stR
6、ect.rightsubeax,stRect.left;eax = 寬度movecx,stRect.bottomsubecx,stRect.top;ecx = 高度.ifecx eax ; 比較客戶區(qū)寬度和高度,以小的值作為時鐘的直徑movedx,eax ;高度 寬度subecx,eaxshrecx,1movdwCenterX,0movdwCenterY,ecx.elsemovedx,ecxsubeax,ecxshreax,1movdwCenterX,eaxmovdwCenterY,0.endifshredx,1movdwRadius,edxadddwCenterX,edxadddwCente
7、rY,edxret_CalcClockParamendp3計算時鐘圓周上某個角度對應(yīng)的 X 坐標, X = 圓心X + Sin(角度) * 半徑的子程序_CalcX:_dwPara180dw180_CalcXproc_dwDegree,_dwRadius ;輸入?yún)?shù)是角度_dwDegree和半徑_dwRadiuslocaldwReturnfilddwCenterXfild_dwDegreefldpifmul;角度*Pifild_dwPara180fdivpst(1),st;角度*Pi/180fsin;Sin(角度*Pi/180)fild_dwRadiusfmul;半徑*Sin(角度*Pi/18
8、0)fadd;X+半徑*Sin(角度*Pi/180)fistpdwReturnmoveax,dwReturnret_CalcXendp計算時鐘圓周上某個角度對應(yīng)的 Y 坐標,類似于上面計算X坐標,Y = 圓心Y - Cos(角度) * 半徑4按照 _dwDegreeInc 的步進角度,畫 _dwRadius 為半徑的小圓點刻度程序:_DrawDotproc_hDC,_dwDegreeInc,_dwRadiuslocaldwNowDegree,dwRlocaldwX,dwYmovdwNowDegree,0moveax,dwRadiussubeax,10movdwR,eax.whiledwNowD
9、egree =12subeax,12.endifmovecx,360/12mulecxmovzxecx,stTime.wMinuteshrecx,1addeax,ecxinvoke_DrawLine,_hDC,eax,30invokeGetStockObject,NULL_PENinvokeSelectObject,_hDC,eaxinvokeDeleteObject,eaxpopadret_ShowTimeendp7顯示圓形表盤窗口的初始化過程:_ProcWinMainprocuses ebx edi esi hWnd,uMsg,wParam,lParamlocalstPS:PAINTSTR
10、UCTmoveax,uMsg.ifeax =WM_TIMERinvokeInvalidateRect,hWnd,NULL,TRUEinvoke MessageBeep,-1.elseifeax =WM_PAINTinvokeBeginPaint,hWnd,addr stPSinvoke_ShowTime,hWnd,eaxinvokeEndPaint,hWnd,addr stPS.elseifeax =WM_CREATEinvokeSetTimer,hWnd,ID_TIMER,1000,NULL.elseifeax =WM_CLOSE |(eax = WM_KEYDOWN |eax = WM_K
11、EYUP) & wParam = VK_ESCAPE)invokeKillTimer,hWnd,ID_TIMERinvokeDestroyWindow,hWinMaininvokePostQuitMessage,NULL.elseinvokeDefWindowProc,hWnd,uMsg,wParam,lParamret.endifxoreax,eaxret_ProcWinMainendp8程序的主體顯示過程:_WinMainproclocalstWndClass:WNDCLASSEXlocalstMsg:MSGinvokeGetModuleHandle,NULLmovhInstance,ea
12、xinvokeRtlZeroMemory,addr stWndClass,sizeof stWndClass ; 注冊窗口類invokeLoadIcon,hInstance,ICO_MAINmovstWndClass.hIcon,eaxmovstWndClass.hIconSm,eaxinvokeLoadCursor,0,IDC_ARROWmovstWndClass.hCursor,eaxpushhInstancepopstWndClass.hInstancemovstWndClass.cbSize,sizeof WNDCLASSEXmovstWndClass.style,CS_HREDRAW
13、 or CS_VREDRAWmovstWndClass.lpfnWndProc,offset _ProcWinMainmovstWndClass.hbrBackground,COLOR_WINDOW + 1movstWndClass.lpszClassName,offset szClassNameinvokeRegisterClassEx,addr stWndClass; 建立并顯示窗口 invokeCreateWindowEx,WS_EX_CLIENTEDGE, offset szClassName,offset szClassName, WS_OVERLAPPEDWINDOW, 100,1
14、00,250,270, NULL,NULL,hInstance,NULLmovhWinMain,eaxinvokeShowWindow,hWinMain,SW_SHOWNORMALinvokeUpdateWindow,hWinMain .whileTRUEinvokeGetMessage,addr stMsg,NULL,0,0.break.if eax= 0invokeTranslateMessage,addr stMsginvokeDispatchMessage,addr stMsg.endwret_WinMainendp七、課設(shè)心得體會 在這一周的課設(shè)里,完成課設(shè)題目的過程很是艱辛。在此之前,根本就不清楚用匯編居然也可以編出來像MFC那樣的東西。在屏幕上顯示出來。所以題目一出來就有點蒙了,不知道該從何著手。然后就按照題目在網(wǎng)上搜索相關(guān)的實現(xiàn)步驟及思想。這才發(fā)現(xiàn)自己懂得的東西真是少的可憐,竟然連這個都不了解的。 方法只有深入學習匯編語言,學習Win32程序,及相關(guān)函數(shù)。在平時上課的時候只能說是對匯編語言有了一定的了解,只懂了一點皮毛,所掌握的東西對這次實驗來說可謂是杯水車薪,所以就需要自己去深入地研究,查資料。通過幾天的設(shè)計,我在掌握了它的DOS和BIOS各個功能調(diào)用的同時,也學到了自己以前從沒想過的東西,比方畫點、畫線、更延伸的畫圓、顏色的設(shè)定、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年基本執(zhí)法考試試題及答案
- 2025年中考數(shù)學一輪專題復習強化練習第34課時 概 率 (含答案)
- 2025-2030年中國液壓活塞數(shù)據(jù)監(jiān)測研究報告
- 部編版語文二年級下冊期中練習卷(試題)(含答案)
- 部編版五年級下冊語文期末專項總復習字詞練習題(含答案)
- 北師大版(2019)選擇性必修第一冊Unit 1 Relationships Lesson 3 So close yet so far 同步練習(含答案)
- 房產(chǎn)銷售合同補充協(xié)議
- 建筑密封膠耐候性提升
- 中國長航與寶鋼簽署長期運輸合同
- 項目進度周報及下一步計劃表
- 第二單元 煥發(fā)青春活力 大單元教學設(shè)計-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 2025年皖西衛(wèi)生職業(yè)學院單招職業(yè)技能測試題庫含答案
- 中小學-安全使用與維護家用電器-主題班會教案
- 2025年湖南信息職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案1套
- 2025年湖南中醫(yī)藥高等??茖W校單招職業(yè)技能測試題庫必考題
- 2025年陜西延長石油集團有限責任公司招聘筆試參考題庫含答案解析
- 三八婦女節(jié)模板
- 地鐵出入口施工方案
- 2024上海市招聘社區(qū)工作者考試題及參考答案
- 2024年廚房年終工作總結(jié)
- 2021新推《終身成長》讀后感6篇讀后感
評論
0/150
提交評論