知网论文 基于单片机的汽车里程表设计

时间:2019-05-14 19:15:28下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《知网论文 基于单片机的汽车里程表设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《知网论文 基于单片机的汽车里程表设计》。

第一篇:知网论文 基于单片机的汽车里程表设计

#277#第3期 刘清波等

:基于单片机的汽车里程表设计

基于单片机的汽车里程表设计

刘清波1,蔡淑珍2,孙业歧2,史 楠3(1.保定师范专科学校计算机中心,河北保定 071051;2.河北大学物理科学与技术学院,河北保定 071002;3.河北大学电子信息工程学院,河北保定 071002)

摘 要:介绍了电子汽车里程表,此里程表以8031单片机为核心,用LED数码管显示汽车总行驶里程、本次里程,具有结构简单、成本低廉、显示清晰、稳定可靠等优点.并且可进行扩充,加入时速表的功能,进一步节省汽车仪表成本.关键词:单片机;汽车里程表;存储器

中图分类号:TP 202

文献标识码:A

文章编号:1000-1565(2002)03-0276-03 单片机自从推出以来,以其超小型化、结构紧凑、可靠性高、成本低等优点被人们广泛接受,从而应用于工业、电讯、数据处理、仪器仪表等多方面.汽车里程表是汽车的重要配件,在汽车仪表中占重要位置,但几十年来其发展变化并不大,现在国外很多车中使用了数字里程表,但在国内还并不多见.这里讲述的是一种以8031单片机为核心,6位LED数码管作为显示器,再加上程序存储器2764,并以E2PROM 2817A为数据存储器,8279为显示芯片的数字汽车里程表.其通过按键开关可切换显示本次里程和总里程.2816,2817系列为E2PROM,其掉电信息并不丢失,并且数据可方便改写,利用此特性在其中存放汽车总里程数据.硬件设计

此汽车里程表以2764为程序存储器,8031单片机为CPU,此种单片机应用广泛且价格便宜.以74LS373为锁存器构成最小系统,数据存储器用的是一片E2PROM 2817A.显示电路由1片74LS138为译码器,两片7406,3片75451为驱动器,加上一片8279显示芯片组成.采用6位共阴极数码管.总里程最大值为999 999 km,本次里程最大显示为999.9 km,总里程与本次里程用8031 P3.0脚外接按键开关来切换.8031 P1.0脚外接点触式开关用以清零本次里程.显示器显示方式采用八字符右入动态显示.(结构示意图如图1所示)图1 汽车里程表结构

8031单片机外接8 MHz晶振作为外部时钟频率振 荡电路,由汽车磁电式传感器将汽车行驶时变速箱转数 转换成脉冲信号,接8031单片机INT1脚作为计数脉冲 输入.2 软件设计

软件设计在系统设计中占很大比重,好的软件环境 能使单片机硬件资源得以充分发挥,在软件编程时应注 重程序的结构化,以简化编码,方便调试.本汽车里程表

2817A为2K字节因此可使用几十年,远超汽车的使用年限,因此不必为其使用寿命而担心.本程序工作安全稳定,显示清晰,计数准确,精度较机械式汽车里程表提高一个数量级.而且本里程表还可在功能上进一步扩充,可将汽车时速表功能加入到系统中,进一步降低汽车仪表的成本.4)时速表的编程思想如下:里程表程序中,每计数1次,汽车行驶0.001 602 564 1 km,T0每10 ms中断1次,送显示,其中断100次时间为1 s,计算这1 s计数次数,乘3 600再乘0.001 602 564 1即可求出时速.公式为:时速=次数@5.769 2.此算法可精确到0.001位.然后将求得的时速送显示.时速表显示以P1.1及外接按键来控制,P1.1脚为高电平,P3.0为低电平时显示汽车时速.此时速表可显示到小数点后2位,精度较传统汽车时速表提高2个数量级.结构简单,汇编完后为713字节,占用程序空间少,用2716亦能胜任(采用2764主要为了方 便功能扩充).1)里程计数原理:汽车磁电式传感器输出的脉冲信号是传感器转轮旋转时磁场使舌簧管分开闭合而产生的脉冲.每一个脉冲代表行驶了一定的距离.设汽车行驶1 km时驱动轮转数为N,磁电式传感器转数为NF则NF= N@I,其中I为传动比.设轮胎外径为D,则汽车行驶1 km驱动轮转数为N=1 000/PD,实际中由于轮胎承载变形使得轮胎外径D变化,此时NXI=1 000/PLD,其中L为变形系数,一般为0.93~0.96.则磁电式传感器在汽车行驶1 km时转数NF=(1 000/PLD)I.设传感器转轮上均匀安排m个磁片时,汽车行驶1 km,传感器输出脉冲为mNF个.2)程序中以INT1的输入为里程计数脉冲,8031中断1置为高中断优先级以保证计数准确.定时器T0置为低中断优先级,设T0每10 ms中断1次,中断1次送1位显示.每行驶1 km向2817中写1次数据.3)以60H~62H单元为计数脉冲暂存单元.68H,69H单元为判断数据暂存单元,6CH中为本次里程小数点位数值.当6CH单元内容达到0AH时清零.70~72H单元为读出的总里程数.本程序包括主程序和2个中断服务程序,程序功能如下: 主程序:初始化,清零存储单元,读出总里程存入暂存单元,开CPU中断、置中断优先级,启动定时器,等 待中断.INT1中断服务程序:脉冲个数加1,判断是否小数点数值为0.1 km,判断是否行驶1 km.不是则返回.T0中断服务程序:判断是否显示总里程,显示方式初始化,显示里程数,返回.图2 系统流程

每经过1 km写1次2817,这样设计比隔一定时间写一次新数据要实用得多,这样在停车等待时8031停止写入总里程,从而大大延长了2817的使用寿命.并且由于2817A写入时间为几毫秒,远小于汽车行驶1 km所用时间,因此可对2817A的RAY/BUSY脚的状态不予理会,从而也简化了程序设计,且可使用2816达到同样功能而不必更改程序.汽车行驶过程中会向里和存储器频繁写入数据,假设汽车每天平均行驶1 000 km,即每天擦写1 000次.总里程共6位分配3个字节,则个位十位单元每天擦写1 000次,百、千位单元每天擦写10次,万、十万位单元10天擦写1次.根据E2PROM写入次数约为1万次的规定.如果给个、十位分配1 000个单元,可擦写30年,而百千位只需分配10个单元,万、十万位分配1个单元就够了.参 考 文 献: [1]马家臣,孙玉德,张 颖.MCS-51单片机原理及接口技术[M].哈尔滨:哈尔滨工业大学出版社,1996.[2]王义方,周伟航.微型计算机原理及应用(MCS-15系列单片机)[M].北京:机械工业出版社出版,1997.An Automobile Odometer Design Based on Single Chip Microcomputer LIU Qing_bo1,CAI Shu_zhen2,SUN Ye_qi2,SHI Nan3(1.Center of Computer,Baoding Teaching College , Baoding 071051,China;2.College of Physics and Technology,Hebei University,Baoding 071002,China;3.College of Electronic

and

Informational

Engineering,Hebei University,Baoding 071002,China)

Abstract:The article makes an introduction of an electron autormobile odometer whose core is/80310.The odometer can display the whole and any specific mileage by using a LED.It has the advantages of simple struc-ture,low cost ,clear display and reliable steadiness,etc.It can also be augmented to have the functions of a speed meter and so save the cost for other meters.Key words:single chip microcomputer;automobile odometer;memory(责任编辑:孟素兰)#278#河北大学学报(自然科学版)2002年

第二篇:里程表(一)教学设计范文

北师大版一年级下册

《观察物体》

看一看

(一)梁塘小学 陈梅

2017年5月

《观察物体》

看一看

(一)教学内容:

北师大版一年级下册第18-19页“看一看

(一)” 教学目标:

一、让学生经历观察的过程,体验到从不同的位置观察物体,所看到的形状是不一样的。

二、学会正确辨认从正面、侧面观察到的简单物体的形状,发展学生的空间观念和想象力。

三、在实践活动的过程中,让学生学会用眼睛去观察,用语言表述自己观察到的物体的形状。

四、发展学生的空间观念和合作意识,培养学生初步的辩证唯物主义思想。重点难点:

重点:能结合具体事物辨认从不同位置看到的物体形象。

难点:体验从不同角度看物体,看到的形状是不一样的。教具准备:

多媒体课件、芭比娃娃、玩具小兔、玩具相机、各种小物品。教学过程:

一、创设情景,故事导入

师:小朋友们,你们喜欢听故事吗?

师:老师今天给大家讲的故事叫做《盲人摸象》(幻灯片展示故事图片)(边展示边讲故事)

师:故事中的四个盲人对大象的描述正确吗?为什么?

学生反馈

师小结:四个盲人摸到的只是大象身体的一部分,所以他们说不出大象的全貌,这里就牵扯到观察物体的问题。今天我们一起来学习《观察物体》。

板书课题

二、在活动中探究新知

1、活动一:你来拍一拍

师:小朋友们,你们喜欢拍照片吗?老师这里有一个芭比娃娃,谁愿意当小摄影师,给芭比娃娃拍一张漂亮的照片?

请三名学生上前,分别站在芭比娃娃的前面、后面、右面准别拍照。

依次让每个学生自己描述一下自己站在当前位置所看到的图像是什么?然后拍照。师:你想知道他们拍的照片是什么样子的吗?

(课件出示三张图片)

师:请同学们仔细观察,让后说说你发现了什么?

(三张照片不一样)

师提问:“同一个芭比娃娃,为什么这三个同学拍出的照片不一样呢?”

(再次出示三张照片)

揭示拍照时三位同学所站的位置。

引导学生得出结论:从不同的方向观察同一个物体,看到的形状可能是不同的。

2、活动二:你来猜一猜(出示玩具小兔)

师:请一个同学上来站在小兔的后面进行观察。大屏幕出示三张不同角度小兔的照片,让下面的学生猜一猜他看到的是哪幅图。

换位置观察,再让下面的学生猜一猜。

三、联系实际 巩固新知

1、大家一起来观察

出示布娃娃、闹钟、小火车等生活中常见的小物品。请学生分组观察。

说一说:“你处在小物品的什么位置?你看到了什么?你和你对面的同学看到的图形是一样的吗?”

2、书包练习题 找学生来说一说

3、智慧老人练习题 找学生连一连

四、全课小结

师:在今天的活动中,我们从哪几个方向来观察物体的?

师:你还知道了什么?

五、课外延伸

师:请你回家后,找一个物体,从不同角度去观察,并把观察到的形状画下来,然后让爸爸妈妈猜一猜你观察的是什么物体。

板书设计

看一看

(一)正面 侧面 后面

观察的方向不同 看到的结果可能就不一样

第三篇:基于单片机的时钟控制器设计论文

单片机原理与应用技术课程设计报告

基于单片机控制的时钟控制器

专业班级: _电气XX班_ __ 姓

名:__ ___XXX__ ___ 时 间:2013/11/25~12/15 指导教师: XXXX XXX

2013年12月11日

基于单片机控制的时钟控制器课程设计任务书

1。设计目的与要求

设计出一个基于单片机控制的时钟控制器。通过向单片机输入不同的指令可以实现24小时制时钟的基本显示和连续的调时,调分和调秒的功能,同时又扩展了整点报时功能。该电路硬件较为简单、计时精度高、可控性好,可以随时调整和设定时间,并且调时间的误差小,操作简单、通用性强。

(1)基本功能

<1>、显示:可以显示时、分和秒

<2>、调时功能:时(0-24)、分和秒(0-60)可以连续可调(2)性能:时间日误差< 2秒(3)扩展功能 <1>.增加整点报时功能 <2>.增加闹钟任意设定功能 2.设计内容

(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出; 3.编写设计报告

写出设计的全过程,附上有关资料和图纸,有心得体会。4.答辩

在规定时间内,完成叙述并回答问题。

目录

摘要...................................................................1 1.引言................................................................1 2.设计目的和要求......................................................1 3.总体设计方案........................................................1 3.1 方案设计要求.......................................................1 3.2 方案设计与论证.....................................................1 3.3 整体设计框图.......................................................2 3.4 系统设计流程图.....................................................2 4.设计原理分析........................................................3 4.1 外接晶振电路..................................................3 4.2 复位电路...........................................................3 4.3 数码管显示电路.....................................................3 4.4 键盘控制电路.......................................................4 4.5 Proteus仿真电路....................................................4 4.6 单片机程序的编写...................................................5 4.7 电路的检测.........................................................5 4.8 CAD电路的连接及PCB电路布线并做出电路板............................5 4.9 软件与硬件的调试...................................................5 5.总结与体会..........................................................5 6.附录................................................................5 6.1 CAD电路连接图......................................................5 6.2 PCB电路布线图......................................................6 6.3 时钟控制器参考源程序...............................................6 7.参考文献...........................................................13

基于单片机控制的时钟控制器 班级:电气115班 姓名:赵传阳

摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点。本次设计的时钟控制器是以单片机(AT89C51)为核心,结合相关的元器件(3个2位共阳数码管,一个发光二极管和一个蜂鸣器)和应用程序(在Proteus软件和KEIL编译软件),构成相应的应用系统。

关键词:单片机 AT89C51 共阳数码管 发光二极管 蜂鸣器 Proteus软件 KEIL编译软件 中断

1.引言

随着科技的发展,电子技术得到了飞速的发展,尤其是单片机的应用更为普遍。单片机的应用已深入众多技术领域,从军事、工业到家庭日常生活,单片机因体积小、功能强、价格低廉而得到广泛应用。在此基础上,越来越多各式各样的时钟也逐渐走进我们的生活,它们设计精巧、方便、耐用、美观,深得各领域的厚爱。随着科技的进步,基于单片机控制的时钟控制器的出现则打破了人们对时钟的传统概念,因为数字时钟不仅可以通过数字直观地显示出时间,还可以定时发出各种声、光、电信号,以启动各种设备实现实时控制、时间顺序控制。该课程设计既有一般时钟的基本显示和调整功能,同时又增加了整点报时功能,复位功能及实时时钟控制功能。

2.设计目的与要求

设计出一个基于单片机控制的时钟控制器。通过向单片机输入不同的指令可以实现24小时制时钟的基本显示和连续的调时,调分和调秒的功能,同时又扩展了整点报时功能。该电路硬件较为简单、计时精度高、可控性好,可以随时调整和设定时间,并且调时间的误差小,操作简单、通用性强。

在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。

本文主要介绍用单片机为核心部件的时钟控制器,本设计由单片机AT89C51芯片和3个两位一体的共阳极的数码管为核心,辅以必要的电路,构成了一个单片机时钟控制器。基本要求:1.显示: 可以显示时、分和秒

2.调时功能:时(0-24)、分和秒(0-60)可以连续可调并进行校准 3.能够完成时间的显示、定时闹钟、整点报时及复位功能

3.总体设计方案

3.1.方案设计要求

设计制作一个时钟控制器,要求能实现基本走时,并以数字形式显示时、分、秒,采用24小时制,能实现校时、校分连续可调、整点报时功能、复位功能以及闹钟任意设定功能。3.2方案设计与论证

方案一:采用各种纯数字芯片实现数字时钟的设计。优点:各个模块功能清晰,电路易于理解实现。缺点:各个模块功能已定不能进行智能化调整,整体电路太庞大。

方案二:采用 FPGA模块用硬件语言实现功能。优点:运算速度快,走时精度高,算法简单。缺点:成本高,大材小用。

方案三:采用单片机最小系统实现功能。优点:电路简单,能通过程序进行随机调整并扩展功能,成本低,易于实现。缺点:走时有一定的误差。

经过综合考虑成本问题以及电路实现问题,选择第三种方案实现设计要求。3.3整体设计框图

整体设计框图如图1所示:

4.设计原理分析

4.1外接晶振电路

晶振连接电路图如图3,以12MHZ晶振为基准。

图3 外接晶振电路连接图

XTAL1、XTAL2:XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择,一般选用12MHZ晶振,电容取30PF左右。4.2复位电路

常用复位电路图如图4:

图4 复位电路连接图

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引:脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。4.3 数码管显示电路

二位一体共阳极数码管电路连接图如图5,以PNP三极管为驱动。

图5 数码管显示电路连接图

4.4 键盘控制电路

键盘控制电路如图6。

图6 时钟按键控制电路图

通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置,S0控制闹钟的启动和停止。按下S4键显示闹钟,松开后显示时间;按下S1键进入时间修改模式,再按S1键时间的时加1,按S3分加1,调整结束后按下S4恢复正常显示;按下S2键进入闹钟修改模式,再按S3键闹钟的时加1,按S3分加1,调整结束后按下S4恢复正常显示。在按键按下和放开时会出现抖动现象。通过延时程序,可以进行去抖动设计。4.5 Proteus仿真电路

整体电路连接图如图7:

图7 整体电路连接图

4.6 单片机程序的编写

用KEIL编译软件进行程序的设计、编译并生成可执行文件。4.7 电路的检测

电路连接完毕后,应用单片机程序烧录工具进行程序烧录,然后单击运行按钮进行仿真,检测电路是否有误。

4.8 CAD电路的连接及PCB电路布线并做出电路板

待仿真电路检测无误后,则通过CAD软件进行电路图的连接并对元件进行封装,确定无误后生成PCB图进行电路的布线,之后做出电路板进行元件的焊接。4.9 软件与硬件的调试

单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软件或硬件故障。

软件调试是指用仿真软件进行仿真调试,验证系统的各项功能;硬件调试即软件调试成功后,将程序下载至AT89C51芯片中,用焊接好的电路来进行各项功能的验证与检测。

需要特别注意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是最真实的。

5总结与体会

经过三周的实习设计,我设计的时钟控制器实现了它最基本功能,三个星期的紧张实习,让我获益非浅,更加熟练的掌握了Proteus软件、KEIL软件及CAD软件的应用,使我看到了自己专业知识的浅薄与不足。通过本次的课程设计,我对单片机这门课程有了更深的了解,单片机课程设计则是人生课程,我学到了很多课堂上无法学到的东西,懂得了学习的不容易,在以后的学习中我会更加努力的去学习和研究,以取得更好的成绩。

6.附录

6.1 CAD电路连线图如图8。

图8 CAD电路连接图

6.2 PCB电路布线图如图9。

图9 PCB布线电路图(注:未连线的端口用外接线连接)

6.3 时钟控制器参考源程序

使用keil软件编写源程序 ORG 0000H LJMP START ORG 000BH LJMP TIME;********初始化********* START: MOV SP, #50H MOV 20H,#00H;定义秒

MOV 21H,#00H;定义分 MOV 22H,#00H;定义时

MSTOP1: MOV C,P1.3;P1.3为0时转移 JNC MSTOP1 LCALL DELAY1;延时

MOV A,50H

INC 50H

CJNE A,#00H,HJ1

LJMP L0 HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H;小时自加一 MOV A,22H CJNE A,#18H,GO12;MOV 22H,#00H;MOV 34H,#00H MOV 35H,#00H LJMP L0 L1: JB P1.1,L2;P1.1=1 MOV C,P1.1 JC L1 LCALL DELAY1;JC L1 MSTOP2: MOV C,P1.1 JNC MSTOP2 LCALL DELAY1;MOV C,P1.1 JNC MSTOP2 INC 21H;MOV A,21H CJNE A,#3CH,GO11;MOV 21H,#00H;MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB MOV 32H,B;MOV 33H,A;LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B;MOV 35H,A;LJMP L0 L2: JB P1.0,L0;P1.0 MOV C,P1.0 JC L2 LCALL DELAY1;MOV C,P1.0 JC L2 STOP1: MOV C,P1.0 JNC STOP1

小时计数循环

复位 时转移 延时;P1.1=0时转移 延时 分钟加一 分钟计数循环 复位 将A的低4位存入32单元 将A的高4位存入33单元 将A的低4位存入34单元 将A的高4位存入35单元=1时转移 延时;P1.0=0时转移

LCALL DELAY1;延时 MOV C,P1.0 JNC STOP1

MOV 50H,#00H LJMP MAIN;*******设置闹钟******* SETATIME:LCALL DISPLAY2;调用DISPLAY2显示闹钟 N0: LCALL DISPLAY2 MM2: JB P1.2,N1;P1.2=1时转移 MOV C,P1.2 JC MM2 LCALL DELAY1;JC MM2 MSTOP3: MOV C,P1.2 JNC MSTOP3 LCALL DELAY1;

LJMP N0 HJ2: MOV C,P1.2 JNC MSTOP3 INC 24H;MOV A,24H CJNE A,#24,GO22;MOV 24H,#00H;MOV 38H,#00H MOV 39H,#00H LJMP N0 N1: JB P1.1,N2;P1.1 MOV C,P1.1 JC N1 LCALL DELAY1;JC N1 MSTOP4: MOV C,P1.1 JNC MSTOP4 LCALL DELAY1;MOV C,P1.1 JNC MSTOP4 INC 23H;MOV A,23H CJNE A,#60,GO21;MOV 23H,#00H;MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21: MOV B,#0AH DIV AB MOV 36H,B;MOV 37H,A;LJMP N0

延时 =0时转移 延时 小时加一 小时计数循环 复位 =1时转移 延时 =0时转移 延时 分钟加一 分钟计数循环 复位 将A的低4位存入36单元 将A的高4位存入37单元

;P1.2 MOV A,50H INC 50H CJNE A,#00H,HJ2;P1.1

GO22: MOV B,#0AH DIV AB MOV 38H,B;将A的低4位存入38单元 MOV 39H,A;将A的高4位存入39单元 LJMP N0 N2: JB P1.0 ,N0;P1.0=1时转移 MOV C,P1.0 JC N2 LCALL DELAY1;延时 MOV C,P1.0 JC N2 STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 JNC STOP2

MOV 50H,#00H LJMP MAIN;*******闹钟判断***************** TIMEPRO: MOV A,21H MOV B,23H CJNE A,B,BK;判断定时闹钟的分钟 MOV A,22H MOV B,24H CJNE A,B,BK;判断定时闹钟的小时 SETB 25H.0 MOV C,25H.0 LCALL TIMEOUT;调用TIMEOUT BK:RET;**************喇叭报警***************** TIMEOUT: X1: LCALL BZ;调用喇叭响应程序 CLR 25H.0;调用喇叭响应程序结束 LCALL DELAY;延时 CLR 25H.0 LJMP DISPLAY1 BZ:MOV C,25H.1 MOV P1.6,C CLR P1.7 MOV R7,#0FFH;喇叭响应时间 T2: MOV R6,#0FFH T3: DJNZ R6,T3 DJNZ R7,T2 SETB P1.7 RET;*************显示闹钟时间************ LOOKATIME:LCALL DISPLAY2 MM: JNB P1.0,LOOKATIME LCALL DELAY1 LJMP MAIN DELAY1: MOV R4,#14H;时间延时

0

POP ACC RETI;********显示子程序********** DISPLAY1: MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,@R0;取要显示的数据 MOV DPTR,#DSEG1;指向字形段码首地址 MOVC A,@A+DPTR CJNE R0,#34H,PA ORL A,#80H PA:CJNE R0,#32H,PB ORL A,#80H PB:CPL A;MOV P0,A;LCALL DL1 MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD1 INC R0;MOV R3,A LJMP PLAY1 LD1: RET DISPLAY2: PUSH ACC;PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3

PLAY2: MOV P2,A MOV A,@R0;MOV DPTR,#DSEG1;MOVC A,@A+DPTR CJNE R0,#38H,PP ORL A,#80H PP:CPL A;MOV P0,A;LCALL DL1;MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD2 INC R0;MOV R3,A LJMP PLAY2;LD2: POP PSW POP ACC;RET;******DELAY*******

查表取字形段码 指向P0口 判断是否显示到最低位 左移一位 缓冲器地址加一 保护现场 取要显示的数据 指向字形段码首地址 查表取字形段码 指向P0口 调用DL1 判断是否显示到最低位左移一位 缓冲器地址加一 调用PLAY2 恢复现场

DL1: MOV R7,#20H DL: MOV R6,#20H DL6: DJNZ R6,$ DJNZ R7,DL RET DSEG1: DB 3FH,06H,5BH,4FH,66H;七段码表 DB 6DH,7DH,07H,7FH,6FH END 7.参考文献

[1].王建校,杨建国.51系列单片机及C51程序设计.北京:科学出版社, 2002.[2].吴金戊, 沈庆阳等.8051单片机实践与应用.北京:清华大学出版社, 2002.[3].李建忠.单片机原理及应用(第二版).西安:西安电子科技大学出版社, 2008.2.[4].张毅刚.新编MCS-51单片机应用设计(第3版).哈尔滨: 哈尔滨工业大学出版社, 2006.10.[5].李学礼.基于Proteus的8051单片机实例教程.电子工业出版社出版时间, 2008.6.[6].百度文库:http://wenku.baidu.com/view/a9243c18fad6195f312ba6d3.html

第四篇:单片机课程论文设计-电子钟课程设计

单片机课程论文设计 ——电子钟

一 课程设计的主要内容 1 设计思想 1.1硬件设计思想 1.1.1电路设计思想

电路原理图见图1,由动态数码显示组成时、分、秒的显示。把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中S-S8端口上;“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上。

1.1.2键盘设计思想

键盘是微机的主要设备,按键的读取容易引起错误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms.1.2软件设计思想

本系统的主程序主要完成时间显示和修改时间的功能。而时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。

1.2.1数据与代码转换

由前述可知,从P2口输出位选码,从P0口输出段选码,LED就会显示出数字来。但P0口的输出的数据是要BCD码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码行转换后,将各个单元数据的段选代码送入P0口,给CD4511译码后去驱动数码管显示。具体转换过程如下:

我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位 的BCD码,再放回A中,然后将A中的值输出。如:有一个单元存储了45这样一位数,则需转换成四位的BCD码:(0100)(0101)然后放入A中。A中BCD码,高位四位代表¡4¡低四位代表¡5¡同时送给两个译码器中,译码后¡ 45¡ 字就在两个LED中显示出来。

1.2.2计时功能的实现与中断服务程序

时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位。得到时、分、秒存储单元的值,并经译码后,通过扫描程序送LED中显示出来,实现时钟计时功能。累加是用指令INC来实现的。进入中断服务程序以后,执行PUSH PSW和PUSH A将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的¡ 保护现场¡.以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循¡ 后进先出¡ 的原则。

1.2.3时间控制功能与比较指令

系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入RAM某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR指令,将对应的那路P3置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3置低电位,二极管截止。实现此控制功能用到的比较指令为CJNE A,#direct,rel,其转移条件是累加器A中的值与立即数不等则转移。

二 课程设计的目的

实现的功能:

①开机时,电子钟从12:00:00开始自动计时。②设置按键,能对时、分、秒进行调整。

三设计方案的论证

3.1电路原理与电路图 3.1.1电路原理

电路原理图见图1,由动态数码显示管组成时、分、秒的显示。P0口的8条数据线P0.0至P0.7分别与两个CD4511译码的ABCD口相接,P2口的P2.0至P2.2分别通过电阻R10至R13与VT1至VT3的基极相连接。这样通过P0口送出一个存储单元的高位、低位BCD显示代码,通过P2口送出扫描选通代码轮流点亮LED1至LED6,就会将要显示的数据在数码管中显示出来。从P0口输出的代码是BCD码,从P2口输出的就是位选码。这是扫描显示原理。

电路原理图

C130pFU1X119CRYSTAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617S-0S-1S-2S-3S-4S-5S-6S-7C230pFXTAL2R210kR310kR410kR110k9RSTC310uF293031PSENALEEARP1987654321RESPACK-***78P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51时分秒S-7S-6S-5S-4S-3S-2S-1S-001234567

图 1 电路原理图

3.2 流程图与算法描述 3.2.1流程图

3.3软件设计

SECOND

EQU 30H;MINITE EQU 31H;HOUR

EQU 32H;HOURK

BIT P0.2 MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 48H 流程图

秒寄存器

分寄存器

時寄存器 图

T2SCNTA

EQU 49H

T2SCNTB EQU 4AH TEMP

ORG 00H;

程序执行开始EQU 4BH 地址

LJMP

START;

执行

ORG

0BH;T0

LJMP

INT_T0;

;主程序

START: MOV

SECOND,#00H;

得单元

MOV

MINITE,#00H

MOV

HOUR,#12

MOV

DISPBIT,#00H

MOV

T2SCNTA,#00H

MOV

T2SCNTB,#00H

MOV

TEMP,#0FEH

LCALL

DISP;

子程序

MOV

TMOD,#01H

MOV

TH0,#(65536-2000)/ 256;

MOV

TL0,#(65536-2000)/ 256

SETB

TR0;

SETB

ET0;

SETB

EA;

WT:

跳转到标号START

中断程序入口

跳至IN-T0执行

清0存放秒分时值

在2KB范围内长调用 显示2毫秒

允许TO中断

开启T0定时器

总中断开放

按键扫描子程序及校时调整

JB

SECONDK, NK1;SECONDK为1(sp1建按下)时跳到

LCALL

DELY10MS

JB

SECONDK,NK1

INC

SECOND;

对计数器加1

MOV

A,SECOND

CJNE

A,#60, NS60;沒到60秒返回,到60秒清0;判断计数器是否满59

MOV

SECOND,#00H NS60:

LCALL

DISP

JNB

SECONDK,$;

NK1: JB

MINITEK,NK2;

LCALL

DELY10MS

JB

MINITEK,NK2;

INC

MINITE

MOV

A,MINITE

CJNE

A,#60, NM60

MOV

MINITE,#00H NM60:

LCALL DISP

JNB

MINITEK, $;

NK2:

JB

HOURK,NK3

LCALL

DELY10MS

JB

HOURK,NK3

INC

HOUR

MOV

A, HOUR

CJNE

A, #24,NH24

MOV

HOUR,#00H

不满60秒就循环执行 分控制键按下时跳转

分控制键按下时跳转

不满60分就循环执行

NH24:

LCALL

DIS

JNB

HOURK,$;

不满24小时就循环执行

NK3 LJMP

WT DELY10MS:;

延时1毫秒的子程序

MOV D1:

MOV

;显示子程序

DISP:

;

地址

MOV

ADD

DEC

MOV

MOV

MOV

DIV

MOV

DEC

MOV

MOV

DEC

MOV

MOV

DEC

MOV R6, #10 R7, #248 DJNZ

R7, $ DJNZ

R6, D1 RET

A, #DISPBUF;

A, #8 A R1, A A, HOUR;

B, #10;

AB @R1, A;

R1 A, B @R1, A R1;A, #10 @R1, A R1 A, MINITE;

将得出的时间存入40H(DISPBUF)之后的将temp中的十六进制数转换成10进制 時送A

10进制/10=10进制 累加器送内部RAM单元

分送A

MOV B, #10

DIV

AB;

十進制調整

MOV @R1, A

DEC

R1

MOV

A, B

MOV

@R1, A

DEC

R1

MOV

A, #10

MOV

@R1,A

DEC

R1

MOV

A, SECOND;

MOV

B, #10

DIV

AB;

MOV @R1, A

DEC

R1

MOV A, B

MOV @R1, A

DEC

R1

RET INT_T0:;T0

MOV TH0,#(65536-2000)/ 256;

MOV TL0,#(65536-2000)/ 256

MOV A, #0FFH

MOV P3, A

MOV A, #DISPBUF

ADD

A, DISPBIT;

MOV R0, A

MOV A, @R0;

MOV DPTR, #TABLE;

MOVC A,@A+DPTR;

秒送A

十进制调整 TIME子程序 2毫秒 地址加,并将时间的各位送到p1 取显示数据到A 取段码表地址

查显示数据对应段码

中断服务子程序,即计时

MOV

P1, A;

分十位送P1口显示

MOV

A, DISPBIT

MOV

DPTR, #TAB;

表地址送数据指针

MOVC A,@A+DPTR

MOV

P3, A

INC

DISPBIT

MOV A, DISPBIT

CJNE A, #08H, KNA

MOV

DISPBIT, #00H KNA:

INC

T2SCNTA;

MOV A, T2SCNTA

CJNE

A, #100, DONE

MOV T2SCNTA, #00H

INC T2SCNTB

MOV A, T2SCNTB

CJNE A, #05H, DONE

MOV T2SCNTB,#00H

INC

SECOND;秒加一

MOV A, SECOND;

CJNE A, #60, NEXT;

MOV SECOND, #00H;

INC

MINITE;分加1

MOV A, MINITE;

CJNE A, #60, NEXT;

MOV

MINITE, #00H;

INC

HOUR;

時加1

MOV A, HOUR

CJNE A, #24, NEXT;

MOV

HOUR, #00H

时间的增加与进位 到60秒了吗? 到60秒清0 到60分了吗? 到60分清0 到24小時了吗?

NEXT:

LCALL

DISP DONE:

RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB:

DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07F

四 系统调试

系统由AT89C51、SEG数码管、按键、电容、晶振、电阻等部分构成,能实现时间的调整、时间校对、定时时间的设定,输出等功能。系统的功能选择由按键‘时’、‘分’、‘秒’、完成。开机时,显示12:00:00的时间开始计时;按键P0.0/AD0控制“秒”的调整,每按一次加1秒;P0.1/AD1控制“分”的调整,每按一次加1分;P0.2/AD2控制“时”的调整,每按一次加1个小时;系统的主程序主要完成时间显示和定时输出判断功能。而时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。该电子钟的精确度在仿真软件中效果良好。

五 心得体会

计算机控制技术是一门很综合的课程。任何一个计算机系统都是一个复杂的整体,学习计算机控制技术是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,灵活知识运用,具体地说,在了解了计算机编程后,剩下的是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

这次课程设计较为综合,主要的困难来自对程序的编写和校对,功夫不负有心人,经过我的虚心求学和查找资料,最终对实验的原理有了较清晰的认识。但是仍然存在很多的不足,今后需要加强的地方还是很多,所以在今后的求学路上我会更加努力。望老师批评改正。

六 参考文献:

[1].潘新民,王燕芳编著.微型计算机控制技术[M].北京:电子工业出版社,2003 [2].何立民.单片机应用技术选编(1)[M].北京:北京航空航天大学出版社,1995,6 [3].刘国荣,梁景凯.计算机控制技术与应用[M] .北京:机械工业出版社,1999,5 [4].齐维毅,丁言镁,齐振国.单片机原理及应用设计实验[M] .沈阳:辽宁大学出版社,2006,5 [5].李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993,8 [6].潘新民,王燕芳编著.单片微型计算机实用系统设计[M].北京:人民邮电出版社,1992

第五篇:51单片机论文

课程设计报告

课程设计名称:智能控制避障小车 学生姓名: 班

级: 学

号: 成 绩: 指导教师:

开课时间:2016-2017学年第 一学期

I

独 创 声 明

本人声明所呈交的课程设计是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含未获得(注:如没有其他需要特别声明的,本栏可空)或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在设计报告中作了明确的说明并表示谢意。

作者签名: 日期:年月日

II

摘 要

介绍一种基于stc89c51单片机实现的智能避障小车设计。该系统前方采用两个红外反射式光传感器fc-51检测障碍物,控制系统通过检测信号识别障碍物并发出指令使小车绕行。

关键词:智能 控制 避障 单片机III

传感器

目录

(以下内容仅供参考).系统功能………………………………… 系统工作原理

2.设计方案……………………………………………………………… 2.1车体设计………………………………………………………………… 2.2电源模块………………………………………………………………… 2.3 避障模块………………………………………………………………… 2.4电机模块………………………………………………………………… 2.5电机驱动模块…………………………………………………………… 2.6 最终方案………………………………………………………………… 3 系统程序……………………………………………………………………….总结………………….参考文献…………………

IV.系统功能

系统工作原理:

系统主要由控制单元、电机驱动、外部输出、红外发射、红外接收等单元组成。

图1 系统机构图

智能控制避障小车的设计采用现在较为流行的8位单片机作为系统大脑。以8051系列家族中AT89C51为主芯片。4个端口引脚控制信号输入电路,控制电路,执行电路共同完成避障行驶控制。

2.设计方案 1车体设计:

智能控制小车采用中间轮驱动,中间轮左右两边各一个电机驱动,控制中间面两个大轮子的停走从而控制小车的方向;前后轮是换向轮起支撑作用。将两个避障模块放在车子的左前方和右前方。如下图所示:

小车底盘,可以清楚的看到小车电机控制车轮,以及换向轮所在位置。

上图可以看出小车电源最小系统板还有排针以及开关的位置。

从小车正面看出内部驱动,前方的避障模块。(超声波检测,寻迹模块)

2电源模块:

电源模块即电池与电池盒,通过电池盒接通电路,输送电源来驱动小车跑。避障模块:

传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。

4电机模块:

电机模块主要控制小车的中间两轮,从而控制小车的前进与后退。

控制电机的转速也能控制小车的前进速度。电机驱动模块:

电机驱动模块使用ST公司的L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。

电机驱动模块可以使用内置的78M05通过驱动电源部分取电工作,但是为了避免稳压芯片损坏,当使用

大于12V驱动电压的时候,我们使用外置的5V逻辑供电。

电机驱动模块使用大容量滤波电容,续流保护二极管,可以提高可靠性

原理图 最终方案:

利用驱动模块降压,接通51单片机,通过程序控制小车运动,通过避障改变运动轨迹,从而实现避障。.系统程序

程序: #include #define uchar unsigned char

#define uint unsigned int //定义全局变量

sbit IN1=P1^0;sbit IN2=P1^1;sbit IN3=P1^2;sbit IN4=P1^3;//定义驱动引脚

sbit out1=P2^5;sbit out2=P2^6;//定义避障引脚

void run()

//小车跑

{

if(out1==0&&out2==1)//小车右转

{

IN1=1;

IN2=0;

IN3=0;

IN4=0;

}

else if(out1==1&&out2==1)//小车前进

{

IN1=1;

IN2=0;

IN3=1;

IN4=0;

}

else if(out1==1&&out2==0)//小车左转

{

IN1=0;

IN2=0;

IN3=1;

IN4=0;

} else if(out1==0&&out2==0)//小车左后转

{

IN1=0;

IN2=1;

IN3=0;

IN4=0;

} } void main()

//主函数

{ while(1)

{

run();

} } 改程序是利用避障模块检测,若左边避障检测到,小车右转,右边检测到,小车左转,都没检测到,前进,都检测到,小车左后退。.总结

智能避障小车软硬件配合要紧密,在硬件中,要把各个零件配合时要连接正确,否则有烧坏的可能,写程序时要注意步骤,要有思路,程序代码要记清,写程序时要认真,避免出现小失误。从做这辆小车以来,我学到了很多知识,也碰到了很多困难,但最终都克服了,只要有一颗不服输的心,我想信,困难只是暂时的,最后都会解决。.参考文献

[1]郭惠,吴迅 单片机 c语言程序射进完全自学手册[M] 电子工业出版社,2008.10.1-200 [2]王东锋,王会良,董冠强 单片机c语言应用100例[M] 电子工业出版社,2009.3.145-300 [3]韩毅,杨天,基于HCS12单片机的智能寻迹模型车的设计与实现[j] 学术期刊,2008,29(18):1535-1955

下载知网论文  基于单片机的汽车里程表设计word格式文档
下载知网论文 基于单片机的汽车里程表设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    单片机课程设计论文

    目录题目:巡回检测报警控制系统第一章 实验任务及要求............1功能描述................2元件选择....... ................2第二章系统总体设计方案................3......

    关于单片机水温控制系统设计的论文5则范文

    1温度控制系统概述工业生产中对于温度控制的需求是十分严格的,大量的锅炉、加热炉以及家用电器,如热水器、电水壶等对于温度控制都有需求。如果温度控制不精准,小则出现浪费资......

    三年级数学《里程表(二)》教学设计

    三年级数学《里程表(二)》教学设计 里程表(二)教学设计教学目标:1、结合汽车里程表,经历解决问题的过程,提高解决问题的能力。2、借助直观图和线段图帮助学生理解起点非0的有关里程......

    里程表的教学设计[五篇范例]

    教学目标1、巩固万以内加减法、连加、连减混合的计算方法,能正确计算。3、激发学生热爱数学、热爱祖国的的情感,体会数学与生活的密切联系。4、熟悉里程表的概念,知道怎么计算......

    单片机设计心得

    四周的毕业设计结束了,在这次的毕业设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们......

    单片机导游应用论文

    文 章来源莲山 课件 w w w.5Y k J.Com 7 凌阳单片机在电子导游器中的应用是小柯论文网通过网络搜集,并由本站工作人员整理后发布的,凌阳单片机在电子导游器中的应用是篇质量较......

    开题报告-基于单片机的汽车超速报警系统设计

    开题报告电气工程及自动化基于单片机的汽车超速报警系统设计一、综述本课题国内外研究动态,说明选题的依据和意义随着我国改革开放的继续深入以及国家经济战略的实施下,我国的......

    单片机步进电机控制系统设计论文[5篇范例]

    1单片机的步进电机控制系统硬件设计1.1LED和键盘设计为了能够实现人与机器的对话,单片机的步进电机控制系统设计了3*4键盘以及4*8LED数码管,人们可以直接对其进行控制。该系统......