色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 醫(yī)療電子 > 設(shè)計應(yīng)用 > 基于便攜式微電腦的多參數(shù)生理監(jiān)護儀研制

          基于便攜式微電腦的多參數(shù)生理監(jiān)護儀研制

          作者: 時間:2010-04-20 來源:網(wǎng)絡(luò) 收藏

          (5)外圍器件控制

          系統(tǒng)各外圍器件的片選信號由74LS373鎖存的地址信號,經(jīng)芯片GAL16V8C譯碼產(chǎn)生。GAL芯片是可編程邏輯陣列,通過對其引腳的編程,將其作為譯碼器,依據(jù)P4口高字節(jié)8位地址進(jìn)行片選,其編程方便,使用靈活。系統(tǒng)除用作譯碼器外,在單片機2中,還用作控制氣泵和氣閥的開關(guān)。

          通過簇已分配給氣泵或氣閥I/O口地址,寫上“0”或“1”,則輸出引腳OUT1、OUT2為低或高電平。該電平將保持,直到再次往同一地址寫“1”或 “0”,如此,可定時控制氣泵或氣閥開關(guān)。
          4.系統(tǒng)軟件設(shè)計

          系統(tǒng)軟件的主要特點是,以實時數(shù)據(jù)為核心,以功能獨立化、結(jié)構(gòu)模塊化為軟件設(shè)計模式。系統(tǒng)開發(fā)采用了結(jié)構(gòu)化的,從上到下的模塊劃分及從底到上的硬件功能封裝的軟件開發(fā)設(shè)計方法。本系統(tǒng)采用C96語言進(jìn)行軟件系統(tǒng)開發(fā)。

          (1)數(shù)據(jù)采集程序

          數(shù)據(jù)采集到整個系統(tǒng)最重要的問題。如何實現(xiàn)數(shù)據(jù)采集,保證數(shù)據(jù)采集的實時性,并且能高效率地進(jìn)行數(shù)據(jù)采集,盡可能少的時間占用少的系統(tǒng)資源,對于同時監(jiān)護的情況下,是確保系統(tǒng)處理的實時性的重要因素。

          在軟件設(shè)計中,我們利用硬件定時器及軟件定時器,進(jìn)行定時中斷,進(jìn)行多通道、多采樣點的數(shù)據(jù)采集流程設(shè)計。由于人體生理信號的變化較緩慢,采用此種方法已經(jīng)可以確保高精度、實時性的數(shù)據(jù)采集。

          (2)液晶顯示控制

          系統(tǒng)顯示功能的實現(xiàn),實際上是對顯示控制器SED1330的編程控制。SED1330控制器具有系統(tǒng)控制、顯示操作、繪制操作、存儲操作等共15條指令。

          在進(jìn)行系統(tǒng)顯示模塊的編程時,我們利用C96語言對SED1330的指令功能進(jìn)行分類組合、封裝,編制了一個基本的顯示控制圖函數(shù)庫。通過對子函數(shù)的調(diào)用,非常方便地實現(xiàn)了復(fù)雜的人機界面程序設(shè)計。

          設(shè)計的子函數(shù)如下:

          lnitCD(); /*初始化SED1330*/
          ClearDispBufffer(); /*對顯示緩存區(qū)清零*/
          ChooseScreen(screen); /*選擇顯示緩存區(qū)*/
          SetCsrAbsAddr(addr); /*設(shè)置光標(biāo)絕對位置*/
          SetCsrDir(dir); /*設(shè)置光標(biāo)移動方向*/
          PutChar16xy(x,y,data); /*顯示點陣為16×16的字體*/
          SetPutPixel(x,y); /*在顯示屏上顯示一點*/
          H_line(x1,x2,y,linestyle); /*畫水平線*/
          V_line(x1,y1,x2,y2); /*畫垂直線*/
          lnvert(x1,y1,x2,y2); /*對矩形區(qū)域反顯*/
          Clear(left,top,right,bottom); /*清除矩形區(qū)域*/
          部分液晶顯示子程序示例如下:
          # include 80c196.h
          # include “data.dat”
          # include init.c
          # define UP 0x4e
          # define DOWN 0x4f
          # define LEFT 0x4d
          # define RIGHT 0x4c
          # define AP 80
          # define SA1 0
          # define SAD2 0x3e80
          # define Max_X 640
          # define Max_Y 200
          # define ECQ_Y 128
          # define PLUSE_Y 50
          # define NORMAL ox4f
          # define DOT_1 0xaa
          # define DOT_2 0x66
          unsigned char * comm_reg;
          unsigned char * pram_reg;
          unsigned int_sad;
          /************************/
          /* var screensvalue is:1 or 2.*/
          ChooseScreen(screen)
          Unsigned char screen;
          {
          switch(screen){
          case 1:
          _sad=SAD1;break;
          case 2:
          _sad=SAD2;break;
          defaulf:
          _sad=SAD1;}
          }
          /*************************/



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉