}
else if((s >= 100000)&&(s < 1000000)) { point2 = 1; buf2[3] = s/100;buf2[2] = s/1000;
buf2[1] = s/10000;buf2[0] = s/100000;} // 6位
整数 1.234 1234 56
else if((s >= 1000000)&&(s < 10000000)) { point2 = 2; buf2[3] = s/1000;buf2[2] = s/10000; buf2[1] = s/100000;buf2[0] = s/1000000;}// 7
1234 567
else if((s >= 10000000)&&(s < 100000000))
{ point2 = 3; buf2[3] = s/10000;buf2[2] = s/100000; buf2[1] = s/1000000;buf2[0] = s/10000000;} //
1234 5678
}
位整数
8位整数
//===========开电源就显示的数据,初始显示速度============= void init_display() { uchar i; for(i = 0;i < 4;i++) { wei = bitcode[num - 1]; led = display1[buf1[num--]]; delay1m(4); if(num == 0)num = 4; } }
//==============显示函数================ void display_function() {
37
if(flag == 0)//显示速度 {
switch(point1) { case 0:wei = bitcode[num-1];led = display1[buf1[num-
1]];num--;break;//速度显示 0
case 1:if(num == 1){ wei = bitcode[num-1];led =
0x7f&display1[buf1[num-1]];num--;} else { wei = bitcode[num-1];led = display1[buf1[num-1]];num--;}break;//最高位小数点亮
case 2:if(num == 2){ wei = bitcode[num-1];led = 0x7f&display1[buf1[num-1]];num--;} else { wei = bitcode[num-1];led = display1[buf1[num-1]];num--;}break;//第二高位小数点亮
case 3:if(num == 3){ wei = bitcode[num-1];led = 0x7f&display1[buf1[num-1]];num--;} else { wei = bitcode[num-1];led = display1[buf1[num-1]];num--;}break;//第三高位小数点亮 {
}
default:break; }
if(num == 0)num = 4;
else if(flag == 1)//显示里程
switch(point2) { case 0:wei = bitcode[num-1];led = display1[buf2[num-
1]];num--;break;//里程显示 0
case 1:if(num == 1){ wei = bitcode[num-1];led = 0x7f&display1[buf2[num-1]];num--;}
38
else { wei = bitcode[num-1];led =
display1[buf2[num-1]];num--;}break;//最高位小数点亮
case 2:if(num == 2){ wei = bitcode[num-1];led = 0x7f&display1[buf2[num-1]];num--;} else { wei = bitcode[num-1];led = display1[buf2[num-1]];num--;}break;//第二高位小数点亮
case 3:if(num == 3){ wei = bitcode[num-1];led = 0x7f&display1[buf2[num-1]];num--;} else { wei = bitcode[num-1];led = display1[buf2[num-1]];num--;}break;//第三高位小数点亮 } }
default:break; }
if(num == 0)num = 4;
//===========定时器0和外部中断0的初始化函数=========== void time0_int0_init() { TMOD |= 0x01; }
TMOD &= 0xfd;//定时器0工作于方式1
TL0 = (65536 - 5000) % 256;//12M晶振,5ms定时 TH0 = (65536 - 5000) / 256;
IT0 = 1;//外部中断0,负跳变触发方式 TR0 = 0; ET0 = 1; EX0 = 1; EA = 1;
//===============ms 级延时函数=================== void delay1m(uchar x) {
39
uchar i,j;
for(i=0;i for(j=0;j<120;j++); //数120 次,约1 ms 40 致谢 这次毕业设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中可以说是困难重重,毕竟要一个人独自去完成做所有的设计,还有制作、焊接到最后的调试,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,导致绕了很多弯路。 本设计是在我的指导老师赵玲峰老师的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从毕业设计题目的选择到设计最终的完成,赵老师都始终给予我细心的指导和不懈的支持。在此向老师致以诚挚的谢意和崇高的敬意。 在此,我还要感谢在一起愉快地度过四年大学生活的各位同学,尤其是我的同宿舍同学,在我遇见困难、遇到瓶颈时,正是有了你们的无私的帮助和支持,我才能克服一个一个的困难和疑惑,直至毕业设计的顺利完成。在论文即将完成之际,我的心情无法平静,从开始进入毕业设计的构思到论文最终顺利的完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意! 41 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于单片机的数字测速仪设计 - 图文(5)在线全文阅读。
相关推荐: