日产精品视频无码免费_亚洲蜜臀AV日韩熟妇在线_国产亚洲精品女人久久久久久 _妞中文字幕在线视频导航

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> EDA開(kāi)發(fā)應(yīng)用 >> Keilc >> 正文

Keil C51 總線外設(shè)操作問(wèn)題的深入分析

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2011-3-19
閱讀了《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》2005年第10期雜志《經(jīng)驗(yàn)交流》欄目的一篇文章《Keil C5l對(duì)同一端口的連續(xù)讀取方法》(原文)后,筆者認(rèn)為該文并未就此問(wèn)題進(jìn)行深入準(zhǔn)確的分析。文章中提到的兩種解決方法并不直接和簡(jiǎn)單。筆者認(rèn)為這并非是Keil C51中不能處理對(duì)一個(gè)端口進(jìn)行連續(xù)讀寫的問(wèn)題,而是對(duì)Keil C51的使用不夠熟悉和設(shè)計(jì)不夠細(xì)致的問(wèn)題,因此特撰寫本文。

    本文中對(duì)原文提到的問(wèn)題,提出了三種不同于原文的解決方法。每種方法都比原文中提到的方法更直接和簡(jiǎn)單,設(shè)計(jì)也更規(guī)范。(無(wú)意批評(píng),請(qǐng)?jiān)淖髡咭?jiàn)諒)


1 問(wèn)題回顧和分析
    原文中提到:在實(shí)際工作中遇到對(duì)同一端口反復(fù)連續(xù)讀取,Keil C5l編譯并未達(dá)到預(yù)期的結(jié)果。原文作者對(duì)C編譯出來(lái)的匯編程序進(jìn)行分析發(fā)現(xiàn),對(duì)同一端口的第二次讀取語(yǔ)句并未被編譯。但可惜原文作者并未分析沒(méi)有被編譯的原因,而是匆忙地采用一些不太規(guī)范的方法試驗(yàn)出了兩種解決辦法。

    對(duì)此問(wèn)題,翻閱Keil C51的手冊(cè)很容易發(fā)現(xiàn):KellC51的編譯器有一個(gè)優(yōu)化設(shè)置,不同的優(yōu)化設(shè)置,會(huì)產(chǎn)生不同的編譯結(jié)果。一般情況缺省編譯優(yōu)化設(shè)置被設(shè)定為8級(jí)優(yōu)化,實(shí)際最高可設(shè)定為9級(jí)優(yōu)化:
    ①Dead code elimination。
    ②Data overlaymg。
    ③Peephole optimization。
    ④Register variables。
    ⑤Common subexpression elimination。
    ⑥Loop rotation。
    ⑦Extended Index Access 0ptimizing。
    ⑧Reuse Common。Entry Code。
    ⑨Common Block Subroutines。

    而以上的問(wèn)題,正是由于KeiI C5l編譯優(yōu)化產(chǎn)生的。因?yàn)樵谠某绦蛑袑⑼庠O(shè)地址直接按如下定義:
    unsigned char xdata MAXl97_at_Ox8000;

    采用_at_將變量MAXl97定義到外部擴(kuò)展RAM指定地址Ox8OOO。因此,Keil C51優(yōu)化編譯理所當(dāng)然認(rèn)為重復(fù)讀第二次是沒(méi)有用的,直接用第一次讀取的結(jié)果就可以了,因此編譯器跳過(guò)了第二條讀取語(yǔ)句。至此,問(wèn)題就一目了然了。


2  解決方法
    由以上分析很容易就能提出很好的解決辦法。

2.1  最簡(jiǎn)單最直接的辦法

    程序一點(diǎn)都不用修改,將Keil C5l的編譯優(yōu)化選擇設(shè)置為0(不優(yōu)化)就可以了。
    選擇project窗口的Target,然后打開(kāi)“Options forTarget”設(shè)置對(duì)話框,選擇“C5l”選項(xiàng)卡,將“Code Optimiztaion”中的“Level”選擇為“0:Costant folding”。再次編譯后,大家會(huì)發(fā)現(xiàn)編譯結(jié)果為:
    CLR MAXHBEN
    MOV DPTR,#M.AXl97
    MOVX A,@DPTR
    MOV R7.A
    MOV down8.R7
    SETB MAXHBEN
    MOV DPTR,#MAXl97
    MOVX A,@DPTR
    MOV R7.A
    MOV uD4.R7
    兩次讀取操作都被編譯出來(lái)了。

2.2  最好的方法

    告訴Keil C51,這個(gè)地址不是一般的擴(kuò)展RAM,而是連接的設(shè)備,具有“揮發(fā)”特性,每次讀取都是有意義的。

    可以修改變量定義,增加“volatile”關(guān)鍵字說(shuō)明其特征:
    unsigned char volatile xdata MAXl97_at_Ox8000;

    也可以在程序中包含系統(tǒng)頭文件:“#incIude<ab—sacc.h>”,然后在程序中修改變量,定義為直接地址:
    #defme MAXl97 XBYTE[Ox8000]


    這樣,。Keil C51的設(shè)置仍然可以保留高級(jí)優(yōu)化,且編譯結(jié)果中,同樣兩次讀取并不會(huì)被優(yōu)化跳過(guò)。

2.3  硬件解決方法

    原文中將MAXl97的數(shù)據(jù)直接連接到數(shù)據(jù)總線,而對(duì)地址總線并未使用,采用一根端口線選擇操作高低字節(jié)。很簡(jiǎn)單的修改方法就是使用一根地址線選擇操作高低字節(jié)即可。比如:將P2.0(A8)連接到原來(lái)P1.O連接的HBEN腳(MAXl97的5腳),在程序中分別定義高低字節(jié)的操作地址:
    unsigned char volatile xdata MAXl97_L_aI_Ox8000;
    unsigned char volatile xdata MAXl97 H at 0.x8100;
    將原來(lái)的程序:
    MAXHBEN=O; //讀取低8位
    down8=MAXl97:
    MAXHBEN=1; //讀取高4位
    up4=MAXl97:
    改為以下兩句即可:
    down8=MAXl97_L; //讀取低8位
    up4=MAXl97_H; //讀取高4位


3  小結(jié)
    Keil C51經(jīng)過(guò)長(zhǎng)期考驗(yàn)和改進(jìn)以及大量開(kāi)發(fā)人員的實(shí)際使用,已經(jīng)克服了絕大多數(shù)的問(wèn)題,并且其編譯效率也非常高。對(duì)于一般的使用,很難再發(fā)現(xiàn)什么問(wèn)題。筆者曾經(jīng)粗略研究過(guò)一下Keil C51優(yōu)化編譯的結(jié)果,非常佩服Keil C51設(shè)計(jì)者的智慧,一些C程序編譯產(chǎn)生的匯編代碼,甚至比一般程序員直接用匯編編寫的代碼還要優(yōu)秀和簡(jiǎn)練。通過(guò)研讀KeilC51編譯產(chǎn)生的匯編代碼,對(duì)提高匯編語(yǔ)言編寫程序的水平都是很有幫助的。

    由本文中的問(wèn)題可以看出:在設(shè)計(jì)中遇到問(wèn)題時(shí),一定不要被表面現(xiàn)象蒙蔽,不要急于解決。應(yīng)該認(rèn)真分析,找出問(wèn)題的原因,這樣才能從根本上徹底解決問(wèn)題。上不會(huì)出現(xiàn)不必要的干擾,防止了數(shù)據(jù)不一致的發(fā)生。

Tags:Keil C51,總線外設(shè)操作問(wèn)題,深入分析  
責(zé)任編輯:admin
相關(guān)文章列表
Keil C51鍵盤譯碼程序
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
熱門文章
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
成人免费观看视频| 久久精品大片| 日韩中文字幕在线播放| 日本免费乱人伦在线观看| 免费的黄色小视频| 亚洲精品中文一区不卡| 国产亚洲精品成人a在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩在线观看视频网站| 日韩av东京社区男人的天堂| 国产视频一区二区在线观看| 九九精品久久| 国产伦精品一区二区三区无广告 | 999久久狠狠免费精品| 色综合久久天天综合观看| 国产亚洲男人的天堂在线观看| 青草国产在线观看| 香蕉视频一级| 四虎影视久久| 久久久成人网| 国产成人精品综合久久久| 亚洲精品中文字幕久久久久久| 欧美国产日韩在线| 欧美激情一区二区三区在线播放| 中文字幕97| 成人a大片在线观看| 亚洲第一页乱| 四虎影视久久久| 黄色福利| 欧美激情一区二区三区中文字幕| 欧美另类videosbestsex久久| 免费的黄视频| 欧美大片a一级毛片视频| 国产一区二区精品久久91| 国产成人女人在线视频观看| 成人免费福利片在线观看| 精品毛片视频| | 久久99欧美| 黄色短视频网站| 成人a大片高清在线观看| 91麻豆国产| 999久久狠狠免费精品| 亚洲第一页色| 国产网站免费观看| 亚洲精品久久玖玖玖玖| 欧美日本免费| 精品国产亚洲一区二区三区| 青青久久国产成人免费网站| 日日日夜夜操| 欧美大片毛片aaa免费看| 日本在线不卡视频| 黄视频网站在线看| 国产亚洲精品aaa大片| 国产极品精频在线观看| 免费的黄色小视频| 日本伦理片网站| 欧美爱爱网| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产香蕉伊思人在线又爽又黄| 999精品影视在线观看| 精品在线观看国产| 九九久久99| 久久精品大片| 国产一区二区精品在线观看| 精品国产一区二区三区国产馆| 欧美激情一区二区三区视频| 日韩专区一区| 国产成人啪精品| 精品国产一区二区三区精东影业 | 精品国产亚洲一区二区三区| 欧美激情一区二区三区视频高清 | 精品国产一区二区三区免费 | a级毛片免费观看网站| 韩国三级视频在线观看| 国产一级生活片| 九九九国产| 日韩欧美一二三区| 精品国产三级a| 欧美激情一区二区三区在线| 色综合久久手机在线| 人人干人人插| 欧美电影免费看大全| 99久久视频| 成人av在线播放| 久久精品欧美一区二区| 日本在线www| 沈樵在线观看福利| 日韩中文字幕在线播放| 日韩av片免费播放| 高清一级淫片a级中文字幕| 精品视频在线观看视频免费视频| 九九免费高清在线观看视频| 国产a视频| 成人免费一级纶理片| 欧美日本免费| 亚洲天堂在线播放| 午夜精品国产自在现线拍| 欧美国产日韩在线| 久久国产一久久高清| 亚洲 男人 天堂| 国产成人精品综合在线| 毛片电影网| 亚洲精品中文一区不卡| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美爱爱网| 精品国产香蕉在线播出| 人人干人人插| 麻豆系列 在线视频| 日韩综合| 九九精品久久| 欧美a级大片| 欧美爱色| 韩国三级香港三级日本三级| 久久精品免视看国产成人2021| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 91麻豆精品国产综合久久久| 国产一级生活片| 一本高清在线| 国产亚洲精品成人a在线| 国产视频网站在线观看| 日本伦理网站| 久久精品欧美一区二区| 麻豆污视频| 亚洲第一页乱| 国产视频一区在线| 国产91丝袜在线播放0| 日韩欧美一二三区| 你懂的国产精品| 久草免费在线视频| 国产不卡福利| 欧美日本国产| 精品视频一区二区三区免费| 国产成人精品综合| 欧美另类videosbestsex视频| 亚洲精品中文一区不卡| 精品国产一区二区三区久久久蜜臀 | 欧美另类videosbestsex高清| 美女免费毛片| 日日日夜夜操| 日韩一级黄色大片| 91麻豆精品国产综合久久久| 成人a大片在线观看| 青青久久网| 国产麻豆精品视频| 欧美一级视频免费| 免费毛片播放| 久久久成人影院| 成人影视在线观看| 精品久久久久久中文字幕2017| 中文字幕一区二区三区 精品| 欧美a级大片| 日韩欧美一二三区| 在线观看成人网| 国产国语在线播放视频| 国产麻豆精品免费密入口| 人人干人人插| 欧美大片aaaa一级毛片| 一级片片| 成人免费观看视频| 99久久网站| 国产成+人+综合+亚洲不卡| 国产网站在线| 免费国产一级特黄aa大片在线| 一级毛片看真人在线视频| 黄色短视频网站| 国产一区二区精品| 亚洲天堂免费| 黄色免费网站在线| 中文字幕一区二区三区 精品| 欧美激情一区二区三区在线播放| 国产亚洲免费观看| 999精品影视在线观看| 日韩男人天堂| 日韩中文字幕在线播放| 99久久精品费精品国产一区二区| 日本伦理网站| 日韩免费在线| 欧美激情伊人| 精品国产一区二区三区国产馆| 国产a毛片| 91麻豆精品国产自产在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 二级特黄绝大片免费视频大片| 精品视频在线观看一区二区| 日韩在线观看网站| 国产一区免费在线观看| 精品国产香蕉在线播出| 精品视频在线看| 999久久狠狠免费精品| 天堂网中文在线| 久久精品免视看国产明星| 亚洲 欧美 成人日韩| 色综合久久天天综线观看| 一 级 黄 中国色 片| 国产视频在线免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国三级一区| 国产伦精品一区二区三区在线观看| 精品久久久久久综合网|