当前位置:文档之家› 以智能速度里程表为主的多功能系统设计

以智能速度里程表为主的多功能系统设计


详细完整的程序清单及注释
ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 001BH LJMP INTT1 ORG 0100H MAIN: MOV SP,#10H SETB IT0 SETB EA SETB ET1 MOV TMOD,#10H MOV TL1,#0B0H
3、具体课题:
本题属于多功能任务设计,基于本实验室所提供的电路模板,具体 题目为:以智能速度里程表为主的多功能任务设计;
课题名字的多功能任务的含义是:要求所设计的电路和程序必须实 现4个功能,电路提供四个按键,要求同学们能编写、调试对应的键盘 扫描子程序,从而实现,当按下A按键,实现蜂鸣器或继电器动作,当 按下B按键,实现LED流水灯(循环显示),当按下C按键,实现数码管 动态扫描显示(显示内容可以自己确定),前3个功能,对于每个课题 都是相同,只有最后一个按键不同,其功能取决于所选课题名称,即当 按下D按键,要求实现相应课题的最主要的功能,例如,对于“以智能 温度计为主的多功能任务设计”的课题,当按下该课题所对应的D按 键,就要实现显示温度的功能,其余类似。
显示电路中,首先判断速度里程切换按钮是否按下,没按下则由数 码管显示31H~34H的内容,即里程数。若按下,则显示20H~23H的内容, 即速度。 五、硬件系统参数选择 在本次设计中,各端口设置如下: P0:数码管段选位
P1:低四位为数码管片选位 高四位为开关控制位
P2:流水灯控制位 P3:P3.2为外部中断0入口位
设置高电平时间 将P3.7置一
返回主程序 设置地电平时间
将P3.7清零 循环是否结束
延时 图8 扬声器程序流程图
. . .
初始化
开始
置P2.0为低电平 延时0.5秒
返回主程序 置P2.2为低电平 置P2.7为低电平
延时0.5秒 置P2.7为高电平
图9 彩灯循环显示流程图
. . .
初始化 设置片选,数码管4工作
3.3.4数码显示电路 显示电路是系统人机接口的重要组成部分。 该系统中采用动态显示的方法来驱动四位数码管显示。数码管为共
阳型,所以字形段码为阴码。显示驱动电路如图所示。
Rf=330Ω 图6 数码管显示电路
按照单片机输出端口与数码显示管的连接关系,对应着显示内容的 形状,计算字形编码如下表所示。
显示 字形
《单片机原理及应用》课程设计报告
课题:以智能速度里程表为主的多功能系统设

班级 电气3072 学号 3072110237
学生姓名
虞光远
指导教师 李洪海 严石 段卫平
淮阴工学院 电子与电气工程学院
一、课程设计目的
《单片机原理及应用》课程设计是一项重要的实践性教育环节,是 学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指 导下,运用工程的方法,通过一个简单课题的设计练习,可使学生通过 综合的系统设计,熟悉应用系统的设计过程、设计要求、完成的工作内 容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充 实和综合运用所学知识解决实际问题的目的。
通过课程设计,应能加强学生如下能力的培养: (1) 独立工作能力和创造力; (2) 综合运用专业及基础知识,解决实际工程技术问题的能力; (3) 查阅图书资料、产品手册和各种工具书的能力; (4) 工程绘图的能力; (5) 编写技术报告和编制技术资料的能力。
二、设计要求
1、总体要求
(1) 独立完成设计任务 (2) 绘制系统硬件总框图 (3) 绘制系统原理电路图 (4) 制定编写设计方案,编制软件框图,完成详细完整的程序清单
3.3单元电路设计
3.3.1按键电路
图3 按键电路
由于本系统中按键数量较少,且单片机的I/O口相对富余,使用独 立式键盘。同样,由于单片机高电平输出能力比低电平输出能力弱,使 用如图所示的按键电路。
读按键前,先将端口设置为高电平。此时,单片机内部由一个MOS
管作为上拉电阻,在按键没被按下时,单片机端口人保持高电平;当按 键被按下后,单片机I/O口被强行接地,变为低电平。
P3.3为速度里程切换显示开关位 P3.7为扬声器控制位 六、软件设计
在主程序中用到了五条汇编语言指令:CLR、ACALL、SETB、LJMP、 END。 CLR: 是将其后面指定的位清为0,程序中使对应端口输出低电平 CALL:是子程序调用指令,程序中调用了DELAY延时子程序 SETB:是将其后面指定的位置成1,程序中使对应端口输出高电平 JMP:是跳转指令,意思是:跳转到指定的标号处继续运行 END: 是程序结束的伪指令,意思是告诉编译器,程序到此结束。伪指 令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执 行。
软件编程是本次工程实践的重要环节。在为期两周的工程实践中,
将占据主要时间,学生要完成的软件编程任务主要包括以下几点: 1)、熟悉Keil C51编程平台及Proteus 仿真; 2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联
调; 3)、编写、调试LED流水灯(循环显示)程序并进行软硬件联调; 4)、编写、调试键盘扫描子程序并进行软硬件联调; 5)、编写、调试数码管动态扫描程序并进行软硬件联调 。
数码管有共阳和共阴之分,可用静态显示,也可用动态显示。静态 显示,原理简单,容易编程,但电路复杂占用的资源较多。动态显示电
路,控制较难,但电路简单,在资源紧张时是首选。这里用的是动态显 示。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之 一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g, dp"的同名端连在一起。
L
H
H
H
H
H
L
H
H
H
H
H
H
H
H
L为低电平,对应显示段亮;H为高电平,对应显示段灭。
D (Px.1)
L H L L H L L H L L H L H H
E (Px.0)
L H L H H H L H L H H L L H
阴码
0x14 0xD7 0x4C 0x45 0x87 0x25 0x24 0x57 0x04 0x05 0x0F 0x2C 0xEE 0xFF
按键电路中由于单片机内部MOS管有微弱的上拉作用,所以外部硬 件可以不接上拉电阻。 3.3.2流水灯电路
流水灯由单片机的P1口控制。考虑到单片机I/O口高电平驱动能力 弱而低电平驱动能力强的特点以及系统功耗大小,采用如图所示的电 路。
现由P1口低电平驱动发光二极管发光。
单片机P1口 图4 流水灯显示电路
设计中,由P1.0~P1.3口控制数码管的片选,由P0口控制数码管的段 选。当KEY3按下后,分别让4个数码管显 示“1”,“2”,“3”,“4”,即当P1.0~P1.3分别为高电平时, 将“F9H”、“A4H”、“B0H”、“99H”分别赋给P0口,显示的时间间 隔是2毫秒。对于人来说,已经无法分辨数码是否是轮流点亮的。 4.3.4智能速度里程表的设计
表2 显示字形对应驱动阴码计算表
只要在段码输入端输入对应的阴码,再从DR1-DR4的位码信号中给 出要显示内容的数码管的选择信号,便可在对应的数码管中按对应段码 显示内容。
R13-R20为限流电阻。三极管饱和开通时,集电极-发射极之间电
压,数码管的压降,数码管的工作电流。则限流电阻可这样计算获
得:。现取。
设置片选,数码管1工作
开始 对P2赋值 返回主程序 延时2毫秒 对P2赋值
延时2毫秒
图10 数码管动态显示流程图
Y Y
N N KEY是否按下?
Y
开始 里程数加一 返回主程序 定时时间到? 是否有外部中断?
Y N 显示速度 显示里程
里程数送速度
图11 速度里程表程序流程图
4.3各模块软件设计
4.3.1扬声器电路的设计 本次设计中,设计扬声器产生简单的“嘟嘟”声。只需在P3.7口输
本次设计中,假设车轮周长为一米,再P3.2口加一个方波信号,模 拟车轮滚动。当产生一个下降沿(车轮滚动一圈),就产生一次外部中 断。
30H~34H记录的是里程,分别对应米,十米,百米,千米,万米。 当产生一次外部中断,里程数就加一。
40H~43H记录的是单位时间内所走过的里程,即速度。当产生一次 外部中断,里程数加一。当产生一秒的时间中断,就把40H~43H的内容 赋给20H~23H锁存。
字型 0 1 2 3 4
共阳极段码
字型
C0H
5
F9H
6
A4H
7
B0H
8
99H
9
表1数码管动态显示接口地址
共阳极段码 92H 82H F8H 80H 90H
3.2 硬件原理电路图
图2 硬件原理电路图
本设计中所用的单片机型号为AT89C52 ,其主要特性为: 1)有CHMOS工艺的节能运行方式 2)兼容MCS51指令系统 3)3个16位可编程定时/计数器中断 4)2个串行中断 5)2个外部中断源 6)2个读写中断口线 7)低功耗空闲和掉电模式 8)8k可反复擦写(>1000次)Flash ROM 9)256x8 bit内部RAM 10)时钟频率0-24MHz 11)可编程UART串行通道 12)共6个中断源,3级加密位 13)软件设置睡眠和唤醒功能
和注释; (5) 制定编写调试方案,编写用户操作使用说明书
(6) 写出设计工作小结。对在完成以上文件过程所进行的有关步 骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分 析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经 验教训,总结收获和今后研修方向。
2、具体要求
本次工程实践主要以单片机为基础,进行单片机软件编程,目的是 为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部 分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理 和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所 即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错 误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原 因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分 析、判断能力。
相关主题