附表6:基于单片机的数字测速仪设计 - 图文 - 下载本文

广西工学院鹿山学院本科生毕业设计(论文)

参考文献

[1]马西秦.自动检测技术[M].机械工业出版社,2001:210-230

[2]雷思孝,冯育长.单片机系统设计及工程应用[M].西安电子科技大学出版社,2005:79-85

[3]雷玉堂.光电检测技术(第2版)[M].中国计量出版社,2009:254-259

[4]郭培源,付扬.光电检测技术与应用[M].北京航空航天大学出版,2006:221-224 [5]张道德.单片机接口技术(C51版)[M].中国水利水电出版社,2007:112-115 [6]汪云.基于霍尔传感器的转速检测装置[J]. 传感器技术2003,22(10):45-47 [7]杨路明.C语言程序设计[M].北京邮电大学出版社,2005:1-7

[8]徐玮,徐富军,沈建良.C51单片机高效入门[M].机械工业出版社,2006.43-45 [9]王为青,程国钢.单片机Keil Cx51应用开发技术[M].人民邮电出版社,2007:31-38 [10]林志琦,郎建军,李会杰,佟大鹏.基于Proteus的单片机可视化软硬件仿真[M].北京航空航天大学出版,2006:1-5

[11]丁英丽. 智能光电计数系统的设计[J]. 计量与测试技术, 2004,5(2): 31~32

[12]陈照章,朱湘临.光电测速传感器及其信号调理电路[J].传感技术, 2002,1(8);53-55 [13]Car systems integrate more functions (1997, June). J Electronic Components, pp. 186-226.

[14]Burr-Brown Application Handbook (1994), USA

[15]Data Transmission Design Seminar (1998), Reference Manual, Texas Instruments, USA

27

广西工学院鹿山学院本科生毕业设计(论文)

致 谢

在此次毕业设计中,首先要感谢xxx对我的细心指导,遇到困难能够及时给予帮助。xxx在工作中兢兢业业,辅导学生时极其认真耐心,让我深刻地体会到真正的为人师表的风范。在毕业设计中我不仅锻炼了自己的动手能力,更重要的是学习了应该怎样做事做人。我所取得的进步和xxx的谆谆教导和悉心指导是分不开的,在这里我真诚地感谢xxx!毕业设计中我还得到了同学们的热情帮助,在这里一并表示感谢!

大学四年匆匆而过,在这四年里许多老师用他们的辛劳与汗水关心我、帮助我,将平凡而真诚的关怀涓涓而流。在他们的亲切关怀下,我不断丰富着自己,在知识上不断掌握新的理论与技能,在做人做事中充满信心与勇气,也逐渐形成了正确而成熟的人生观、价值观,这些对即将走出校园的我来说是一笔很好的财富。在此我感谢这引起关心帮助我的老师们。

此外我还要感谢和我一起学习生活的同学,感谢他们平常对我的帮助。

28

广西工学院鹿山学院本科生毕业设计(论文)

源程序代码:

#include

#define uchar unsigned char #define uint unsigned int

uchar code wlcome[16]={\ welcome %uchar idata lcd[16]={\ 000.000M/min%uchar timecount; bit timeflag; sbit e=P2^7; sbit rw=P2^6; sbit rs=P2^5;

sbit d=P1^6; //P1.6口接触发器?U3A?的D端 sbit r=P1^7; //P1.7口接 2个触发器的复位端 unsigned long count;

//----------------------------------------- // 延迟程序 延迟时间 del1*10us //-------------------------------- void delay(uint del1) { uchar del2; for(;del1>0;del1--) for(del2=10;del2>0;del2--); }

//--------------------------------- // LCD判忙程序 //------------------------------ void busy() { uchar temp; temp=0x00; rs=0; rw=1; while((temp&0x80)==0x80) { P0=0xff; e=1; temp=P0; e=0; } }

//----------------------------- // 向显示器写命令函数 //-----------------------------

29

广西工学院鹿山学院本科生毕业设计(论文)

void wr_com(uchar temp) { busy(); rs=0; rw=0; P0=temp; e=1; e=0; }

//--------------------------------- // 向显示器写数据函数 //----------------------------------- void wr_data(uchar num) { busy(); rs=1; rw=0; P0=num; e=1; e=0; }

//--------------------------------------------- // 向显示器写入显示数据函数 //------------------------------------------ void disp_lcd(uchar addr,uchar *temp1) { uchar i; wr_com(addr); delay(100); for(i=0;i<16;i++) { wr_data(temp1[i]); delay(100); } }

//-------------------------------------------- // 液晶模块初始化

//--------------------------------------- void lcd_ini() { char i; for(i=3;i>0;i--) { P0=0x30;

30

广西工学院鹿山学院本科生毕业设计(论文)

rs=0; rw=0; e=1; e=0; delay(100); } P0=0x38; rs=0; rw=0; e=1; e=0; delay(100); }

//------------------------------- // 显示器复位函数 //--------------------------------- void lcd_reset() {

wr_com(0x01); delay(100); wr_com(0x06); delay(100); wr_com(0x0c); delay(100); }

//----------------------------------- // 定时器T0 定时1秒 //---------------------------------- void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%6; timecount++; if(timecount==20) { r=0; //触发器的复位端为低电平出发,每定时1秒到后同时复位2个D触发器 timeflag=1; //输出定时一秒时间到的信号 timecount=0; } }

//----------------------------------------- // 计数器C1

//--------------------------------------- void count1() interrupt 3

31