单片机课程设计--对外部脉冲计数及出租车计费系统的设计

上传人:大米 文档编号:560385380 上传时间:2023-06-25 格式:DOC 页数:18 大小:353KB
返回 下载 相关 举报
单片机课程设计--对外部脉冲计数及出租车计费系统的设计_第1页
第1页 / 共18页
单片机课程设计--对外部脉冲计数及出租车计费系统的设计_第2页
第2页 / 共18页
单片机课程设计--对外部脉冲计数及出租车计费系统的设计_第3页
第3页 / 共18页
单片机课程设计--对外部脉冲计数及出租车计费系统的设计_第4页
第4页 / 共18页
单片机课程设计--对外部脉冲计数及出租车计费系统的设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机课程设计--对外部脉冲计数及出租车计费系统的设计》由会员分享,可在线阅读,更多相关《单片机课程设计--对外部脉冲计数及出租车计费系统的设计(18页珍藏版)》请在金锄头文库上搜索。

1、湖南工业大学课 程 设 计资 料 袋 电气与信息工程 学院系、部 2021 2021 学年第 1 学期 课程名称 单片机应用系统 指导教师 周汝 职称 讲师 学生姓名 何武 专业班级 自动化092 学号 题 目 对外部脉冲计数及出租车计费系统的设计 成 绩 起止日期 2021 年 12 月 19 日 2021 年 12 月 30 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书2课程设计说明书3课程设计图纸张456 湖南工业大学课程设计任务书2021 2021 学年第 1 学期 学院系、部 专业 班级课程名称: 单片机应用系统 设计题目: 对外部脉冲计数及出租车计费系统的设计

2、完成期限:自 2021 年 12 月 19 日至 2021 年 12 月 30 日共 2 周内容及任务11 外部脉冲自动计数,自动显示。111设计一个255计数器:0255计数,计满后自动清0,重新计数在数码管中显示。112设计一个50000计数器:050000计数,计满后自动清0,重新计数在数码管中显示。12 设计一个出租车计费系统: 起步价为5元2km以内,2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱角,元,十元,百元注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下

3、载到单片机实训板上执行。进度安排起止日期工作内容202112.19讲述设计内容及根本原理进行系统的设计进行系统的调试主要参考资料1 刘苗生、潘宗预. 单片机测控系统设计. 中国物质出版社,2006年指导教师签字: 年 月 日系教研室主任签字: 年 月 日单片机应用系统设计说明书题目对外部脉冲计数及出租车计费系统的设计起止日期: 2021 年 12 月 19 日 至 2021 年 12 月 30 日学生姓名何武班级自动化092学号成绩指导教师(签字)电气与信息工程学院部年 月 日单片机课程设计指导书电气与信息工程学院实验室一、设计任务:11 外部脉冲自动计数,自动显示。111设计一个255计数器

4、:0255计数,计满后自动清0,重新计数在数码管中显示。112设计一个50000计数器:050000计数,计满后自动清0,重新计数在数码管中显示。12 设计一个出租车计费系统: 起步价为5元2km以内,2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱角,元,十元,百元注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。二、单片机最小系统硬件资源介绍: 89S51单片机; 6位共阳极数码管; 段码驱动器74HC573,位选译码器74HC138; 4路独立式

5、按键; 外部晶振电路; ISP下载接口In system program,在系统编程; DC+5V电源试配器选配; ISP下载线选配。单片机最小系统实训板硬件资源分布见图1元件布局图和图2电路原理图:其中P1为外部电源输入座DC+5V,S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。D1为系统电源指示灯。J2为ISP下载接口,S7系统复位按键。CRY1,C1,C2为外部时针电路。IC1为89S51DIP-40,左上角为第一脚。PRE1,PRE2。为上拉排阻阻值4.7k10k。J5,J9,J6,J10分别对应单片机的P0,P1,P2,P3口。便于二次开发。6路共阳极数码管动态显示电

6、路,P0口通过74HC573起驱动和隔离作用,让电流通过74CH573流入公共地,来控制数码管的8路段码,P20-P22通过74HC138译码器使用其中的6路控制数码管的公共端中间还有三极管做驱动器。这样设计的理由:为了保证该单片机最小系统的二次开发的资源充足和合理性。如果单只做一个动态显示电路,可以省去74HC573,和74HC138。 图1 元件布局图图2 单片机最小系统原理图三、设计思路:1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制-十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然

7、后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。开始初始化堆栈,定时器初始化清零相关RAM地址单元TF1=1?调用显示子程序脉冲数加1即20H加120H=100?21H加120清零计算出脉冲数的个,十,百位分别存放于30H,31H,32H(20H=54)&(21H=2?)脉冲数计到255后重新计数即20H,21H清零说明:1. 20H存放脉冲的个位和十位数值,21H存放脉冲的百位和千位数值。 2.计算脉冲数的个位和十位数值:(20H)/10的商即十

8、位数值存放于31H,余数即个位数值存放于30H。 3. 计算脉冲数的百位数值:(20H)/10的余数即百位数值存放于32H。例如:脉冲数212十进制,(20H)=12,(21H)=2。脉冲的个位数值(30H)=2, 脉冲的十位数值(31H)=1, 脉冲的百位数值(32H)=2. 图3 255计数程序流程图1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制-十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制

9、数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。1、000255循环计数程序:ORG 0000H AJMP START ORG 0030HSTART: MOV TMOD,#60H ;计数器T1,工作方式2 MOV TH1,#00H;计数初值 MOV TL1,#00H SETB TR1;开启计数器T1 MOV DPTR,#TABLE;查表首地址MAIN: MOV A,TL1;二-十进制转换 MOV B,#64H DIV AB;取百位存于A,余数存于B MOV 30H,A;百位存于30H地址 MOV A,B;取余数继续转换 MOV B,#0A

10、H DIV AB;取十位存于A,个位存于B MOV 31H,A;取十位存于31H地址 MOV 32H,B;取个位存于32H地址 LCALL DISPLAY;显示 JNB TF1,MAIN CLR TF1;去除溢出标志因为没有开中断,也可以不去除 SJMP MAIN;循环执行DISPLAY: MOV R0,#00H;位选首值MOV R1,#30H;段选值对应首地址MOV R2,#03H;3位数码管,循环3次LOOP1:MOV P2,R0;循环取数 MOV A,R1 MOVC A,A+DPTR;查表取段码 MOV P1,A LCALL DELAY;显示上延时INC R0;改变位选取值INC R1;

11、改变段选对应地址取值 DJNZ R2,LOOP1 RETDELAY: MOV R7,#64H;延时子程序LOOP: NOP NOP NOP DJNZ R7,LOOP RETTABLE: DB 3FH,06H,5BH,4FH,66H;数码管段码显示二进制数 DB 6DH,7DH,07H,7FH,6FH2、050000计数:由于超出了255,而直接将TH1,TL1中的数取出来转换显得有些繁琐,于是采用中断,每中断一次将脉冲数存在Rn存放器中,而每一个Rn中只存099,计到100就向高位进一,而本存放器那么清零。2、050000循环计数程序:ORG 0000H AJMP START ORG 001BH;中断入口地址 AJMP INTT1 ;转中断程序 ORG 0030HSTART: MOV TMOD,#50H ;计数器T1,工作方式1 MOV TH1,#0FFH ;计数初值 MOV TL1,#0FFH SETB TR1 ;开启计数器T1 SETB EA ;开总中断 SETB ET1 ;开T1中断允许 MOV DPTR,#TABLE;查表首地址 MOV R1,#00H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号