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

上传人:爱问知识人 文档编号:5019268 上传时间:2020-01-29 格式:DOC 页数:25 大小:1.96MB
返回 下载 相关 举报
单片机课程设计-对外部脉冲计数及出租车计费系统的设计.doc_第1页
第1页 / 共25页
单片机课程设计-对外部脉冲计数及出租车计费系统的设计.doc_第2页
第2页 / 共25页
单片机课程设计-对外部脉冲计数及出租车计费系统的设计.doc_第3页
第3页 / 共25页
单片机课程设计-对外部脉冲计数及出租车计费系统的设计.doc_第4页
第4页 / 共25页
单片机课程设计-对外部脉冲计数及出租车计费系统的设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

1、提供全套毕业论文,各专业都有湖南工业大学课 程 设 计资 料 袋 电气与信息工程 学院(系、部) 2014 2015 学年第 1 学期 课程名称 单片机应用系统 指导教师 贺正芸 职称 讲师 学生姓名 潘炜 专业班级 电子信息1203 学号 12401720509 题 目 对外部脉冲计数及出租车计费系统的设计 成 绩 起止日期 2014 年 12 月 27 日 2015 年 1 月 5 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书2课程设计说明书3课程设计图纸张456 湖南工业大学课程设计任务书2014 2015 学年第 1 学期 电气与信息工程 学院(系、部) 电子信息工

2、程 专业 电信1203 班级课程名称: 单片机应用系统 设计题目: 对外部脉冲计数及出租车计费系统的设计 完成期限:自 2014 年 12 月 27 日至 2015 年 1 月 5 日共 2 周内容及任务1.1 外部脉冲自动计数,自动显示:(1)设计255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。(2)设计50000计数器:050000计数,计满后自动清0,重新计数(在数码管中显示)。1.2 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后4位数码管显示价钱(

3、角,元,十元,百元)1.3* 长短按键的设计(附加题) 系统从000开始,一个按键若短按一下(0.5s以内),则个位数加1;如果长按2s不放,则个位数按步长0.2s快速进满后,十位数按步长0.5s加1;加到100则停止并长时间显示。注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机板上进行硬件调试。进度安排起止日期工作内容2014. 12.27讲述设计内容及基本原理2014.12.28-2015.1.2进行系统的设计2015.1.2-2015.1.5进行系统的调试主要参考资料1 刘苗生、潘宗预.单片机测控系统设计.中国物质出版社,2006年

4、2 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真M .北京航天航空大学出版社,2006指 导 教 师 (签字): 年 月 日系(教研室)主任(签字): 年 月 日(单片机应用系统)设计说明书(题目)对外部脉冲计数及出租车计费系统的设计起止日期: 2014 年 12 月 27 日 至 2015 年 1 月 5 日学生姓名潘炜班级电信1203学号12401720509成绩指导教师(签字)电气与信息工程学院2014年 12 月 20 日目 录一设计任务与要求1. 主要任务及目标二总体设计方案1. 设计思路3. 255计数器程序流程图45000计数程序流程图.5出租车计费系统程序流程

5、图三程序的设计1. 255计数器程序设计2.50000计数程序设计2. 出租车计费程序设计四 硬件仿真图1. 255计数器硬件仿真2.50000计数器硬件仿真2. 出租车计费系统硬件仿真五设计体会一设计任务与要求1. 主要任务及目标11 外部脉冲自动计数,自动显示。111设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。112设计一个50000计数器:050000计数,计满后自动清0,重新计数(在数码管中显示)。12 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前4位显示数码管显

6、示里程数,后4位数码管显示价钱(角,元,十元,百元)二总体设计方案1. 设计思路 1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制-十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。20-5000计数由于50000计数采用八位寄存器显然会一处,因此设计时数器T0采用工作方式1外部计数,16位寄存器技术

7、范围到65536,符合50000计数的需要。然后通过数据转换,将计数器的值转换成为十进制数,通过数码管显示。2、出租车计费系统:本设计所设计的出租车数字计数器的主要功能有:金额输出、路程输出、数据复位、计时计价等。输出采用2个4位8段共阳数码管,车辆行走时前4位显示路程,后4位显示金额。起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m,刷新计费一次。3. 255计数程序流程图 图2 255计数程序流程图 开始初始化堆栈,定时器初始化说明:1. 采用T0工作在工作方式2计数,在T0计数的同时,在数码管上显示相应的T0数值 2.对TL0内的数据进行十-二进制转换3.转换后

8、的二进制通过P0口输出,P2口为位选脉冲数计数到255后重新计数,硬件自动清零 计算脉冲数的个、十、百位 脉冲数加1,即T0加1 调用显示子程序图3 50000计数程序流程图开始初始化,T0初始化,设置延时TF1=1?调用显示子程序脉冲数加1计数是否大于50000计数清0计算出脉冲数的个,十,百位,千位万位(20H=54)&(21H=2?)脉冲数计到50000后从新计数4. 出租车计费程序流程图开始初始化堆栈,8279,定时器清零相关RAM地址单元TF1=1?调用显示子程序里程数加1即24H加124H=500?25H加124清零计算里程数的个,十,百,千位数值分别存放于24H,25H,26H,

9、27H(24H=99?)&(25H=99?)里程数计到500后重新计数即24H,25H清零说明:1.里程数存放于24H,25H中,其中24H存放脉冲的个位和十位数值,25H存放脉冲的百位和千位数值。 2.计算里程数的个位和十位数值:(24H)/10的商即十位数值存放于26H,余数即个位数值存放于27H。 3. 计算里程数的百位数值:(21H)/10的商即千位数值存放于33H,余数即百位数值存放于32H。例如:里程数6798(十进制),(24H)=98,(25H)=1。里程的个位数值(30H)=8, 里程的十位数值(31H)=9,. 里程的百位数值(32H)=7,里程的千位数值(33H)=6计算

10、价格(22H)-20/5商24H,余数23H(20H)=0?价格(25H)=商(24H)9+50价格(25H)= 商(24H)+19+50(23H)=0?价格的各位数值分别存放于20H,21H,22H,23H中(22H)-200?价格显示为5.0三设计程序1、255计数器程序编辑: ORG 0000H SJMP START ORG 000BH AJMP INTR0 ORG 0030HSTART: MOV SP,#60H MOV TMOD,#06H MOV TH0,#00H MOV TL0,#00H SETB TR0 SETB ET0 SETB EA MAIN: LCALL DISPLAY AJ

11、MP MAININTR0: RETIDISPLAY: MOV A,TL0 MOV B,#64H DIV AB MOV DPTR,#SEGTAB MOVC A,A+DPTR MOV P2,#00H MOV P0,A LCALL ZD1 XCH A,B MOV B,#0AH DIV AB MOVC A,A+DPTR MOV P2,#01H MOV P0,A LCALL ZD1 XCH A,B MOV DPTR,#SEGTAB MOVC A,A+DPTR MOV P2,#02H MOV P0,A LCALL ZD1 RETZD1: MOV R5,#01HLOOP: MOV R6,#248 DJNZ

12、R6,$ DJNZ R5,LOOP RET SEGTAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END2.0-50000计数的程序编辑 ORG 0000H AJMP MAIN ORG 000BH AJMP X ORG 0030HMAIN: MOV SP,#60H MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH MOV DPTR,#TAB MOV R0,#0 MOV R1,#0 MOV R2,#0 MOV R3,#0 MOV R4,#0 SETB EA SETB ET0 SETB TR0 MOV P2,#

13、0FFHXY:ACALL DISPLAY SJMP XYDISPLAY:MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV P2,#05H LCALL DELAY MOV P2,#0FFH MOV A,R1 MOVC A,A+DPTR MOV P0,A MOV P2,#04H LCALL DELAY MOV P2,#0FFH MOV A,R2 MOVC A,A+DPTR MOV P0,A MOV P2,#03H LCALL DELAY MOV P2,#0FFH MOV A,R3 MOVC A,A+DPTR MOV P0,A MOV P2,#02H LCALL DELAY M

14、OV P2,#0FFH MOV A,R4 MOVC A,A+DPTR MOV P0,A MOV P2,#01HLCALL DELAYMOV P2,#0FFHRET X :INC R0CJNE R0,#0AH,LOOP1 MOV R0,#0INC R1CJNE R1,#0AH,LOOP2 MOV R1,#0INC R2CJNE R2,#0AH,LOOP3MOV R2,#0INC R3CJNE R3,#0AH,LOOP4MOV R3,#0INC R4CJNE R4,#05H,LOOP5MOV R4,#0H RETILOOP1: RETILOOP2: RETILOOP3: RETILOOP4: RE

15、TILOOP5: RETIDELAY:MOV R7,#248 NOP NOP DJNZ R7,$ RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND3出租车计费系统程序: JIAO EQU 20H YUAN EQU 21H SHIY EQU 22H BAIY EQU 23H BAIMI EQU 24H LI EQU 25H SHILI EQU 26H ORG 0000H LJMP START ORG 000BH LJMP T ORG 0030H START: MOV TMOD,#06H ;计数器模式,工作方式2 MOV TH0,#0FFH

16、 ;计数器初始化 MOV TL0,#0FFH SETB EA SETB ET0 SETB TR0 CLR JIAO ;设置角的初值为0 MOV YUAN,#5 ;设置起步价5元 CLR SHIY CLR BAIY CLR BAIMI CLR LI CLR SHILI MOV R0,#21 MOV DPTR,#TAB ;DPTR指向表头地址A0: ACALL XS ;调用XS子函数 AJMP A0 ;跳转到A0T: INC BAIMI DJNZ R0,H0 MOV R0,#5B1:MOV A,JIAO ADD A,#8 MOV JIAO,A CJNE A,#10,Z0 MOV JIAO,#0 I

17、NC YUAN SJMP Z1Z0:JC Z1 SUBB A,#10 MOV JIAO,A INC YUANZ1:MOV A,YUAN CJNE A,#10,Z2 MOV YUAN,#0 INC SHIYZ2:MOV A,SHIY CJNE A,#10,H0 MOV SHIY,#0 INC BAIYH0:MOV A,BAIMI CJNE A,#10,Y0 MOV BAIMI,#0 INC LIY0:MOV A,LI CJNE A,#10,Z3 MOV LI,#0 INC SHILIZ3:ACALL XSZZZ:RETIXS:MOV DPTR,#TAB MOV A,JIAO MOVC A,A+D

18、PTR MOV P0,#07FH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A CLR P2.6 MOV P0,#0FFHACALL W1 MOV A,YUAN MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P0,#0BFH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A CLR P2.6 MOV P0,#0FFH ;消影 ACALL W1 MOV DPTR,#TAB MOV A,SHIY MOVC A,A+DPTR MOV P0,#0DFH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A

19、 CLR P2.6 MOV P0,#0FFH ;消影 ACALL W1 MOV A,BAIY MOVC A,A+DPTR MOV P0,#0EFH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A CLR P2.6 MOV P0,#0FFH ;消影 ACALL W1 MOV A,BAIMI MOVC A,A+DPTR MOV P0,#0FBH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A CLR P2.6 MOV P0,#0FFH ;消影 ACALL W1 MOV DPTR,#TAB1 MOV A,LI MOVC A,A+DPTR MOV

20、 P0,#0FDHSETB P2.7CLR P2.7 SETB P2.6 OV P0,A CLR P2.6 MOV P0,#0FFH ;消影ACALL W1 MOV DPTR,#TAB MOV A,SHILI MOVC A,A+DPTR MOV P0,#0FEH SETB P2.7 CLR P2.7 SETB P2.6 MOV P0,A CLR P2.6 MOV P0,#0FFH ;消影 ACALL W1 RETW1:MOV R7,#10DE1:MOV R6,#50DE2:DJNZ R6,DE2 DJNZ R7,DE1 RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH

21、,07H,7FH,6FHTAB1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHEND四、硬件仿真及实例图1、255计数器2. 0-50000计数器3、出租车计费系统五设计体会关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。 虽然我们付出了很多精力,但是觉得这是值得的,这门课使我所经历的第一个以这种方式考核的课程,它充满了挑战,给了我们无穷的动力,更让我们回味不已!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1