<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用全局及外部變量實(shí)現(xiàn)C51無(wú)能數(shù)化調(diào)用A51函數(shù)

          利用全局及外部變量實(shí)現(xiàn)C51無(wú)能數(shù)化調(diào)用A51函數(shù)

          作者: 時(shí)間:2012-03-08 來(lái)源:網(wǎng)絡(luò) 收藏

          在研制無(wú)紙記錄儀之前,作者用MASM51開(kāi)發(fā)了其他儀表,采樣部分有些相同,因此這次采樣程序并不是重新編寫(xiě),而是把以前的MASM51程序按的規(guī)則來(lái)修改。以前ASM的程序(數(shù)據(jù)段部分)如下所示:
          bseg
          ;
          write_alw bit 00h;
          vz_bit bit 01h
          fs_bit bit 02h
          ce_bit bit p1.6
          ram_cs bit p1.2
          b373 bit p1.1
          bit_dog bit p1.4
          data_bit bit P2.6
          sclk_bit bit P3.4
          drdy_bit bit p3.3
          ends
          ;
          dseg
          org 08h
          org 28h
          sample_w; ds 12
          sa_p: ds 1 ;當(dāng)前通道號(hào)
          ram_point: ds 2
          sa_timer: ds 8 ;0,1,2,3每通道兩字節(jié)
          sa_vzt: ds 8 ;0,1,2,3 vz
          ends
          ;
          cseg
          org 0h
          begin: reti
          org 03h
          lcall sample
          reti
          sample:
          ……
          ends

          從上述程序可以看出,在采樣程序中所用到的并不少,定義在數(shù)據(jù)存儲(chǔ)區(qū)28H單元起始的空間中。這樣安排,對(duì)匯編程序沒(méi)什么問(wèn)題,但與主程序連接的時(shí)候,并不一定好,很多時(shí)候碰到地址空間溢出的問(wèn)題(主程序編譯連接后將近16K字節(jié),CPU采用ATMEL公司的AT89C55WD)。如何調(diào)整這些的分配,并非容易。另外,隨時(shí)要用到采樣單元sample_w[12]的值,如果采用一般的參數(shù)傳遞,將是相當(dāng)復(fù)雜而繁瑣的;而采用C51無(wú)參數(shù)經(jīng),極大簡(jiǎn)化了這些工作,大大提高了工作效率。

          本文第2部分的程序,采用Keil公司的Keil C V6.10集成開(kāi)發(fā)工具包完成。所研制的無(wú)紙記錄儀已經(jīng)通過(guò)福建省科技廳的鑒定。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();