单片机课程设计完整版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计

Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

湖南工业大学

课程设计

资料袋

理学院(系、部) 2015~2016 学年第 1 学期

课程名称单片机系统课程设计指导教师职称

学生姓名管专业班级电子科学1 学号

题目出租车计费系统

成绩起止日期 2015 年 12月7日~ 2015 年 12

月 19 日

目录清单

湖南工业大学

课程设计任务书

理学院(系、部)电子科学专业班级

课程名称:单片机系统课程设计

设计题目:出租车计费系统

完成期限:自 2015 年12月7日至2015 年 12 月 19 日共 2 周

指导教师(签字):年月日系(教研室)主任(签字):年月日

附件三

(单片机

应用系统)

设计说明书

(题目)

出租车计费系统

起止日期: 2015 年 12 月 7 日至 2015 年 12 月 19日

学生姓名管

班级电子科学

学号

成绩

指导教师(签字)

电气与信息工程学院

2015年 12 月19 日

一、设计任务:

1.1 外部脉冲自动计数,自动显示。

1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数

(在数码管中显示)。

1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计

数(在数码管中显示)。

1.2 设计一个出租车计费系统:

起步价为5元(2km以内),2km后,元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示

价钱(角,元,十元)或者用lcd1602显示

二、设计原理及思路

1.设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

这个用C语言比较简单。

首先我确定用的是外部中断0,1,外部中断0用来计数,来一个脉冲,计数器加1,直到加到255,然后清零。外部中断1用来暂停/开始计数,来一个外部脉冲,暂停计数,再来一个脉冲,开始计数。用138译码器数码管进行显示0到255,到了255,自动到0.

2.设计一个50000计数器:

0-50000计数,计满后自动清0,重新计数(在数码管中显示)。这个用C语言和255一样的原理,只要将255计数器中的字符类型,改为int型就可以了

用138译码器数码管进行显示0到50000,到了50000,自动到0.

3.设计一个出租车计费系统:

起步价为5元(2km以内),2km后,元/0.5km;要求每500m刷新计费一次,在8为数码管中,前3为显示数码管显示里程数,后3位数码管显示价钱(角,元,十元)用lcd1602显示器显示。

三、硬件电路图

计数器

Proteus电路图:

开发板图

计数器

Proteus电路图

开发板电路图

3.出租车计费器(用数码管显示)

(1).(小于2KM),第一个按键是开始功能,右边的开关是暂停/继续功能

开发板电路图

(2).(大于两千米时)proteus中电路如图所示

开发板电路显示

(3)用lcd1602显示

开发板电路图:

四.源程序

(C语言)

#include<>

unsigned char code sz[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};;;

delay(1);

lcd_write_data(show1[money%10]);

delay(1);

}

}

void lsd() interrupt 0

{

meter++;

if(meter<=4)

money=50;

else

money=50+8*(meter-4);

}

void lsd1() interrupt 2

{

unsigned char stop1;

stop++;

stop1=stop%2;

if(stop1)

EX0=0;

else

EX0=1;

}

五、心得体会

在本次课程设计中,重新巩固了单片机理论课时,加强了实践,增加了动手能力,感觉到的内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需实际动手去实践。真正把所学的用到日常生活中,理论联系实际,做出实物模型。这次单片机课程设计,我们设计的是简易255计数器,50000计数器,出租车计费系统设计,通过这次课程设计我感觉到要想做成功,必须花时间多做准备,查阅大量资料,每个过程都很繁琐,都要认真地分析每一步每一个模块要实现大的功能,然后分步进行编写调试,最后整合成在一起。

在255计数器的过程中,主要是数码管的动态显示问题,参考了许多书目,其他数码管动态显示的例题,在错误中进步,直到实验的正确,其次就是中断问题,在这个实验中,加深了对中断的理解,以及中断的优先级;在5000的计数器中实验原理与255计数器差不多,主要是在255计数器中,使用的是char字符类型,而char最大只能显示255,所以在5000计数器中,将char字符类型改为int型。

在出租车计费系统中,首先的思想是用数码管的动态显示以及使用lcd1602液晶屏显示,数码管的显示原理和前面一样,而使用lcd显示的原理,一点都不懂,这需要自己观看视频教程以及书本,在经过多次的调试后,有很多地方是因为自己编程的不小心,浪费了许多时间,终于让自己的lcd显示了,我想要结果,但lcd1602只能显示字符,而不能显示汉字,这是唯一有遗憾的地方。

在这次课程设计中,经历了多次失败的洗礼,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。

相关文档
最新文档