電子秤AD TM7710/TM7709測(cè)試程序
#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);
// 初始化,編號(hào),日期
void ini();
void error1(void);
void nop1()
{}
void change(s)
int dealy; // 全局變量
short sh=0; // 商品號(hào)
short dot=0; // 小數(shù)點(diǎn)標(biāo)志
bit list=0;
short qb=0;
char xdata shuju[7]="";
short xdata bcd[5];
char xdata s1[16]=" 單價(jià) : 元 ";
char xdata s2[16]=" 重量 : Kg";
char xdata s3[16]=" 金額 : 元 ";
char xdata s4[16]=" 累計(jì) : 元 ";
char code message0[]=" 大學(xué) ";
char code message1[]=" 輸入收銀員代號(hào) :";
char code message2[]=" 輸入日期 :";
char code message3[16]=" -- 大學(xué) -- ";
char code message5[16]="閩潘實(shí)業(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]={{" 單價(jià) "},{" 蘋果 "},{" 梨 "},{" 花生 "},{" 大米 "},
{" 桃子 "},{" 塑料 "},{" 瓜子 "},{" 桔子 "},{" 香蕉 "},{" 玉米 "}};
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(); // 初始頁面 , 收銀員編號(hào),日期
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]; // 商品名 單價(jià)
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);
}
}
}
關(guān)鍵詞:
電子秤TM7710TM7709測(cè)試程
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論