基于单片机的自行车测速系统设计与实现论文 - 图文(10)

2019-08-30 19:27

桂林电子科技大学毕业设计(论文)报告用纸 第43 页

if(DATA==1) dat|=0x80; SCLK=1; _nop_(); _nop_(); SCLK=0; _nop_(); _nop_();

}

return dat;

}

unsigned char ReadSet1302(unsigned char Cmd) //函数功能:根据命令字,从1302读取一个字节数据

{ }

void Init_DS1302(void) //函数功能: 1302进行初始化设置 {

unsigned char flag; flag= ReadSet1302(0x81);

if(flag&0x80) {

WriteSet1302(0x8E,0x00); WriteSet1302(0x80,((40/10)<<4|(40)));

43

unsigned char dat; RST=0; SCLK=0; RST=1; Write1302(Cmd); dat=Read1302(); SCLK=1; RST=0; return dat;

桂林电子科技大学毕业设计(论文)报告用纸 第44 页

}

WriteSet1302(0x82,((5/10)<<4|(5))); WriteSet1302(0x84,((0/10)<<4|(0))); WriteSet1302(0x86,((11/10)<<4|(11))); WriteSet1302(0x88,((3/10)<<4|(3))); WriteSet1302(0x8c,((14/10)<<4|(14))); WriteSet1302(0x90,0xa5); WriteSet1302(0x8E,0x80);

}

//函数功能:显示秒

void DisplaySecond(unsigned char x) { }

void DisplayMinute(unsigned char x) { }

unsigned char i,j;

i=x/10; j=x;

Write_Address(1,2); Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1); unsigned char i,j;

i=x/10; j=x;

Write_Address(1,4); Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1);

//函数功能:显示分钟

void DisplayHour(unsigned char x) //函数功能:显示小时 {

44

桂林电子科技大学毕业设计(论文)报告用纸 第45 页

}

unsigned char i,j;

i=x/10; j=x;

Write_Address(1,0); Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1);

void DisplayDay(unsigned char x) //函数功能:显示日 { }

void DisplayMonth(unsigned char x) //函数功能:显示月 { }

void DisplayYear(unsigned char x) //函数功能:显示年 {

unsigned char i,j;

45

unsigned char i,j;

i=x/10; j=x;

Write_Address(0,4); Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1);

unsigned char i,j;

i=x/10; j=x;

Write_Address(0,2) ; Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1);

桂林电子科技大学毕业设计(论文)报告用纸 第46 页

}

i=x/10; j=x;

Write_Address(0,0); Write_Data(digit1[i]); Write_Data(digit1[j]); delay(1);

void Display_Data(void) //函数功能:显示日期 {

unsigned char second,minute,hour,day,month,year; unsigned char ReadValue; {

ReadValue = ReadSet1302(0x81); DisplaySecond(second); ReadValue = ReadSet1302(0x83); DisplayMinute(minute);

second=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);

minute=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x85);

hour=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);

DisplayHour(hour); ReadValue = ReadSet1302(0x87);

day=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); }

DisplayDay(day); ReadValue = ReadSet1302(0x89); DisplayMonth(month); ReadValue = ReadSet1302(0x8d); DisplayYear(year);

month=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);

year=((ReadValue&0xf0)>>4)*10 + (ReadValue&0x0F);

}

46

桂林电子科技大学毕业设计(论文)报告用纸 第47 页

LCD12864显示模块程序: #include\#include\//#include\

#define LCD_DATA P0 sbit LCD_RS = P1^0; sbit LCD_RW = P1^1; sbit LCD_EN = P1^2; sbit LCD_PSB = P2^7; sbit LCD_RST = P2^6;

unsigned char Strinr0[]={\年 月 日\

unsigned char Strinr1[]={\时 分 秒%unsigned char Strinr2[]={\℃ V: %unsigned char Strinr3[]={\路程 : \

unsigned

Number[]={ '0','1','2','3','4','5','6','7','8','9','.'};

void delay1ms() //函数功能:延时1毫秒 {

unsigned char i,j;

for(i=0;i<1;i++)

for(j=0;j<110;j++);

}

void delay(unsigned int n)//函数功能:延时n毫秒 { unsigned int i;

for(i=0;i

}

47

char


基于单片机的自行车测速系统设计与实现论文 - 图文(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:欧陆591C系列数字直流式调速器的扩容 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: