在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            電子秤AD TM7710/TM7709測試程序

            作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏
            void keyin(void) interrupt 0 using 0 // 中斷 0 服務程序
            {char X,i;
            long int y;
            send7289(0x15); // 接收數(shù)據(jù)
            X=receive();
            cs7289=1;
            X=X&0x1f;
            switch(X)
            {case 0xf : {zongjia=zongjia+jine;
            qingdan[qb][0]=sh;
            qingdan[qb][1]=danjia[sh];
            qingdan[qb][2]=shizhong;
            qingdan[qb][3]=jine;
            qb++; sh=0;dot=0;
            danjia[0]=0;
            for(i=0;i<6;i++) jiage[i]=0;
            }
            break; // 累加
            case 0xe : pizhong=zhongliang; break; // 去皮
            case 0xd : {danjia[sh]=0;dot=0;} break; // 清單價
            case 0xc : {zongjia=0;jine=0;dot=0;list=0;qb=0;pizhong=0;
            if(sh==0) danjia[sh]=0;} break; // 總清
            case 0xa : dot=1;break; // 點
            case 0xb : list=1;break; // 清單
            case 0x19 : sh=10;break;
            case 0x18 : sh=9;break;
            case 0x17 : sh=8;break;
            case 0x16 : sh=7;break;
            case 0x15 : sh=6;break;
            case 0x14 : sh=5;break;
            case 0x13 : sh=4;break;
            case 0x12 : sh=3;break;
            case 0x11 : sh=2;break;
            case 0x10 : sh=1;break;
            case 0x1f :
            case 0x1e :
            case 0x1d :
            case 0x1c :
            case 0x1a : break;
            case 0x1b : dot=1;break;
            default :{ if(dot==0) {jiage[0]=jiage[1];jiage[1]=jiage[2];jiage[2]=X;}
            if(dot==1) {jiage[4]=X;dot++; }
            else if(dot==2) {jiage[5]=X; dot++;}
            else if(dot>2) break;
            // lcdi_send(0x84);
            y=jiage[0];
            y=y*10+jiage[1];
            y=y*10+jiage[2];
            y=y*10+jiage[4];
            danjia[sh]=y*10+jiage[5];
            }
            }
            while(key7289==0); // 等待鍵盤松開
            }
            /*
            void ad(void) interrupt 2 using 1
            {short x,y;
            x=ad_244;
            y=x;
            if(x&0x80) baojing();
            else x=x>>4;
            y=y&0xf;
            bcd[x]=y;
            } */
            // 初始頁面
            void ini() // 輸入收銀員編號 , 日期
            {short i,j;
            char X;
            lcdi_send(0x80); // 提示輸入收銀員編號
            i=0;
            while(message1[i]) lcdd_send(message1[i++]);
            for(i=8;i<12;i++)
            {
            while(key7289);
            send7289(0x15); // 接收數(shù)據(jù)
            X=receive();
            cs7289=1;
            bianhao[i]=X+0x30;
            lcdi_send(0x93);
            for(j=8;j<16;j++) lcdd_send(bianhao[j]);
            while(key7289==0);
            }
            lcdi_send(0x88); // 提示輸入日期
            i=0;
            while(message2[i]) lcdd_send(message2[i++]);
            for(i=0;i<10;i++) // 輸入日期
            {if(i==4||i==7) i++;
            while(key7289==1);
            send7289(0x15); // 接收數(shù)據(jù)
            X=receive();
            cs7289=1;
            riqi[i]=X+0x30;
            j=0;
            lcdi_send(0x9a);
            for(j=0;j<10;j++) lcdd_send(riqi[j]);
            while(key7289==0);
            }
            while(key7289);
            nop1();
            while(key7289==0);
            nop1();
            lcdi_send(0x1);
            }
            //LCD 子程序
            void ini_lcd() //LCD 初始化子程序
            {
            lcdi_send(0x30);
            lcdi_send(0x1); // 總清
            lcdi_send(0xc);
            lcdi_send(0x2); // 光標右移, AC+1
            }
            void lcdd_send(short X) //LCD 發(fā)送數(shù)據(jù)子程序
            {chk_busy();
            nop1();
            lcd_di=1;lcd_rw=0;lcd_e=0;
            P0=X;
            for(dealy=0;dealy<5;dealy++);//
            lcd_e=1; X=X;
            P0=0xff;
            }
            void lcdi_send(short X) //LCD 發(fā)送指令子程序
            {chk_busy();
            nop1();
            lcd_di=0;lcd_rw=0;lcd_e=0;
            P0=X;
            for(dealy=0;dealy<5;dealy++);//
            lcd_e=1; X=X;
            P0=0xff;
            }
            void chk_busy()
            {short i=0xff;
            while(i&0x80)
            {lcd_di=0;
            lcd_rw=1;
            lcd_e=0;
            i=P0;
            lcd_e=1;
            }
            }
            //7289 子程序
            void ini_7289()
            {short i;
            cs7289=1; key7289=1; dio7289=1; //7289 初始化子程序
            for(i=0;i<50;i++)
            for(dealy=0;dealy<5000;dealy++); // 延時 25ms
            send7289(0xa4); cs7289=1;
            }
            void send7289(short X) //7289 發(fā)送數(shù)據(jù)子程序
            {short i,j=1;
            cs7289=0;
            for(dealy=0;dealy<6;dealy++); // 延時 50us
            for(i=7;i>=0;i--)
            {j=j<
            dio7289=X&j;
            j=1;j=1;clk7289=1;
            for(dealy=0;dealy<1;dealy++) ; // 延時 10us
            clk7289=0;
            for(dealy=0;dealy<1;dealy++) ; // 延時 10us
            }
            dio7289=0;
            }
            short receive() //7289 接收數(shù)據(jù)子程序
            {short i,X=0;
            dio7289=1;
            for(dealy=0;dealy<6;dealy++); // 延時 50us
            for(i=0;i<=7;i++)
            {clk7289=1;
            for(dealy=0;dealy<1;dealy++); // 延時 10us
            X=X<<1;
            if(dio7289)X++;
            clk7289=0;
            for(dealy=0;dealy<1;dealy++); // 延時 10us
            }
            dio7289=0;
            return(X);
            }
            //ad
            //AD 子程序
            int ad1()
            {short k,x;
            int ad_zhi=0,xz;
            EA=0;
            ad_start=1;
            for(k=0;k<5;k++)
            { while(ad_stb);
            x=ad_244;
            x=x&0xf;
            ad_zhi=ad_zhi*10+x;
            }
            ad_start=0;
            EA=1;EX0=1;
            ad_zhi=ad_zhi>>1;
            xz=ad_zhi-50;
            xz=xz/100;
            ad_zhi=ad_zhi+xiuzheng[xz];
            return(ad_zhi);
            void d_change(long X)
            {char qian,bai,shi,ge,shifen,baifen;
            long int yu;
            if(X>999999) error1();
            qian=X/100000; yu=X%100000;
            bai=yu/10000; yu=yu%10000;
            shi=yu/1000; yu=yu%1000;
            ge=yu/100; yu=yu%100;
            shifen=yu/10;
            baifen=yu%10;
            qian=qian+0x30;
            bai=bai+0x30;
            shi=shi+0x30;
            ge=ge+0x30;
            shifen=shifen+0x30;
            baifen=baifen+0x30;
            if(qian==0x30)
            {qian=0x20;
            if(bai==0x30)
            {bai=0x20;
            if(shi==0x30) shi=0x20;
            }
            }
            shuju[0]=qian;
            shuju[1]=bai;
            shuju[2]=shi;
            shuju[3]=ge;
            shuju[4]=.;
            shuju[5]=shifen;
            shuju[6]=baifen;
            }
            void baojing()
            {short i;
            for(i=0;i<50;i++)
            {baoj=0;
            for(dealy=0;dealy<10;dealy++);
            baoj=1;
            for(dealy=0;dealy<10;dealy++);
            }
            }
            參考書目:
            《電子電路設計與實踐》 山東科學技術出版社 姚福安著
            《新型集成電路》 西安電子科技大學出版社 楊振江著
            《 8051 單片機實踐與應用》 清華大學出版社 吳金戎著
            《積分式 A/D 轉換器其他專用集成電路分冊》
            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉