广东工业大学课程设计单片机计算器.docx

上传人:b****2 文档编号:3098061 上传时间:2023-05-05 格式:DOCX 页数:30 大小:369.80KB
下载 相关 举报
广东工业大学课程设计单片机计算器.docx_第1页
第1页 / 共30页
广东工业大学课程设计单片机计算器.docx_第2页
第2页 / 共30页
广东工业大学课程设计单片机计算器.docx_第3页
第3页 / 共30页
广东工业大学课程设计单片机计算器.docx_第4页
第4页 / 共30页
广东工业大学课程设计单片机计算器.docx_第5页
第5页 / 共30页
广东工业大学课程设计单片机计算器.docx_第6页
第6页 / 共30页
广东工业大学课程设计单片机计算器.docx_第7页
第7页 / 共30页
广东工业大学课程设计单片机计算器.docx_第8页
第8页 / 共30页
广东工业大学课程设计单片机计算器.docx_第9页
第9页 / 共30页
广东工业大学课程设计单片机计算器.docx_第10页
第10页 / 共30页
广东工业大学课程设计单片机计算器.docx_第11页
第11页 / 共30页
广东工业大学课程设计单片机计算器.docx_第12页
第12页 / 共30页
广东工业大学课程设计单片机计算器.docx_第13页
第13页 / 共30页
广东工业大学课程设计单片机计算器.docx_第14页
第14页 / 共30页
广东工业大学课程设计单片机计算器.docx_第15页
第15页 / 共30页
广东工业大学课程设计单片机计算器.docx_第16页
第16页 / 共30页
广东工业大学课程设计单片机计算器.docx_第17页
第17页 / 共30页
广东工业大学课程设计单片机计算器.docx_第18页
第18页 / 共30页
广东工业大学课程设计单片机计算器.docx_第19页
第19页 / 共30页
广东工业大学课程设计单片机计算器.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

广东工业大学课程设计单片机计算器.docx

《广东工业大学课程设计单片机计算器.docx》由会员分享,可在线阅读,更多相关《广东工业大学课程设计单片机计算器.docx(30页珍藏版)》请在冰点文库上搜索。

广东工业大学课程设计单片机计算器.docx

广东工业大学课程设计单片机计算器

广东工业大学课程设计任务书

题目名称

单片机计算器(上机)/

单片机应用系统设计(理论设计)

学生学院

自动化

专业班级

网络工程

姓名

XXX

学号

一、课程设计的内容

1.巩固和加深对《单片机原理》课程内容的认识和理解,提高应用水平。

2、完成对单片机应用系统的理论设计。

3.掌握MCS-51汇编语言程序的编制方法。

4.熟悉键盘控制和七段数码管的使用。

具体设计包括系统设计和上机编程两个部分。

二、课程设计的要求与数据

一.

(一)上机编程

上机编程要求和内容已附页给出。

二.

(二)系统设计内容

要求:

系统中具备输入设备(如键盘,键数不限)、输出设备(如LED数码显示管)。

具体内容可自己设计、网上搜索应用例、参考书中例。

非自己设计的应用系统应理解消化,可修改(如增加或减少某些功能部件)。

在系统设计中说明其出处以及自己做的修改部分。

三、课程设计应完成的工作

三.

(一)上机编程

完成符合规定要求的程序并上机调试成功。

(二)系统设计内容

1.设计一个单片机应用系统的硬件电路。

2.选择所需元件,并对每个元件的管脚做简单说明。

3.用35×50cm方格纸作图,画出详细的系统连接图。

撰写课程设计报告

四、课程设计进程安排

序号

设计各阶段内容

地点

起止日期

1

上机编程

实验二号楼

206

9.13-9.17

2

应用系统理论设计

实验二号楼

204

9.19-9.21,9.25

 

五、应收集的资料及主要参考文献

[1]李广弟、朱月秀、王秀山.单片机基础.(M).北京航空航天大学出版社.2001

[2]何立民,单片机高级教程.(M).北京航空航天大学出版社,2000

[3]许兴存、曾琪琳微型计算机接口技术(M).北京电子工业出版社,2003

[4]朱宇光,单片机应用新技术教程(M).北京电子工业出版社,2000

 

发出任务书日期:

2010年9月10日指导教师签名:

计划完成日期:

2010年9月25日基层教学单位责任人签章:

主管院长签章:

摘要

随着经济的发展,带动汽车行业快速发展,出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。

而使用单片机实现该系统,是深化单片机应用的良好途径。

本系统设计由单片机AT89S51为核心控制器和一些外围模块组成,使得其操作简单,显示明了,功能丰富。

使用8段数码管做为显示器,可以显示单价、总金额和路程,可以随时作切换,使系统信息一目了然;本系统除了里程统计和费用计算以外,还具有时钟功能。

本方案充分发挥稳定、冗余的特点,,配合AT24c02掉电存储芯片,保障信息的安全,使整个出租车计价系统更稳定。

 

目录

摘要1

目录2

单片机计算器设计3

一.编程要求和硬件电路3

二.流程图4

三.程序5

单片机应用系统设计——出租车计价器4

一.系统功能介绍4

二.系统设计说明2

1.系统基本设计框图2

2.芯片的功能及说明2

三.连接图3

四.软件设计3

3.主程序的流程图2

4.计价流程图3

5.单价时间调整流程图4

五.设计心得及建议4

主要参考文献5

单片机计算器设计

四.编程要求和硬件电路

五.流程图

六.程序

1.编写程序在四位LED上显示15FC.

ORG0000H

LJMPMAIN

ORG1000H

MAIN:

MOV53H,#01H

MOV52H,#05H

MOV51H,#0FH

MOV50H,#0CH

DIS:

MOVA,#03H

MOVDPTR,#7F00H

MOVX@DPTR,A

START:

MOVR0,#50H

MOVR3,#0F7H

MOVA,R3

AGAIN:

MOVDPTR,#7F02H

MOVX@DPTR,A

MOVA,@R0

MOVDPRT,#DDEG

MOVCA,@A+DPTR

MOVDPTR,#7F01H

MOVX@DPTR,A

ACALLDL1MS

INCR0

MOVA,R3

JNBACC.0,START

RRA

MOVR3,A

AJMPAGAIN

DDEG:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

DL1MS:

MOVR7,#01H

DL0:

MOVR6,#0FFH

DL1:

DJNZR6,DL1

DJNZR7,DL0

RET

END

2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移。

当k0=0时,第一排键为98AF,第二排键为EB32.;当k0=1时,第一排键为17CD,第

二排键为5604.

ORG0000H

LJMPMAIN

ORG1000H

MAIN:

MOV53H,#00H

MOV52H,#00H

MOV51H,#00H

MOV50H,#50H

KEYSUB:

MOVA,#03H

MOVDPTR,#7F00H

MOVX@DPTR,A

BEGIN:

ACALLDIS

ACALLCLEAR

ACALLCCSCAN

JNZINK1

AJMPBEGIN

INK1:

ACALLDIS

ACALLDL1MS

ACALLDL1MS

ACALLCLEAR

ACALLCCSCAN

JNZINK2

AJMPBEGIN

INK2:

MOVR2,#0F7H

MOVR4,#00H

COLUM:

MOVDPTR,#7F02H

MOVA,R2

MOVX@DPTR,A

INCDPTR

MOVXA,@DPTR

JBACC.5LONE

MOVA,#00H

AJMPKCODE

LONE:

JBACC.4,NEXT

MOVA,#04H

KCODE:

ADDA,R4

ACALLLP1

ACALLPUTBUF

PUSHACC

KON:

ACALLDIS

ACALLCLEAR

ACALLCCSCAN

JNZKON

POPACC

NEXT:

INCR4

MOVA,R2

JNBACC.3,KERR

RLA

MOVR2,A

AJMPCOLUM

KERR:

AJMPBEGIN

CCSCAN:

MOVDPTR,#7F02H

MOVA,#00H

MOVX@DPTR,A

INCDPTR

MOVXA,@DPTR

CPLA

ANLA,#30H

RET

CLEAR:

MOVDPTR,#7F01H

MOVA,#00H

MOVX@DPTR,A

RET

DIS:

PUSHACC

PUSH00H

PUSH03H

MOVA,#03H

MOVDPTR,#7F00H

MOVR0,#50H

MOVR3,#0F7H

MOVA,R3

AGAIN:

MOVDPTR,#7F02H

MOVX@DPTR,A

MOVDPTR,#7F03H

MOVA,@DPTR

JNBACC.0,STEP1

MOVDPTR,#ADDR

AJMPSTEP2

STEP1:

MOVA,@R

MOVDPRT,#DDEG

AJMPSTEP3

STEP2:

MOVA,@R

STEP3:

MOVCA,@A+DPTR

MOVDPTR,#7F01H

MOVX@DPTR,A

ACALLDL1MS

INCR0

MOVA,R3

JNBACC.0,OUT

RRA

MOVR3,A

AJMPAGAIN

OUT:

POP03H

POP00H

POPACC

RET

DDEG:

DB9EH,3EH,0F2H,0DAH

0F6H,0FEH,0EEH,8EH

ADDR:

DB0B6H,0BEH,0FCH,66H,

60H,0E0H,9CH,7AH

DL1MS:

MOVR7,#01H

DL0:

MOVR6,#0FFH

DL1DJNZR6,DL1

DJNZR7,DL0

RET

PUTBUF:

PUSH00H

MOVR7,A

MOVA,52H

MOV53H,A

MOVA,51H

MOV52H,A

MOVA,50H

MOV51H,A

MOVA,R7

MOV50H,A

POP00H

RET

END

3.

a).定义键盘按键,5个数字键E4689,3个功能键:

乘号x,减号-,等号=;

b).可进行三位10进制减法运算;

c).可进行两位16进制乘法运算

ORG0000H

LJMPMAIN

ORG0100H

DDEG:

DB3FH,06H,5BH,4FH,66H,

DB6DH,7DH,07H,7FH,6FH,

DB77H,7CH,39H,5EH,79H,71H

ORG1000H

MAIN:

MOV52H,#00H

MOV53H,#00H

MOV51H,#00H

MOV50H,#00H

MOV37H,#00H

MOV38H,#04H

MOV39H,#01H

MOV40H,#00H

MOV41H,#00H

MOV42H,#00H

MOV43H,#00H

MOV44H,#00H

MOV45H,#00H

MOV46H,#00H

MOV47H,#00H

MOVR5,#50H

KEYSUB:

MOVA,#03H

MOVDPTR,#7F00H

MOVX@DPTR,A

BEGIN:

ACALLDIS

ACALLCLEAR

ACALLCCSCAN

JNZINK1

AJMPBEGIN

INK1:

ACALLDIS

ACALLDL1MS

ACALLDL1MS

ACALLCLEAR

ACALLCCSCAN

JNZINK2

AJMPBEGIN

INK2:

MOVR2,#0FEH

MOVR4,#00H

COLUM:

MOVDPTR,#7F02H

MOVA,R2

MOVX@DPTR,A

MOVDPTR,#7F03H

MOVXA,@DPTR

JBACC.5,LONE

MOVA,#00H

AJMPKCODE

LONE:

JBACC.4,NEXT

MOVA,#04H

KCODE:

ADDA,R4

//////////////////////////

CJNEA,#00H,NOT00

MOVA,#09H

AJMPNEXT0

NOT00:

CJNEA,#01H,NOT01

MOVA,#11H

AJMPNEXT0

NOT01:

CJNEA,#02H,NOT02

MOVA,#10H

AJMPNEXT0

NOT02:

CJNEA,#03H,NOT03

MOVA,#12H

AJMPNEXT0

NOT03:

CJNEA,#04H,NOT04

MOVA,#08H

AJMPNEXT0

NOT04:

CJNEA,#05H,NOT05

MOVA,#06H

AJMPNEXT0

NOT05:

CJNEA,#06H,NOT06

MOVA,#04H

AJMPNEXT0

NOT06:

CJNEA,#07H,NOT07

MOVA,#0EH

NEXT0:

NOP

NOT07:

ACALLPUTBUF

PUSHACC

KON:

ACALLDIS

ACALLCLEAR

ACALLCCSCAN

JNZKON

POPACC

NEXT:

INCR4

MOVA,R2

JNBACC.3,KERR

RLA

MOVR2,A

AJMPCOLUM

KERR:

AJMPBEGIN

CCSCAN:

MOVDPTR,#7F02H

MOVA,#00H

MOVX@DPTR,A

MOVDPTR,#7F03H

MOVXA,@DPTR

CPLA

ANLA,#30H

RET

CLEAR:

MOVDPTR,#7F01H

MOVA,#00H

MOVX@DPTR,A

RET

DIS:

PUSHACC

PUSH00H

PUSH03H

MOVA,#0DH

MOVDPTR,#7F00H

MOVX@DPTR,A

MOVR0,#50H

MOVR3,#0F7H

MOVA,R3

AGAIN:

MOVDPTR,#7F02H

MOVX@DPTR,A

MOVA,@R0

MOVDPTR,#DDEG

MOVCA,@A+DPTR

MOVDPTR,#7F01H

MOVX@DPTR,A

ACALLDL1MS

INCR0

MOVA,R3

JNBACC.5,OUT

RRA

MOVR3,A

AJMPAGAIN

OUT:

POP03H

POP00H

POPACC

RET

DL1MS:

MOVR7,#01H

DL0:

MOVR6,#0FFH

DL1:

DJNZR6,DL1

DJNZR7,DL0

RET

PUTBUF:

PUSH00H

PUSHACC

MOVA,R5

MOVR0,A

POPACC

PUSHACC

XRLA,#12H

JZNOTNUMBER

POPACC

PUSHACC

XRLA,#10H

JZNOTNUMBER

POPACC

PUSHACC

XRLA,#11H

JZNOTNUMBER

POPACC

ACALLCHANGE

MOV@R0,A

POP00H

RET

NOTNUMBER:

NOP

KONA:

ACALLDIS

ACALLCCSCAN

JNZKONA

POPACC

POP00H

CJNEA,#12H,MULSUBNUM

ACALLCAL

MULSUBNUM:

CJNEA,#10H,SUBNUM

ACALLMULCALL

SUBNUM:

CJNEA,#11H,DONE

ACALLSUBCALL

DONE:

RET

CHANGE:

MOV53H,52H

MOV52H,51H

MOV51H,50H

RET

CAL:

PUSH00H

PUSHACC

MOVA,39H

JZRESET1

MOV47H,50H

MOV46H,51H

MOV45H,52H

MOV44H,53H

ACALLCLEARSCR

MOVA,37H

JNZISSUB

//乘法

MOVA,42H

MOV0F0H,#10H

MULAB

ADDCA,43H

PUSHACC

MOVA,46H

MOV0F0H,#10H

MULAB

ADDCA,47H

MOV0F0H,A

POPACC

MULAB

PUSHACC

ANLA,#0FH

MOV43H,A

POPACC

PUSHACC

ANLA,#0F0H

RRA

RRA

RRA

RRA

MOV42H,A

POPACC

PUSHACC

MOV48H,B

MOVR0,#48H

MOVA,@R0

ANLA,#0FH

MOV41H,A

POPACC

MOVA,B

ANLA,#0F0H

RRA

RRA

RRA

RRA

MOV40H,A

AJMPCALDONE

RESET1:

AJMPRESET

//减法

ISSUB:

MOVR2,#04H

MOVR0,#43H

MOVR1,#47H

NEXT4:

MOVA,@R0

SUBBA,@R1

ANLA,#0FH

CJNEA,#0AH,NEXTC

AJMPNEXT3

NEXTC:

JNCNEXT3

CLRC

AJMPNEXTD

NEXT3:

SUBBA,#06H

SETBC

NEXTD:

MOV@R0,A

DECR0

DECR1

DJNZR2,NEXT4

AJMPCALDONE

CALDONE:

MOV39H,#00H

MOV50H,43H

MOV51H,42H

MOV52H,41H

MOV53H,40H

AJMPCALEND

RESET:

ACALLCLEARSCR

MOV39H,#01H

CALEND:

POPACC

POP00H

RET

MULCALL:

MOV43H,50H

MOV42H,51H

MOV41H,52H

MOV40H,53H

ACALLCLEARSCR

MOV37H,#00H

RET

SUBCALL:

MOV43H,50H

MOV42H,51H

MOV41H,52H

MOV40H,53H

ACALLCLEARSCR

MOV37H,#01H

RET

CLEARSCR:

MOV50H,#00H

MOV51H,#00H

MOV52H,#00H

MOV53H,#00H

RET

END

单片机应用系统设计——出租车计价器

七.系统功能介绍

1.可以实现在不同条件下,收费标准不同:

白天/晚上/途中等待超过10min收费。

2.可以手动修改单价(可用+/—调整)。

3.具有复位功能。

4.可以显示“单价/路程/总金额/”,并可在之间作切换。

5.掉电的情况下可以存储数据,以防数据丢失。

6.显示当前时间,不计价时可做时钟用。

八.系统设计说明

1.系统基本设计框图

采用微控制器,配合其他功能模块,实现整个系统的设计。

2.芯片的功能及说明

(1).89s51单片机(作为控制中心)

利用89s51单片机丰富的IO口和控制的灵活性,将其作为整个系统的控制中心。

(2)A44E霍尔传感器

A44E霍尔传感器用于测距,安装在车轮上后可以检测到信号,送回单片机处理计算,随后送显示单元显示。

(3)AT24C02芯片

AT24C02芯片是一个具有2KB字节的电可擦除存储芯片,可实现在系统掉电的时候保存单价和系统时间等信息,防止数据丢失。

(4)显示LED模块

显示模块中用到移位寄存器74HC164,信号先送到左边的寄存器,在脉冲的作用下,数据右移显示。

同时,移位寄存器还兼作数码管的驱动,header1接电源,header2接数据和脉冲输出端。

电路中的三个整流管D1—D3用于降低数码管的工作电压,增加使用寿命。

(5)按键模块

采用四个按键,S1,S2,S3,S4,分别作为:

S1作分屏显示切换,S2为功能设定按键,S3为+/白天晚上切换键,S4为—/中途等待开关。

九.连接图

已另附连接图画纸。

一十.软件设计

3.

主程序的流程图

4.计价流程图

5.单价时间调整流程图

一十一.设计心得及建议

在此次的课程设计中,使用单片机做灵活的核心控制,是整个系统设计的优点,再加上一些优化模块,使得计价器具有多功能。

不过由于设计中使用到一些比较陌生的芯片,如霍尔传感器、AT24C02等,使得对系统的整体理解上有一定难度。

虽然在中间也遇到不少问题,但是通过解决后也了解了很多原理性的东西,价值很大。

主要参考文献

[1]李广弟、朱月秀、王秀山.单片机基础.(M).北京航空航天大学出版社.2001

[2]何立民,单片机高级教程.(M).北京航空航天大学出版社,2000

[3]许兴存、曾琪琳微型计算机接口技术(M).北京电子工业出版社,2003

[4]朱宇光,单片机应用新技术教程(M).北京电子工业出版社,2000

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2