自行车测速仪的设计毕业论文 联系客服

发布时间 : 星期三 文章自行车测速仪的设计毕业论文更新完毕开始阅读f79f8bc25122aaea998fcc22bcd126fff7055d1c

j=((dat>>i)&0x01); write_bit(j); delay18b20(5); }

}

int read_temp() //读温度

{ uchar templ,temph; int temp; reset();

write_byte(0xcc); write_byte(0x44); delay18b20(1000); reset();

write_byte(0xcc); write_byte(0xbe); templ=read_byte(); temph=read_byte(); temp=templ+temph*256; return(temp);

}

/************************************* ***************************************/ void input_1byte(uchar td) { uchar i; ACC=td; for(i=8;i>0;i--) { ds_io=ACC0; ds_clk=1; ds_clk=0; ACC=ACC>>1;

}

ds1302的程式模块

}

uchar output_1byte() { }

void write_ds1302(uchar ds_add,uchar ds_dat) { }

uchar read_ds1302(uchar ds_add) { }

uchar ds_inf; ds_rst=0; ds_clk=0; ds_rst=1;

input_1byte(ds_add); ds_inf=output_1byte(); ds_clk=1; ds_rst=0; return(ds_inf); ds_rst=0; ds_clk=0; ds_rst=1;

input_1byte(ds_add); input_1byte(ds_dat); ds_clk=1; ds_rst=0; uchar i; for(i=8;i>0;i--) { }

return(ACC);

ACC=ACC>>1; ACC7=ds_io; ds_clk=1; ds_clk=0;

/***************************************ds1302初始化程序 **************************************/ void init_1302() { }

/***************************************

测速程式

**************************************/ void initialize( void ) //初始化程序 {

ncounter = 0; T0counter = 0; SECsign = 1; speed = 0; cflag = 1; }

void init_timer0( void ) {

TMOD = 0x01;

TH0 = (65536-50000)/256; TL0 = (65536-50000)%6; EA = 1;

IT0=1; EX0=1;

//定时器0初始化

write_ds1302(0x8e,0x80);//打开写保护 write_ds1302(0x8e,0x00);//关闭写保护 write_ds1302(0x90,0xAA);//定义充电

ET0 = 1; TR0 = 1; }

void dis_speed( void ) {

uchar bai = speed/100;

uchar shi = speed0/10; uchar ge = speed;

uchar dian= (speed&0x0f)*62.5/100; write_dat1( 0x30+bai );

write_com( 0x80+0x00 ); write_dat1( 0x30+shi ); write_dat1( 0x30+ge ); }

void dis_mileage( void ) {

unsigned char qiankm,baikm,shikm,gekm,diankm; qiankm=(110*scounter)/100000000;

baikm=((110*scounter)0000000)/10000000;

shikm=(((110*scounter)0000000)000000)/1000000;

gekm=((((110*scounter)0000000)000000)00000)/100000; diankm=(((((110*scounter)0000000)000000)00000)0000)/10000;

write_com( 0x80+0x40 ); write_dat1( 0x30+qiankm); write_dat1( 0x30+baikm); write_dat1( 0x30+shikm); write_dat1( 0x30+gekm); write_dat1('.');

write_dat1(0x30+diankm); }

unsigned char TOBCD(unsigned char asc) //十进制转换成BCD码 {

unsigned char shiwei,gewei,BCD; gewei=asc;

//里程计算

write_dat1('.');

write_dat1(0x30+dian);