新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 電子秤AD TM7710/TM7709測試程序

        電子秤AD TM7710/TM7709測試程序

        作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏
        #include
        #include
        //ad 控制線
        #define ad_244 XBYTE[0xbfff];
        sbit ad_stb=P3^3;
        sbit ad_start=P1^1;
        //lcd 控制線
        sbit lcd_di=P1^7;
        sbit lcd_rw=P1^2;
        sbit lcd_e=P1^0;
        //7289 控制線
        sbit cs7289=P1^3;
        sbit clk7289=P1^4;
        sbit dio7289=P1^5;
        //sbit key7289=P1^6; //7289 查詢方式
        sbit key7289=P3^2; //7289 中斷方式
        sbit baoj=P3^5;
        //7289 子程序
        void ini_7289(void);
        void send7289(short);
        short receive(void);
        void keyin(void);
        //lcd 子程序
        void ini_lcd(void);
        void lcdd_send(short);
        void lcdi_send(short);
        void chk_busy(void);
        //ad 子程序
        void ad(void);
        void baojing(void);
        void d_change(long);
        // 初始化,編號,日期
        void ini();
        void error1(void);
        void nop1()
        {}
        void change(s)
        int dealy; // 全局變量
        short sh=0; // 商品號
        short dot=0; // 小數(shù)點標志
        bit list=0;
        short qb=0;
        char xdata shuju[7]="";
        short xdata bcd[5];
        char xdata s1[16]=" 單價 : 元 ";
        char xdata s2[16]=" 重量 : Kg";
        char xdata s3[16]=" 金額 : 元 ";
        char xdata s4[16]=" 累計 : 元 ";
        char code message0[]=" 大學 ";
        char code message1[]=" 輸入收銀員代號 :";
        char code message2[]=" 輸入日期 :";
        char code message3[16]=" -- 大學 -- ";
        char code message5[16]="閩潘實業(yè)有限公司歡迎您 !!";
        char xdata bianhao[16]=" 收銀員: ";
        char xdata riqi[16]=" - - ";
        long int xdata zongjia=0,jine=0,jine1=0;
        int xdata shizhong=0,pizhong=0,zhongliang=0;
        long int xdata qingdan[20][4];
        char code shangpin[11][4]={{" 單價 "},{" 蘋果 "},{" 梨 "},{" 花生 "},{" 大米 "},
        {" 桃子 "},{" 塑料 "},{" 瓜子 "},{" 桔子 "},{" 香蕉 "},{" 玉米 "}};
        long int xdata danjia[11]=
        {0,2000,3635,5502,6660,3320,5502,660,3210,6600,5600};
        char xdata jiage[6]={0x0,0x0,0x0,0xfe,0x0,0x0}; // 0.00
        short xdata xiuzheng[]={0,2,5,6,7,8,9,12,13};
        char s[16];
        {s[6]=shuju[0];
        s[7]=shuju[1];
        s[8]=shuju[2];
        s[9]=shuju[3];
        s[10]=shuju[4];
        s[11]=shuju[5];
        s[12]=shuju[6];
        }
        //****************************************************************
        void main()
        {short i,j;
        long int x,z;
        int y;
        int xdata duilie[3]={0};
        P1=0xff;
        ini_lcd(); // 初始化 LCD
        lcdi_send(0x8a);
        while(message0[i]) lcdd_send(message0[i++]);
        ini_7289(); // 初始化 7289
        pizhong=ad1();
        lcdi_send(0x1); // 總清 屏
        ini(); // 初始頁面 , 收銀員編號,日期
        lcdi_send(0x1); // 總清 屏
        EA=1;EX0=1; // 中斷
        //EX1=1;
        //ad_start=1;
        while(1)
        {if(list){lcdi_send(0x80); // 顯示單位名稱
        for(i=0;i<16;i++) lcdd_send(message3[i]);
        x=qingdan[0][0]; // 商品名 單價
        for(i=0;i<4;i++) s1[i]=shangpin[x][i];
        x=qingdan[0][1];
        d_change(x); change(s1);
        lcdi_send(0x90);
        for(i=0;i<16;i++) lcdd_send(s1[i]);
        x=qingdan[0][2]; // 顯示重量
        d_change(x); change(s2);
        s2[10]=s2[9];s2[9]=.;
        if(s2[8]==32) s2[8]=0x30;
        lcdi_send(0x88);
        for(i=0;i<16;i++) lcdd_send(s2[i]);
        x=qingdan[0][3];
        d_change(x); change(s3);
        lcdi_send(0x98);
        for(i=0;i<16;i++) lcdd_send(s3[i]); // 以上為第一頁
        EA=0;EX0=0; // 關(guān)鍵盤中斷
        for(j=1;j
        {while(key7289);
        x=qingdan[j][2];
        d_change(x); change(s2); // 顯示數(shù)據(jù)
        s2[10]=s2[9];
        s2[9]=.; if(s2[8]==32) s2[8]=0x30;
        lcdi_send(0x90);
        for(i=0;i<16;i++) lcdd_send(s2[i]);
        x=qingdan[j][1];
        d_change(x); change(s1);
        x=qingdan[j][0];
        for(i=0;i<4;i++) s1[i]=shangpin[x][i];
        lcdi_send(0x80);
        for(i=0;i<16;i++) lcdd_send(s1[i]);
        x=qingdan[j][3];
        d_change(x); change(s3);
        lcdi_send(0x88);
        for(i=0;i<16;i++) lcdd_send(s3[i]);
        lcdi_send(0x98);
        for(i=0;i<16;i++) lcdd_send(0x20);
        lcdi_send(0x98);
        while(key7289==0);
        }
        while(key7289);
        d_change(zongjia); change(s4);
        lcdi_send(0x80);
        for(i=0;i<16;i++) lcdd_send(s4[i]);
        lcdi_send(0x90);
        for(i=0;i<16;i++) lcdd_send(bianhao[i]);
        lcdi_send(0x88);
        for(i=0;i<16;i++) lcdd_send(message5[i]);
        lcdi_send(0x98);
        for(i=0;i<16;i++) lcdd_send(riqi[i]);
        list=0;
        while(key7289==0);
        while(key7289==1);
        while(key7289==0);
        EA=1;EX0=1;
        }
        else{ y=0;
        /* duilie[2]=duilie[1]; // 數(shù)字濾波
        duilie[1]=duilie[0];
        y=ad1();
        duilie[0]=y>>1;
        x=duilie[0];
        x=x<<1;
        x=x+duilie[1]+duilie[2]; */
        zhongliang=ad1();
        shizhong=zhongliang-pizhong; // 數(shù)據(jù)轉(zhuǎn)換
        x=danjia[sh];
        jine1=shizhong*x;
        jine=jine1/1000;
        d_change(shizhong); change(s2); // 顯示數(shù)據(jù)
        s2[10]=s2[9]; s2[9]=.;
        if(s2[8]==32) s2[8]=0x30;
        lcdi_send(0x90);
        for(i=0;i<16;i++) lcdd_send(s2[i]);
        d_change(danjia[sh]); change(s1);
        for(i=0;i<4;i++) s1[i]=shangpin[sh][i];
        lcdi_send(0x80);
        for(i=0;i<16;i++) lcdd_send(s1[i]);
        d_change(jine); change(s3);
        lcdi_send(0x88);
        for(i=0;i<16;i++) lcdd_send(s3[i]);
        d_change(zongjia); change(s4);
        lcdi_send(0x98);
        for(i=0;i<16;i++) lcdd_send(s4[i]);
        lcdi_send(0x98);
        //while(1);
        }
        }
        }

        上一頁 1 2 下一頁

        關(guān)鍵詞: 電子秤TM7710TM7709測試程

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 梓潼县| 沐川县| 井研县| 杭州市| 沽源县| 满洲里市| 兖州市| 龙州县| 通江县| 无棣县| 丹江口市| 沂水县| 凌源市| 略阳县| 嘉禾县| 民丰县| 普宁市| 托克托县| 疏勒县| 南昌县| 宣武区| 新郑市| 天水市| 苏尼特右旗| 绵阳市| 金昌市| 大埔区| 花莲县| 南开区| 浮山县| 承德市| 台南县| 乐亭县| 德惠市| 阳高县| 西乌| 蒙山县| 南京市| 东丰县| 永宁县| 梓潼县|