资源目录
压缩包内文档预览:
编号:512758
类型:共享资源
大小:729.32KB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
出租车计价器资料,毕业设计
- 内容简介:
-
元件清单 元件名称 单位(只) 型号 参数 备注 单片机 2 AT89S52 整流二极管 20 IN4007 电容 10 30P 电容 10 104 电解电容 8 100UF/50V 电解电容 2 220UF/50V 电解电容 10 10UF/25 微动开关(按钮) 12 74ls164 8 自锁开关 2 (白色,六脚的) 排针 2 排 晶振 2 11.0592M 精调电阻 5 103 3296W 10K 排线 1 米 20p 稳压管 2 LM7805 稳压管 2 LM7812 焊锡丝 若干 散热片 3 YB-20 三极管 20 个 2TY 贴片( PNP) 万能板 3 块 掉电保护 2 24c02 L298N 2 七段数码管 8 LG5011BSR 光耦 2 TP521-4 接线端子 8 个 2P 管座 5 40P 管座 5 16P 热缩管 1 米 直径 1.5mm 铜柱 8 长 20mm 直流电机 1 电源线 1 变压器 1 深度传感器 3 MOCH26A 驱动 1 L297 和 L292 nts初步程序: #include #define uchar unsigned char sbit P3_4=P34; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x86,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz4; int qw,bw,sw,gw,a,b,c; void disp(void) for(c=3;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=2) a=0; P3_4=!P3_4; if(P3_4=0) b=TH0*256+TL0; /yw=sz0=b/100000; /ww=sz0=b/10000%10; qw=sz0=b/1000%10; bw=sz1=b/100%10; sw=sz2=b/10%10; gw=sz3=b%10; disp(); main() ntsTMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 2 #include #define uchar unsigned char sbit P3_4=P34; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f; void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=2) a=0; P3_4=!P3_4; if(P3_4=0) b=TH0*256+TL0; ntsd=34; e=6; f=7; qw=sz0=b/100000; bw=sz1=b/10000%10; sw=sz2=b/1000%10; gw=sz3=b/100%10; yw=sz4=b/10%10; ww=sz5=b%10; disp(); main() TMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 3 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20; sbit jian=P21; sbit gl=P22; sbit hp=P23; unsigned char keycnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f; nts d=46; /单价 e=00; /公里数 f=00; /jiage=d*e; /金额 void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(hp=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=40; break; case 2: /第二次按下 d=50; break; case 3: /第三次按下 d=60; keycnt=0; /重新开始判断键值 break; while(hp=0); nts void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=2) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; f=e*d/10; qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; if(jia=0) d+; if(jian=0) d-; if(gl=0) e=5; disp(); KEY(); main() void KEY(); TMOD=0x15; IE=0X88; ntsTH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 4 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20; sbit jian=P21; sbit gl=P22; sbit hp=P23; sbit j=P24; unsigned char keycnt=0; unsigned char cnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g; d=46; /单价 e=00; /公里数 f=00; /jiage=d*e; /金额 void jishuqi() if(j=0) cnt+; if(cnt=100) e+; ntscnt=0; void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(hp=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; while(hp=0); ntsvoid scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=2) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; if(e3) f=g; else f=5; /g=e*d/10; /f=e*d/10+5; qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; if(jia=0) d+; if(jian=0) d-; if(gl=0) e=5; disp(); KEY(); jishuqi(); main() void KEY(); TMOD=0x15; ntsIE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 5 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20;/价格加 sbit jian=P21;/价格减 sbit gl=P22; /公里 sbit hp=P23; /换屏 sbit j=P24;/记数 unsigned char keycnt=0; unsigned char cnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g; d=46; /单价 e=03; /公里数 f=05; /jiage=d*e; /金额 /*void jishuqi() if(j=0) cnt+; ntsif(cnt=100) e+; cnt=0; */ /* void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(hp=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; while(hp=0); nts void led(void) qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=2) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; /f=5; if(jia=0) d+; if(jian=0) d-; if(gl=0) e+; if(e3) g=e*d/10; f=g; /f=e*d/10+5; nts led(); disp(); KEY(); jishuqi(); main() void KEY(); TMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 6 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20;/价格加 sbit jian=P21;/价格减 sbit gl=P22; /公里 sbit hp=P23; /换屏 sbit j=P24;/记数 unsigned char keycnt=0; ntsunsigned char cnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g; d=46; /单价 e=03; /公里数 f=05; /jiage=d*e; /金额 void jishuqi() if(j=0) cnt+; switch(cnt) case 10: e+; cnt=0; break; while(hp=0); void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(hp=0) ntsfor(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次 数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; while(hp=0); void led(void) qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; ntsif(a=2) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; /f=5; if(jia=0) d+; if(jian=0) d-; if(gl=0) e+; if(e3) g=e*d/10; f=g; led(); disp(); KEY(); jishuqi(); main() void KEY(); TMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; ntsTR1=1; a=0; while(1); 7 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20;/价格加 sbit jian=P21;/价格减 sbit gl=P22; /公里 sbit hp=P23; /换屏 sbit j=P24;/记数 unsigned char keycnt=0; unsigned char cnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z; d=46; /单价 e=03; /公里数 f=05; u=12;/时 v=00;/分 w=00;/秒 /jiage=d*e; /金额 void jishuqi() ntsif(j=0) cnt+; switch(cnt) case 10: e+; cnt=0; break; while(hp=0); void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(hp=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; nts case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; while(hp=0); void led(void) /显示时间 z=TH0*256+TL0; if(z3) w+;z=0; if(w59) v+;w=0; if(v59) u+;v=0; if(u23) u=0; qw=sz0=u/10%10; bw=sz1=u%10; sw=sz2=v/10%10; gw=sz3=v%10; yw=sz4=w/10%10; ww=sz5=w%10; void led1(void) /显示 价格 里程 金额 ntsqw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=3) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; /f=5; if(jia=0) d+; if(jian=0) d-; if(gl=0) e+; if(e3) g=e*d/10; f=g; led(); disp(); KEY(); jishuqi(); nts main() void KEY(); TMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); 8 #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20;/价格加 sbit jian=P21;/价格减 sbit gl=P22; /公里 sbit hp=P23; /换屏 sbit j=P24;/记数 unsigned char keycnt=0; unsigned char cnt=0; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z; nts d=46; /单价 e=03; /公里数 f=05; u=12;/时 v=00;/分 w=00;/秒 /jiage=d*e; /金额 void jishuqi() if(j=0) cnt+; switch(cnt) case 10: e+; cnt=0; break; while(hp=0); void disp(void) for(c=5;c=0;c-) SBUF=tabszc; while(!TI); TI=0; void KEY() /按键扫描程序 unsigned char i,j; if(jian=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) nts keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; while(hp=0); void shizhong(void) z=TH0*256+TL0; if(z1) w+;z=0; if(w59) v+;w=0; if(v59) u+;v=0; if(u23) ntsu=0; void led(void) /显示时间 if(jian=0) u+; if(gl=0) v+; if(hp=0) w+; qw=sz0=u/10%10; bw=sz1=u%10; sw=sz2=v/10%10; gw=sz3=v%10; yw=sz4=w/10%10; ww=sz5=w%10; void led1(void) /显示 价格 里程 金额 KEY(); qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; a=a+1; if(a=12) nts a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; /f=5; /* if(jia=0) d+; if(jian=0) d-; if(gl=0) e+; */ if(e3) g=e*d/10; f=g; shizhong(); if(jia=0) led(); else led1(); disp(); jishuqi(); main() void KEY(); TMOD=0x15; IE=0X88; TH1=0X3C; ntsTL1=0XB0; TR0=1; TR1=1; a=0; while(1); 9最终程序 #include #include #include #define uchar unsigned char sbit P3_4=P34; sbit jia=P20;/价格加 sbit jian=P21;/价格减 sbit gl=P22; /公里 sbit hp=P23; /换屏 sbit j=P24;/记数 unsigned char keycnt=0; unsigned char cnt=0; bit write=0; /写 24C08 的标志; /code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,; /code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,; code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,; uchar sz6; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z; d=46; /单价 e=00; /公里数 f=05; ntsu=12;/时 v=00;/分 w=00;/秒 /jiage=d*e; /金额 /24C08 读写驱动程序 / sbit scl=P34; / 24c08 SCL sbit sda=P35; / 24c08 SDA void delay1(unsigned char x) unsigned int i; for(i=0;i=0;c-) SBUF=tabszc; while(!TI); TI=0; /*void KEY() /按键扫描程序 unsigned char i,j; if(jian=0) for(i=20;i0;i-) /延时去干扰 for(j=248;j0;j-); if(hp=0) keycnt+; switch(keycnt) /按下次数判断 case 1: /第一次按下 d=46; break; case 2: /第二次按下 d=12; break; case 3: /第三次按下 d=78; keycnt=0; /重新开始判断键值 break; nts while(hp=0); */ void shizhong(void) z=TH0*256+TL0; if(z1) w+;z=0; if(w59) v+;w=0; if(v59) u+;v=0; if(u23) u=0; void led(void) /显示时间 if(jian=0) u+; if(gl=0) v+; if(hp=0) w+; nts qw=sz0=u/10%10; bw=sz1=u%10; sw=sz2=v/10%10; gw=sz3=v%10; yw=sz4=w/10%10; ww=sz5=w%10; void led1(void) /显示 价格 里程 金额 /KEY(); if(jian=0) d=46; if(gl=0) d=78; if(hp=0) e=0; 3.- f=0; qw=sz0=d/10%10; bw=sz1=d%10; sw=sz2=e/10%10; gw=sz3=e%10; yw=sz4=f/10%10; ww=sz5=f%10; jishuqi(); x24c08_write(2,e); void scjs(void)interrupt 3 TH1=0X3C; TL1=0xB0; nts a=a+1; if(a=12) a=0; P3_4=!P3_4; if(P3_4=0) /b=TH0*256+TL0; /f=5; /* if(jia=0) d+; if(jian=0) d-; if(gl=0) e+; */ if(e3) g=e*d/10; f=g; shizhong(); if(jia=0) led(); else led1(); disp(); jishuqi(); main() ntsx24c08_init(); /初始化 24C08 e=x24c08_read(2);/读出保存的数据赋于 /void KEY(); TMOD=0x15; IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); nts#include#include #include #define uchar unsigned charsbit P3_4=P34;sbit jia=P20;/价格加sbit jian=P21;/价格减sbit gl=P22; /公里sbit hp=P23; /换屏sbit j=P24;/记数unsigned char keycnt=0;unsigned char cnt=0;bit write=0; /写24C08 的标志;/code uchar tab10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,;/code uchar tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,;code uchar tab10=0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,;uchar sz6;int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f,g,u,v,w,z;d=46; /单价e=00; /公里数f=05;u=12;/时v=00;/分w=00;/秒/jiage=d*e; /金额/24C08 读写驱动程序/sbit scl=P34; / 24c08 SCLsbit sda=P35; / 24c08 SDAvoid delay1(unsigned char x) unsigned int i;for(i=0;i=0;c-)SBUF=tabszc;while(!TI);TI=0;/*void KEY() /按键扫描程序unsigned char i,j;if(jian=0)for(i=20;i0;i-) /延时去干扰for(j=248;j0;j-);if(hp=0)keycnt+;switch(keycnt) /按下次数判断case 1: /第一次按下d=46;break;case 2: /第二次按下d=12;break;case 3: /第三次按下d=78;keycnt=0; /重新开始判断键值break;while(hp=0); */ void shizhong(void)z=TH0*256+TL0;if(z1)w+;z=0;if(w59)v+;w=0;if(v59)u+;v=0;if(u23)ntsu=0; void led(void) /显示时间if(jian=0)u+;if(gl=0)v+;if(hp=0)w+;qw=sz0=u/10%10;bw=sz1=u%10;sw=sz2=v/10%10;gw=sz3=v%10;yw=sz4=w/10%10;ww=sz5=w%10;void led1(void) /显示 价格 里程 金额/KEY();if(jian=0)d=46;if(gl=0)d=78;if(hp=0)e=00;f=05;qw
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。