广东工业大学课程设计单片机计算器Word文档格式.docx
《广东工业大学课程设计单片机计算器Word文档格式.docx》由会员分享,可在线阅读,更多相关《广东工业大学课程设计单片机计算器Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
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
MOVA,@R0
MOVDPRT,#DDEG
MOVCA,@A+DPTR
MOVDPTR,#7F01H
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.
MOV53H,#00H
MOV52H,#00H
MOV51H,#00H
MOV50H,#50H
KEYSUB:
BEGIN:
ACALLDIS
ACALLCLEAR
ACALLCCSCAN
JNZINK1
AJMPBEGIN
INK1:
ACALLDIS
ACALLCLEAR
ACALLCCSCAN
JNZINK2
INK2:
MOVR2,#0F7H
MOVR4,#00H
COLUM:
MOVA,R2
INCDPTR
MOVXA,@DPTR
JBACC.5LONE
MOVA,#00H
AJMPKCODE
LONE:
JBACC.4,NEXT
MOVA,#04H
KCODE:
ADDA,R4
ACALLLP1
ACALLPUTBUF
PUSHACC
KON:
ACALLCCSCAN
JNZKON
POPACC
NEXT:
INCR4
JNBACC.3,KERR
RLA
MOVR2,A
AJMPCOLUM
KERR:
CCSCAN:
CPLA
ANLA,#30H
RET
CLEAR:
DIS:
PUSH00H
PUSH03H
MOVA,#03H
MOVR0,#50H
MOVR3,#0F7H
MOVDPTR,#7F03H
MOVA,@DPTR
JNBACC.0,STEP1
MOVDPTR,#ADDR
AJMPSTEP2
STEP1:
MOVA,@R
AJMPSTEP3
STEP2:
STEP3:
JNBACC.0,OUT
OUT:
POP03H
POP00H
DB9EH,3EH,0F2H,0DAH
0F6H,0FEH,0EEH,8EH
ADDR:
DB0B6H,0BEH,0FCH,66H,
60H,0E0H,9CH,7AH
MOVR6,#0FFH
DL1DJNZR6,DL1
DJNZR7,DL0
PUTBUF:
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进制乘法运算
ORG0100H
DB3FH,06H,5BH,4FH,66H,
DB6DH,7DH,07H,7FH,6FH,
DB77H,7CH,39H,5EH,79H,71H
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
MOVR2,#0FEH
MOVDPTR,#7F03H
JBACC.5,LONE
//////////////////////////
CJNEA,#00H,NOT00
MOVA,#09H
AJMPNEXT0
NOT00:
CJNEA,#01H,NOT01
MOVA,#11H
NOT01:
CJNEA,#02H,NOT02
MOVA,#10H
NOT02:
CJNEA,#03H,NOT03
MOVA,#12H
NOT03:
CJNEA,#04H,NOT04
MOVA,#08H
NOT04:
CJNEA,#05H,NOT05
MOVA,#06H
NOT05:
CJNEA,#06H,NOT06
NOT06:
CJNEA,#07H,NOT07
MOVA,#0EH
NEXT0:
NOP
NOT07:
JNZKON
MOVR2,A
MOVA,#0DH
MOVDPTR,#DDEG
MOVCA,@A+DPTR
JNBACC.5,OUT
DJNZR6,DL1
DJNZR7,DL0
MOVA,R5
MOVR0,A
XRLA,#12H
JZNOTNUMBER
XRLA,#10H
XRLA,#11H
ACALLCHANGE
MOV@R0,A
NOTNUMBER:
NOP
KONA:
JNZKONA
CJNEA,#12H,MULSUBNUM
ACALLCAL
MULSUBNUM:
CJNEA,#10H,SUBNUM
ACALLMULCALL
SUBNUM:
CJNEA,#11H,DONE
ACALLSUBCALL
DONE:
CHANGE:
MOV53H,52H
MOV52H,51H
MOV51H,50H
CAL:
MOVA,39H
JZRESET1
MOV47H,50H
MOV46H,51H
MOV45H,52H
MOV44H,53H
ACALLCLEARSCR
MOVA,37H
JNZISSUB
//乘法
MOVA,42H
MOV0F0H,#10H
MULAB
ADDCA,43H
MOVA,46H
ADDCA,47H
MOV0F0H,A
ANLA,#0FH
MOV43H,A
ANLA,#0F0H
MOV42H,A
MOV48H,B
MOVR0,#48H
MOV41H,A
MOVA,B
MOV40H,A
AJMPCALDONE
RESET1:
AJMPRESET
//减法
ISSUB:
MOVR2,#04H
MOVR0,#43H
MOVR1,#47H
NEXT4:
SUBBA,@R1
CJNEA,#0AH,NEXTC
AJMPNEXT3
NEXTC:
JNCNEXT3
CLRC
AJMPNEXTD
NEXT3:
SUBBA,#06H
SETBC
NEXTD:
DECR0
DECR1
DJNZR2,NEXT4
CALDONE:
MOV39H,#00H
MOV50H,43H
MOV51H,42H
MOV52H,41H
MOV53H,40H
AJMPCALEND
RESET:
CALEND:
MULCALL:
MOV43H,50H
MOV42H,51H
MOV41H,52H
MOV40H,53H
SUBCALL:
MOV37H,#01H
CLEARSCR:
MOV50H,#00H
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等,使得对系统的整体理解上有一定难度。
虽然在中间也遇到不少问题,但是通过解决后也了解了很多原理性的东西,价值很大。
主要参考文献