单片机课程设计哈工大测速小车结题报告资料.docVIP

  • 3
  • 0
  • 约9.01千字
  • 约 12页
  • 2019-09-14 发布于上海
  • 举报

单片机课程设计哈工大测速小车结题报告资料.doc

Harbin Institute of Technology 课程设计说明书(论文) 设计题目:测速小车 院 系:电气学院测控系 班 级:100102班 设 计 者: 学 号: 指导教师:胡瑞强 设计时间:2013.9.11—2013.9.13 哈尔滨工业大学 课程设计考核表 题目: 学生姓名: 班级: 学号: 实验部分考核 考核内容 分值 得分 基本设计任务的完成情况 40 附加设计任务的完成情况 10 对教师提问的回答情况 10 总结报告评分 评分内容 分值 得分 内容完整、字数达标 20 层次清晰、重点突出、分析透彻 10 书写规范、文字流畅 5 有独特见解、有一定的创新 5 总成绩: 指导教师签字: 结题报告 课题完成情况 总体完成情况说明 在为期两周的课程设计过程中,我们完成了测速小车的设计与调试,最终完成了基本任务要求。 在第一周里,我们选定了测速小车的课题,并完成了开题报告,在这一阶段内,我们熟悉并了解了宝贝车机器人的控制原理,单片机主控模块的接线方式,数字编码器的工作原理和硬件连接电路。我们还编制了让小车前进,加速,减速,左右转弯的子程序。在写代码过程中,熟悉了相关软件的使用方法。在第二周里,我们查阅了资料,详细了解并掌握了1602液晶显示模块的工作及控制原理,并编制了四位初始化子函数和显示初始化子函数。在验证显示环节的过程中,还用protues进行了仿真。接下来,我们完成了计数器,定时器的设置,并且对测得的脉冲数进行转换,使其变成速度,并显示在1602上。最后我们设置了小车的运动轨迹,使其可以测量不同的速度,并完成了结题报告。 总的来说,我们完成了测量速度的完整显示,开题报告和结题报告的书写。 程序设计 子程序名如下,具体函数见附录 //*---------子函数声明-----------*// void init_devices(void); //初始化函数 void t0_init(void); void t1_init(void); void t2_init(void); void LCM_init(void); void init_4bit(void); //*---------小车运动子函数申明---------*// void Forward(void); void Left_90(void); void Right_90(void); void Right_180(void); //*---------功能实现子函数申明---------*// void Measure_Speed(void); //测速子函数 void Data_Conversion(float speed); //速度数据类型转换函数 void display(uchar x,uchar y,uchar *s); //问候语显示子函数 void Display_List_Char(uchar x,uchar y,uchar *s); //字符显示子函数 void Set_xy_LCM(uchar x,uchar y); //显示位置设置子函数 void Data_Conversion(float speed); //速度转换子函数 //*---------1602数据指令写入函数--------*// void Write_Data_LCM(uchar dat); void Write_Command_LCM(uchar com); //*----------------延时------------------*// void delay_nus(unsigned int i); void delay_1ms(void); void delay_nms(unsigned int n); 问题及解决办法 在完成液晶屏初始化后,仿真也可以显示字符,但将程序烧入单片机后不能正常显示。 原因:仿真是选择的是1602液晶显示模块的八位显示模式,而实际的液晶屏硬件连接为四位模式。之后,我们重新编制了相应的四位初始化程序,实现了显示功能。 根据指导书上硬件图连接后,发现无法显示速度。 原因:硬件连接图上P1.1和P1.0只是一种示例,并不是实际对应的P1.1和P1,0口。实际编码器的脉冲输入口应为P3.4和P3.5,这两个外部计数的输入端口。改变接线后可以正常显示

文档评论(0)

1亿VIP精品文档

相关文档