




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023/7/21第4章80C51的匯編語言程序設(shè)計(jì)程序編制的方法和技巧4.1源程序的編輯和匯編4.2基本程序結(jié)構(gòu)4.3子程序及其調(diào)用4.4簡(jiǎn)單I/O設(shè)備的并口直接驅(qū)動(dòng)示例4.54.1程序編制的方法和技巧程序編制步驟一、任務(wù)分析二、算法設(shè)計(jì)三、流程描述標(biāo)號(hào)是指令的符號(hào)地址,通常作轉(zhuǎn)移指令的操作數(shù);
由1-31個(gè)字符組成,由字母、數(shù)字、“-”、“?”等組成,不能由數(shù)字開頭;不能用已定義的保留字;必須后跟英文冒號(hào)”:”匯編語言的語句格式[標(biāo)號(hào):]指令助記符[操作數(shù)1][,操作數(shù)2][,操作數(shù)3][;注釋]指令助記符是指令功能的英文縮寫,不可空缺。操作數(shù)是指令要操作的數(shù)據(jù)或數(shù)據(jù)的地址
操作數(shù)可以空缺,或者一項(xiàng)、兩項(xiàng)、三項(xiàng)或者多項(xiàng);各項(xiàng)之間用英文逗號(hào)隔開;操作數(shù)可以是數(shù)據(jù)(二進(jìn)制、十六進(jìn)制、ASCII碼等)、符號(hào)(符號(hào)名、標(biāo)號(hào)或特定符號(hào)$)、表達(dá)式組成;表達(dá)式由運(yùn)算符和數(shù)據(jù)構(gòu)成的算式。如:4*(5+6)、2shl2等注釋只是對(duì)語句的說明,以增加程序的可讀性,以英文分號(hào)”;”開頭。例:tab:db20h,4*(2+6),40h,50h,10h;定義一串?dāng)?shù)據(jù),起始地址為tabmov
dptr,#tab2023/7/244.2.1源程序編輯與匯編一、源程序的編輯.asm二、源程序的匯編A51.exe三、目標(biāo)文件的連接BL51.exe,由符號(hào)轉(zhuǎn)換器OH51.exe轉(zhuǎn)換成*.hex文件4.2源程序的編輯和匯編源程序(*.asm)匯編目標(biāo)程序(*.obj、*.lib)連接絕對(duì)地址目標(biāo)文件符號(hào)轉(zhuǎn)換目標(biāo)文件(*.hex)2023/7/254.2.2偽指令偽指令,也叫匯編命令。僅對(duì)匯編過程進(jìn)行指示偽指令無對(duì)應(yīng)的單片機(jī)可執(zhí)行代碼起始地址設(shè)定偽指令ORGORG表達(dá)式表達(dá)式通常為十六進(jìn)制地址,例:
ORG8000HSTART:MOVA,#30H
…
…ORG可多次使用,但地址值的順序要由小到大順序設(shè)置結(jié)束匯編偽指令ENDEND該偽指令位于源程序的最后一行。2023/7/26定義字節(jié)數(shù)據(jù)表偽指令DB定義字?jǐn)?shù)據(jù)表偽指令DW1000H[標(biāo)號(hào):]DB字節(jié)數(shù)據(jù)表如:ORG1000HDB-2,-4,-6,8,10,18FEHFCHFAH08H0AH12H1001H[標(biāo)號(hào):]DW字?jǐn)?shù)據(jù)表ORG1400HDATA1:DW324AH,3CH
…
…1400H32H4AH00H3CH1401H1402H1403H大端模式2023/7/27定義常值為符號(hào)名偽指令EQU符號(hào)名EQU常值表達(dá)式
LEN
EQU10
SUM
EQU21HBLOCK
EQU22HCLRAMOVR7,#LENMOVR0,#BLOCKLOOP:ADDA,@R0INCR0DJNZR7,LOOPMOVSUM,A符號(hào)名為:地址常數(shù)段名字符串寄存器名位名比較:標(biāo)號(hào)只能是地址,符號(hào)名可以代表地址、常數(shù)、段名等注:用EQU定義的符號(hào)名一經(jīng)定義便不能重新定義和改變2023/7/28定義位地址為符號(hào)名偽指令BIT符號(hào)名BIT位地址表達(dá)式如:STBITP1.0;將P1.0的位地址賦給符號(hào)名STCFBIT0D7H;將位地址為D7H的位定義為符號(hào)名用BIT定義的“符號(hào)名”一經(jīng)定義便不能重新定義和改變其它一些偽指令參見教材表4.2程序設(shè)計(jì)流程4.3基本程序結(jié)構(gòu)明確要求和要達(dá)到的目的確定解決問題的計(jì)算方法和步驟畫出流程圖按流程圖編寫程序上機(jī)匯編、調(diào)試、修改及最后確定源程序4.債3基本惱程序搬結(jié)構(gòu)4.令3.歷1順序教程序順序窮程序廉是無遭分支脅無循寶環(huán)的部程序鋤。【例4-蛾1】設(shè)片薯內(nèi)RA黨M的21廁H單元劈燕存放蹈一個(gè)靜十進(jìn)博制數(shù)咽據(jù)十魚位的AS豬CI昌I碼,22塑H單元興存放征一個(gè)島十進(jìn)棟制數(shù)騙據(jù)個(gè)引位的AS敘CI風(fēng)I碼,敏編寫松程序挨將該滅數(shù)據(jù)帆轉(zhuǎn)換企成壓霞縮BC帳D碼存縫放在20晃H單元程序怖:OR泊G域0年00第0HLJ泡MP竊S鉤TA許RTOR勤G外0冒04挖0HST遺AR共T:梅M考OV嘗A,刷21拳HAN甩L甚A障,#朋0F諷HSW項(xiàng)AP勝AMO統(tǒng)V午20南H,急AMO轟V微A,攜22栽HAN魯L疾A,憑#0敢FHOR渴L樹20漁H,寧ASJ貴MP油$EN桐D4.敢3.甘2分支吸程序根據(jù)直需要茄改變荒程序巾的執(zhí)意行順室序。品單分更支、率多分車支等【例4-飯2】設(shè)變畏量x以補(bǔ)擋碼形番式存疫在片籠內(nèi)RA督M的30挑H單元張,變益量y與x的關(guān)劫系是儉:當(dāng)x>勢(shì)0時(shí),y=粱x;當(dāng)x=距0時(shí),y政=2真0H任;當(dāng)x<氧0時(shí),y=能x+善5。編粗制程從序,更根據(jù)x的大就小求y并送帳回原晌單元舍。程序刮:OR故G較0悄00生0HLJ麻MP席S究TA貨RTOR嶼G棍0藏04桑0HST峽AR勒T:狗M輪OV且A,譜30述HJZ飯N狼EX逃TAN可L竄A烘,#宅80存HJZ幼D笨ON埋EMO教V校A霜,#針05生HAD低D殘A促,3帝0HMO咱V君3次0H不,ASJ乖MP姐D忙ON打ENE停XT歐:榮M病OV輝3敵0H篇,#既20停HDO隨NE長(zhǎng):窮S樸JM板P淡DO日NEEN哄D4.映3.怖3循環(huán)洋程序按某摘種控弄制規(guī)更律重猾復(fù)執(zhí)牌行的賓程序馬。【例4-什4】編寫?zhàn)z程序柔,將陵內(nèi)部30興H至3F輕H單元乒初始匠化為00架H。程序挺:OR卷G夠0喂00識(shí)0HLJ晉MP明M澆AI堤N(yùn)OR趣G猛0柱04辭0HMA言IN霞:梁M補(bǔ)OV詞R0吸,#慮30輸HMO貧V朝A尋,#啦00和HMO夫V才R祖7,脖#1加6LO刻OP游:牙M守OV稻@R燥0,笨AIN踩C拾R滴0DJ格NZ竟R郊7,遵LO存OPSJ促M(fèi)P悼$EN鴨D【例4-套5】將內(nèi)族部RA叛M中起配始地伴址為60霜H的數(shù)隸據(jù)串叉?zhèn)魉途虻酵馀虿縍A襲M中起深始地爽址為10著00特H的存輔儲(chǔ)區(qū)格域內(nèi)爪,直傅到發(fā)折現(xiàn)‘$’字符赴停止防傳送靈。程序誕:OR疏G朵0恒00蠅0HLJ挖MP幻玉M翁AI律NOR些G樸0遵04披0HMA毛I(xiàn)N洋:這MO守V婆R暖0,租#6所0HMO克V噴D君PT傻R,奮#1琴00騾0HLO奔OP萌0:導(dǎo)M席OV薪A,離@R場(chǎng)0CJ望NZ眉A殿,#扯24良H,糠LO蔬OP腦1SJ相MP雷D口ON型ELO霜OP火1:棄M詠OV證@D贈(zèng)PT抹R,詳AIN們C菠R介0IN勒C飛D文PT頸RSJ刪MP獄L粒OO緩P0DO孩NE幣:干SJ虹MP姑D撿ON讓EEN挖D4.僚4子程甜序及透其調(diào)游用目的徹:具有鋤通用埋性的鹽問題陪如數(shù)舅制轉(zhuǎn)屋換、煩數(shù)值污計(jì)算址等,宿在一委個(gè)程菜序中鈴要使閃用多因次,因可以離將其脹設(shè)計(jì)勇成通碧用的燭子程集序供鴨隨時(shí)搖使用君,利度用子待程序稅可以梳使程友序結(jié)似構(gòu)緊兇湊,催使程踩序閱鎖讀和役調(diào)試主更加鍵方便昨。特點(diǎn)敵:能完螞成確尊定任嗓務(wù),并能熊為其樓他程撈序反彩復(fù)調(diào)懼用的酬程序師段.要求鍋?zhàn)映贪嫘蛟趧t結(jié)構(gòu)要上具殿有通素用性拉和獨(dú)比立性恐;它不的執(zhí)鄙行要駕由其牌他程蔥序來具調(diào)用積,執(zhí)蘿行完冤后要釋返回哨到調(diào)橋用程浙序。注意恩:現(xiàn)場(chǎng)箭的保合護(hù)與乎恢復(fù)醋、主蚊程序脹與子趨程序及之間蒸的參器數(shù)傳煎遞。4.動(dòng)4.碑1現(xiàn)場(chǎng)變保護(hù)港與恢鐵復(fù)一、闊在主耐程序句中實(shí)丹現(xiàn)如:PU謙SH葉PS谷WPU胡SH胞AC墨CPU旱SH塵BMO覽V眉PS騎W,園#1欠0HLC胃AL漢L禮AD挺DR敢16PO槐P猴BPO滲P阻AC山CPO速P獲PS殼W二、直在子徹程序哈中實(shí)喝現(xiàn)如:SU第B1:PU屯SH嘴PS鉤WPU皇SH攪AC狂CPU荒SH很BMO僚V脫P(yáng)S窩W,負(fù)#1傅0H…讓…PO該P(yáng)嶄BPO籍P漆AC拾CPO殊P旱PS批WRE遠(yuǎn)T注意串:順風(fēng)序的倆對(duì)應(yīng)徒關(guān)系4.凍4.迎2參數(shù)蒜傳遞(入口陡參數(shù)葡及出握口參遠(yuǎn)數(shù)傳躁遞)利用屋累加鮮器或雹寄存酒器利用玩存儲(chǔ)播器(踏指針R0、R1、DP帖TR)利用醒堆棧當(dāng)相團(tuán)互傳潔遞的欲數(shù)據(jù)女較少底時(shí),努采用浩寄存爹器傳便遞方富式可育以獲予得較寸快的蹤蝶傳遞趁速度鞋;當(dāng)居數(shù)據(jù)屯較多托時(shí),此宜采澡用存塔儲(chǔ)器塞或堆喉?xiàng)7窖闶絺飨哆f;濕如果蓮是子股程序炮嵌套柜時(shí),木最好汁采用求堆棧惱方式懲。4.平4.需3常用陣子程遍序示懇例查表曲子程變序【例4-11】利用子程序?qū)崿F(xiàn),設(shè)a、b、c分別存于內(nèi)部RAM的30H、31H、32H三個(gè)單元中。子程序入口:(A)=預(yù)平方數(shù);子程序出口:(A)=平方值;子程碧序:SQ顛R:蓬MO痰V館D技PT稈R,腰#T洋ABMO靠VC挽A懸,@互A+潔DP嗚TRRE毛TTA批B:燭DB吧0,紫1,江4,很9,弦16服,2溝5,語36考,4佳9,超64移,8地1驗(yàn)證際程序盯如下顯:MA混IN彩:M辦OV撥3熄0H幣,#講4MO部V巾31很H,些#5MO加V禁A,擺30躲HAC宜AL頂L貫SQ蘿RMO菊V奇R1尿,AMO稀V且A,憲31從HAC黃AL團(tuán)L侍SQ概RAD法D標(biāo)A,鐵R1MO幸V景32依H,車ASJ黨MP糾$4.蛛4.美3常用態(tài)子程矮序示愉例延時(shí)丈子程爐序【例4-弦15奪】編寫1m牛s延時(shí)尾子程低序若晶棚振頻鏟率為12誦MH涂z,則愉一個(gè)葉機(jī)器粥周期地為1u斬s,執(zhí)劉行一挺條DJ吧NZ指令無為2u雞s。實(shí)排現(xiàn)程份序如獨(dú)下:D1舊ms鳴:M堤OV篩R6邁,#餐24災(zāi)9;循妹環(huán)外賀指令掘,1u身sDL蛇:N賠OP;1u倍sNO享P;1u倚sDJ是NZ搬R晉6,晴DL;2u甲s,循突環(huán)內(nèi)康共[(兼1+字1+犁2)倦x2宿49鑒]x盯1u斑s=弊99唱6u啟sRE術(shù)T;滴循環(huán)桌外指無令,2u灰s。共99報(bào)6+椅1+壞2=肌99易9u務(wù)s若延叔時(shí)時(shí)疲間要掃求更潔長(zhǎng)一煩點(diǎn),忘可以沒采用吩循環(huán)艷嵌套喊或子零程序艇嵌套是的方寨法實(shí)很現(xiàn)。20喚23根/6虜/2增7194.逐5簡(jiǎn)單I/院O設(shè)備暮的并孟口直井接驅(qū)出動(dòng)示從例4.抵5.貍1獨(dú)立鄭式鍵計(jì)盤與LE難D顯示僑示例【例4-愉17塞】數(shù)據(jù)似端與P0口正序連接醉。編菠寫程嫌序,染分別長(zhǎng)實(shí)現(xiàn)條功能要:上鞏電后帳數(shù)碼燒管顯夏示“P”,按犁下任汪何鍵愁后,懷顯示度從“0”開始財(cái)每隔1秒加1,加獎(jiǎng)至“F”后,搖數(shù)碼政管顯階示“P”,進(jìn)息入等地待按閥鍵狀丟態(tài)。20朽23肥/6塌/2隆720comabfgcdpde字符0123456789AbCdEFP共陽(yáng)(H)C0F9A4B0999282F880908883C6A1868E8Cdpgfedcba1000110020膏23略/6救/2奇721TE休MP等E隆QU獲3浩0HOR渠G淡00逝00攔HJM島P兇ST鍵AR寬TOR忘G池01框00看HST散AR搜T:誼MO坦V悄SP撒,#說5F旨HMO取V英P0割,#端8C雨H;顯示"P柄"MO徹V棄P3軌,#茂0F笑FHNO就KE諒Y:白MO生V鴿A,臟P3酸;鍵盤徐掃描CP挪L陵AJZ戚NO初KE哲Y眾;無鍵泄按下MO艇V質(zhì)TE顧MP鼻,P牧3撕;有鍵堤按下CA殺LL扒D_10晶msMO惑V厘A,恐P3CJ半NE淘A,刃TE箱MP束,N倘OK袖EY借;去抖MO誼V服R7免,#懇16矮;顯示茅字符暖個(gè)數(shù)MO磨V很R2微,#姨0;需顯貝示的胞數(shù)LO教OP悔:M閑OV歪A狗,R顫2MO鼻V律DP盆TR狹,#C_右P0MO撒VC楚A,請(qǐng)@A輕+D榨PT獲RMO戚V晃P0愈,AIN鴨C移R2SE度TB布RS抗0默;切換牙組CA包LL喉D_辦1SCL暫R抹RS蛾0DJ著NZ脹R7較,L卵OO跨PJM鍬P石ST制AR妙TD_框1S:(子從程序史)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)施設(shè)備維護(hù)管理制度
- 設(shè)計(jì)食堂進(jìn)出管理制度
- 診所人員培訓(xùn)管理制度
- 診所熬藥日常管理制度
- 試劑耗材節(jié)約管理制度
- 財(cái)務(wù)資金規(guī)范管理制度
- 財(cái)富管理平臺(tái)管理制度
- 貨物搬運(yùn)裝卸管理制度
- 貨物配送薪酬管理制度
- 貨車安全培訓(xùn)管理制度
- 2025年江蘇南通市通州區(qū)八年級(jí)生物二模試卷
- 護(hù)理副高職稱評(píng)審要點(diǎn)解析
- 幼教財(cái)務(wù)培訓(xùn)
- 中國(guó)鐵路濟(jì)南局集團(tuán)招聘筆試真題2024
- 早期阿爾茨海默病疾病修飾治療專家共識(shí)(2025年版)解讀
- 2025-2030年即熱式電熱水器行業(yè)市場(chǎng)發(fā)展分析及政策建議與策略研究報(bào)告
- 2024北京朝陽(yáng)區(qū)六年級(jí)畢業(yè)考英語試題及答案
- PHPstorm激活碼2025年5月13日親測(cè)有效
- 膽石癥中西醫(yī)結(jié)合診療專家共識(shí)(2025年)解讀課件
- 建筑工程標(biāo)準(zhǔn)課件
- 《橋梁下部結(jié)構(gòu)》課件
評(píng)論
0/150
提交評(píng)論