• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談可編程并行接口8255A在按鍵輸入判斷上的匯編語言編程算法

      2013-08-14 11:21:54趙啟焱
      河南科技 2013年4期
      關(guān)鍵詞:匯編語言子程序電信號

      趙啟焱

      (鄭州大學(xué) 機(jī)械工程學(xué)院,河南 鄭州 450001)

      匯編語言是面向機(jī)器的,所以可以保持對機(jī)器的語言一致性,并能直接的在編程中定義對計算機(jī)的各種硬件設(shè)備的訪問和控制。使用匯編語言,可以訪問所有能夠被訪問的軟、硬件資源。并且其程序代碼簡潔,內(nèi)存占用少,執(zhí)行速度快,是一種高效的程序設(shè)計語言;由于匯編語言是一種低級語言,而且其語法和代碼不如其他高級語言豐富,所以在面對具體的硬件控制需要時,就要有巧妙的程序算法來滿足需要。本文就利用8255對多個按鍵的脈沖輸入進(jìn)行判斷和定位的一種匯編語言算法進(jìn)行討論。

      循環(huán)式程序和分支程序均是匯編語言中的基本程序結(jié)構(gòu)。正確的利用它們有助于縮短程序,提高程序質(zhì)量。在利用可編程并行接口8255A進(jìn)行多個脈沖輸出,單個脈沖輸出時判斷按鍵是否接通的情況下,就需要有技巧性的運(yùn)用上述兩種基本程序結(jié)構(gòu),下面是一個具體應(yīng)用的例子:

      如下圖所示電路圖,8255以由控制字定義為四個B口輸出電信號,只有一個A口接受電信號,需要編寫相應(yīng)的匯編程序?qū)λ膫€按鍵中哪個按鍵按下進(jìn)行判斷:

      針對此具體要求,編寫程序段如下:

      PRESPROCNEAR

      MOV CL,11111110B;將電位信息裝入寄存器CL中

      P1: MOV AL,CL

      OUT DH,AL;送數(shù)到B口

      IN AL,DL;從 A 口讀入

      TEST AL,01H;測試從A口讀入的數(shù)是否為0

      JZ F;讀入值為0則跳轉(zhuǎn)

      RO LCL,1;不為0則將初始電位信息循環(huán)移位

      JMP P1;跳轉(zhuǎn)至程序開始循環(huán)執(zhí)行

      F:MOV AL,CL;則記錄此時電位信息

      NOT AL;將電位信息求反

      RET;子程序結(jié)束

      PRESENDP

      采用此子程序可以在最多8個按鍵上形成掃描電壓,當(dāng)其中某一個鍵按下是,電路接通,0電位信息傳入8255的A口中,同時停止掃描,將此時的電位信息求反并作為此子程序的返回值,通過此返回值即可確定是哪一個按鍵被按下。

      本文所討論的問題的難點就在于8255有四個并行接口輸出電信號,但只有一個輸入接口來判斷是否有按鍵按下,同時按鍵按下時只是一個短暫的脈沖信號,所以針對這種情況,就利用8255的并行輸出在四個B口輸出一個快速循環(huán)掃描的數(shù)字信號,然后在任一個按鍵按下的瞬間,程序即檢測到并將結(jié)果存于通用寄存器中,從而實現(xiàn)按鍵位置的判斷。

      由于此系統(tǒng)所使用的CPU的主頻的限制,所輸出的掃描信號有一定的延時性,所以不適用于需要快速進(jìn)行判斷的場合,但在由人工進(jìn)行控制時,啟反應(yīng)時間已足夠保證滿足要求。

      利用可編程并行接口8255對多個按鍵的脈沖輸入進(jìn)行判斷和定位在伺服系統(tǒng)具有廣泛的應(yīng)用,本文所提供的方法具有很好的借鑒意義,同時對于通過按鍵進(jìn)行各種電氣元件的控制時,本文所提供的按鍵掃描程序有著反應(yīng)快速,執(zhí)行效率高的優(yōu)點,對匯編語言的編程算法技巧方面有一定的補(bǔ)充和貢獻(xiàn)。

      [1]孫俊杰,任天平,白國長,門茂琛.微型計算機(jī)原理及應(yīng)用[M].鄭州:鄭州大學(xué)出版社,2005:165-180.

      [2]黃惟公,鄧成中,王燕.單片機(jī)原理與應(yīng)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2012:164-168.

      猜你喜歡
      匯編語言子程序電信號
      基于聯(lián)合聚類分析的單通道腹部心電信號的胎心率提取
      高等學(xué)校計算機(jī)專業(yè)課程教學(xué)改革實踐——以匯編語言與接口技術(shù)課程為例
      匯編語言與C語言的混合程序設(shè)計技術(shù)研究
      電子制作(2019年10期)2019-06-17 11:45:16
      基于Code Composer Studio3.3完成對心電信號的去噪
      科技傳播(2019年24期)2019-06-15 09:29:28
      提高《匯編語言程序設(shè)計》教學(xué)效率的思考與實踐
      基于隨機(jī)森林的航天器電信號多分類識別方法
      淺談子程序在數(shù)控車編程中的應(yīng)用
      子程序在數(shù)控車加工槽中的應(yīng)用探索
      西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
      基于生物電信號的駕駛疲勞檢測方法
      汽車電器(2014年8期)2014-02-28 12:14:29
      大英县| 龙门县| 延边| 基隆市| 竹北市| 新泰市| 那曲县| 迁安市| 敦化市| 宝山区| 吴川市| 开阳县| 思茅市| 陇南市| 台湾省| 仲巴县| 疏附县| 阿拉尔市| 中西区| 三都| 吴堡县| 旺苍县| 牡丹江市| 南安市| 扶沟县| 当涂县| 江源县| 红桥区| 元阳县| 许昌市| 辽宁省| 和平区| 沐川县| 芜湖市| 太谷县| 湾仔区| 红安县| 安徽省| 洛川县| 泗洪县| 丹寨县|