新聞中心

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

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

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

        (5)外圍器件控制

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

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

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

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

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

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

        (2)液晶顯示控制

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

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

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

        lnitCD(); /*初始化SED1330*/
        ClearDispBufffer(); /*對(duì)顯示緩存區(qū)清零*/
        ChooseScreen(screen); /*選擇顯示緩存區(qū)*/
        SetCsrAbsAddr(addr); /*設(shè)置光標(biāo)絕對(duì)位置*/
        SetCsrDir(dir); /*設(shè)置光標(biāo)移動(dòng)方向*/
        PutChar16xy(x,y,data); /*顯示點(diǎn)陣為16×16的字體*/
        SetPutPixel(x,y); /*在顯示屏上顯示一點(diǎn)*/
        H_line(x1,x2,y,linestyle); /*畫(huà)水平線*/
        V_line(x1,y1,x2,y2); /*畫(huà)垂直線*/
        lnvert(x1,y1,x2,y2); /*對(duì)矩形區(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;}
        }
        /*************************/



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 黄陵县| 泽库县| 米林县| 侯马市| 武定县| 老河口市| 蛟河市| 永清县| 柳州市| 南部县| 普安县| 景东| 洛南县| 新晃| 任丘市| 永登县| 万源市| 巨鹿县| 安多县| 洪雅县| 勃利县| 桑日县| 资兴市| 区。| 北碚区| 永嘉县| 东方市| 塘沽区| 衡东县| 思南县| 论坛| 湘潭县| 马关县| 峨山| 蒙阴县| 凤庆县| 芒康县| 堆龙德庆县| 搜索| 澄城县| 平安县|