课程设计单片机计算器_第1页
课程设计单片机计算器_第2页
课程设计单片机计算器_第3页
课程设计单片机计算器_第4页
课程设计单片机计算器_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广东工业大学课程设计任务书题目名称 单片机计算器 (上机)/ 单片机应用系统设计(理论设计)学生学院自动化专业班级网络工程姓名XXX学号一、课程设计的内容1巩固和加深对单片机原理课程内容的认识和理解,提高应用水平。2、完成对单片机应用系统的理论设计。3掌握MCS-51汇编语言程序的编制方法。4熟悉键盘控制和七段数码管的使用。具体设计包括系统设计和上机编程两个部分。二、课程设计的要求与数据一. (一)上机编程上机编程要求和内容已附页给出。二. (二)系统设计内容要求:系统中具备输入设备(如键盘,键数不限)、输出设备(如LED数码显示管)。具体内容可自己设计、网上搜索应用例、参考书中例。非自己设计

2、的应用系统应理解消化,可修改(如增加或减少某些功能部件)。在系统设计中说明其出处以及自己做的修改部分。三、课程设计应完成的工作三. (一)上机编程完成符合规定要求的程序并上机调试成功。(二)系统设计内容1设计一个单片机应用系统的硬件电路。2. 选择所需元件,并对每个元件的管脚做简单说明。3用3550cm方格纸作图,画出详细的系统连接图。撰写课程设计报告四、课程设计进程安排序号设计各阶段内容地点起止日期1上机编程实验二号楼2062应用系统理论设计实验二号楼2049.19-9.21,9.25五、应收集的资料及主要参考文献1 李广弟、朱月秀、王秀山.单片机基础.(M).北京航空航天大学出版社.200

3、12 何立民, 单片机高级教程.(M).北京航空航天大学出版社, 20003 许兴存、曾琪琳 微型计算机接口技术(M).北京电子工业出版社,20034 朱宇光, 单片机应用新技术教程(M).北京电子工业出版社,2000发出任务书日期:2010年 9 月 10 日 指导教师签名:计划完成日期: 2010 年 9 月 25 日 基层教学单位责任人签章:主管院长签章:摘要随着经济的发展,带动汽车行业快速发展,出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。而使用单片机实现该系统,是深化单片机应用的良好途径。本系统设计由单片机AT89S51为核心控制器和一些外围模块组成,使得其操

4、作简单,显示明了,功能丰富。使用8段数码管做为显示器,可以显示单价、总金额和路程,可以随时作切换,使系统信息一目了然;本系统除了里程统计和费用计算以外,还具有时钟功能。本方案充分发挥稳定、冗余的特点,配合AT24c02掉电存储芯片,保障信息的安全,使整个出租车计价系统更稳定。目 录摘要1目录2单片机计算器设计3一.编程要求和硬件电路3二.流程图4三.程序5单片机应用系统设计出租车计价器4一.系统功能介绍4二.系统设计说明21.系统基本设计框图22.芯片的功能及说明2三.连接图3四.软件设计33.主程序的流程图24.计价流程图35.单价时间调整流程图4五.设计心得及建议4主要参考文献5单片机计算

5、器设计四. 编程要求和硬件电路五. 流程图开始初始化输入数字输入运算符是否“=”是否“*”否是存数37H=#01H存数37H=#00H否是37H=#00H?减运算乘运算输出结果结束清零清零六. 程序1.编写程序在四位LED上显示15FC.ORG 0000HLJMP MAINORG 1000HMAIN: MOV 53H,#01H MOV 52H,#05H MOV 51H,#0FH MOV 50H,#0CHDIS:MOV A,#03H MOV DPTR,#7F00H MOVX DPTR,ASTART:MOV R0,#50H MOV R3,#0F7H MOV A,R3AGAIN: MOV DPTR,

6、#7F02H MOVX DPTR,A MOV A,R0 MOV DPRT,#DDEG MOVC A,A+DPTR MOV DPTR,#7F01H MOVX DPTR,A ACALL DL1MS INC R0 MOV A,R3 JNB ACC.0,START RR A MOV R3,A AJMP AGAINDDEG:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHDL1MS: MOV R7,#01HDL0:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DL0RETEND2

7、.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移。当k0=0时,第一排键为98AF,第二排键为EB32.;当k0=1时,第一排键为17CD,第二排键为5604.ORG 0000HLJMP MAINORG 1000HMAIN: MOV 53H,#00H MOV 52H,#00H MOV 51H,#00H MOV 50H,#50HKEYSUB:MOV A,#03H MOV DPTR,#7F00H MOVX DPTR,ABEGIN: ACALL DIS ACALL CLEAR ACALL CCSCAN JNZ INK1 AJMP BEGININK1: ACALL DI

8、S ACALL DL1MS ACALL DL1MS ACALL CLEAR ACALL CCSCAN JNZ INK2 AJMP BEGININK2: MOV R2,#0F7H MOV R4,#00HCOLUM: MOV DPTR,#7F02H MOV A,R2 MOVX DPTR,A INC DPTR MOVX A,DPTR JB ACC.5 LONE MOV A,#00H AJMP KCODELONE: JB ACC.4,NEXT MOV A,#04HKCODE: ADD A,R4 ACALL LP1 ACALL PUTBUF PUSH ACCKON: ACALL DIS ACALL CL

9、EAR ACALL CCSCAN JNZ KON POP ACCNEXT: INC R4 MOV A,R2 JNB ACC.3,KERR RL A MOV R2, A AJMP COLUMKERR: AJMP BEGINCCSCAN: MOV DPTR,#7F02H MOV A,#00H MOVX DPTR,A INC DPTR MOVX A,DPTR CPL A ANL A,#30H RETCLEAR: MOV DPTR,#7F01H MOV A,#00H MOVX DPTR,ARETDIS: PUSH ACC PUSH 00H PUSH 03H MOV A,#03H MOV DPTR,#7

10、F00H MOV R0,#50H MOV R3,#0F7H MOV A,R3AGAIN: MOV DPTR,#7F02H MOVX DPTR,A MOV DPTR,#7F03H MOV A,DPTR JNB ACC.0,STEP1 MOV DPTR ,#ADDR AJMP STEP2STEP1: MOV A,R MOV DPRT,#DDEGAJMP STEP3STEP2: MOV A,RSTEP3: MOVC A,A+DPTR MOV DPTR,#7F01H MOVX DPTR,A ACALL DL1MS INC R0 MOV A,R3 JNB ACC.0,OUT RR A MOV R3,A

11、AJMP AGAINOUT: POP 03H POP 00H POP ACC RETDDEG: DB 9EH,3EH,0F2H,0DAH0F6H,0FEH,0EEH,8EHADDR: DB 0B6H,0BEH,0FCH,66H, 60H,0E0H,9CH,7AHDL1MS: MOV R7,#01HDL0: MOV R6,#0FFHDL1 DJNZ R6,DL1 DJNZ R7,DL0RETPUTBUF: PUSH 00H MOV R7,A MOV A,52H MOV 53H,A MOV A,51HMOV 52H,AMOV A,50HMOV 51H,AMOV A,R7MOV 50H,APOP 0

12、0HRETEND3. a).定义键盘按键,5个数字键E4689 ,3个功能键:乘号x,减号-,等号;b).可进行三位10进制减法运算;c).可进行两位16进制乘法运算ORG 0000HLJMP MAINORG 0100HDDEG:DB 3FH,06H,5BH,4FH,66H,DB 6DH,7DH,07H,7FH,6FH,DB 77H,7CH,39H,5EH,79H,71HORG 1000HMAIN:MOV 52H,#00HMOV 53H,#00HMOV 51H,#00HMOV 50H,#00HMOV 37H,#00HMOV 38H,#04HMOV 39H,#01HMOV 40H,#00HMOV

13、 41H,#00HMOV 42H,#00HMOV 43H,#00HMOV 44H,#00HMOV 45H,#00HMOV 46H,#00HMOV 47H,#00HMOV R5,#50HKEYSUB:MOV A,#03HMOV DPTR,#7F00HMOVX DPTR,ABEGIN:ACALL DISACALL CLEARACALL CCSCANJNZ INK1AJMP BEGININK1:ACALL DISACALL DL1MSACALL DL1MSACALL CLEARACALL CCSCANJNZ INK2AJMP BEGININK2:MOV R2,#0FEHMOV R4,#00HCOLU

14、M:MOV DPTR,#7F02HMOV A,R2MOVX DPTR,AMOV DPTR,#7F03HMOVX A,DPTRJB ACC.5,LONEMOV A,#00HAJMP KCODELONE:JB ACC.4,NEXTMOV A,#04HKCODE:ADD A,R4/CJNE A,#00H,NOT00MOV A,#09HAJMP NEXT0NOT00:CJNE A,#01H,NOT01MOV A,#11HAJMP NEXT0NOT01:CJNE A,#02H,NOT02MOV A,#10HAJMP NEXT0NOT02:CJNE A,#03H,NOT03MOV A,#12HAJMP N

15、EXT0NOT03:CJNE A,#04H,NOT04MOV A,#08HAJMP NEXT0NOT04:CJNE A,#05H,NOT05MOV A,#06HAJMP NEXT0NOT05:CJNE A,#06H,NOT06MOV A,#04HAJMP NEXT0NOT06:CJNE A,#07H,NOT07MOV A,#0EHNEXT0:NOPNOT07:ACALL PUTBUFPUSH ACCKON:ACALL DISACALL CLEARACALL CCSCANJNZ KONPOP ACCNEXT:INC R4MOV A,R2JNB ACC.3,KERRRL AMOV R2,AAJMP

16、 COLUMKERR:AJMP BEGINCCSCAN:MOV DPTR,#7F02HMOV A,#00HMOVX DPTR,AMOV DPTR,#7F03HMOVX A,DPTRCPL AANL A,#30HRETCLEAR:MOV DPTR,#7F01HMOV A,#00HMOVX DPTR,ARETDIS:PUSH ACCPUSH 00HPUSH 03HMOV A,#0DH MOV DPTR,#7F00HMOVX DPTR,AMOV R0,#50HMOV R3,#0F7HMOV A,R3AGAIN:MOV DPTR,#7F02HMOVX DPTR,AMOV A,R0MOV DPTR,#D

17、DEGMOVC A,A+DPTRMOV DPTR,#7F01HMOVX DPTR,AACALL DL1MSINC R0MOV A,R3JNB ACC.5,OUTRR AMOV R3,AAJMP AGAINOUT:POP 03HPOP 00HPOP ACCRETDL1MS:MOV R7,#01HDL0:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DL0RETPUTBUF:PUSH 00HPUSH ACCMOV A,R5MOV R0,APOP ACCPUSH ACCXRL A,#12HJZ NOTNUMBERPOP ACCPUSH ACCXRL A,#10HJZ NOTN

18、UMBERPOP ACCPUSH ACCXRL A,#11HJZ NOTNUMBERPOP ACCACALL CHANGEMOV R0,APOP 00HRETNOTNUMBER:NOPKONA:ACALL DISACALL CCSCANJNZ KONAPOP ACCPOP 00HCJNE A,#12H,MULSUBNUMACALL CALMULSUBNUM:CJNE A,#10H,SUBNUMACALL MULCALLSUBNUM:CJNE A,#11H,DONEACALL SUBCALLDONE:RETCHANGE:MOV 53H,52HMOV 52H,51HMOV 51H,50HRETCA

19、L:PUSH 00HPUSH ACCMOV A,39HJZ RESET1MOV 47H,50HMOV 46H,51HMOV 45H,52HMOV 44H,53HACALL CLEARSCRMOV A,37HJNZ ISSUB/乘法MOV A,42HMOV 0F0H,#10HMUL ABADDC A,43HPUSH ACCMOV A,46HMOV 0F0H,#10HMUL ABADDC A,47HMOV 0F0H,APOP ACCMUL ABPUSH ACCANL A,#0FHMOV 43H,APOP ACCPUSH ACCANL A,#0F0HRR ARR ARR ARR AMOV 42H,A

20、POP ACCPUSH ACCMOV 48H,BMOV R0,#48HMOV A,R0ANL A,#0FHMOV 41H,APOP ACCMOV A,BANL A,#0F0HRR ARR ARR ARR AMOV 40H,AAJMP CALDONERESET1:AJMP RESET/减法ISSUB:MOV R2,#04HMOV R0,#43HMOV R1,#47HNEXT4:MOV A,R0SUBB A,R1 ANL A,#0FHCJNE A,#0AH,NEXTCAJMP NEXT3NEXTC:JNC NEXT3CLR CAJMP NEXTDNEXT3:SUBB A,#06HSETB CNEX

21、TD:MOV R0,ADEC R0DEC R1DJNZ R2,NEXT4AJMP CALDONECALDONE:MOV 39H,#00HMOV 50H,43HMOV 51H,42HMOV 52H,41HMOV 53H,40HAJMP CALENDRESET:ACALL CLEARSCRMOV 39H,#01HCALEND:POP ACCPOP 00HRETMULCALL:MOV 43H,50HMOV 42H,51HMOV 41H,52HMOV 40H,53HACALL CLEARSCRMOV 37H,#00HRETSUBCALL:MOV 43H,50HMOV 42H,51HMOV 41H,52

22、HMOV 40H,53HACALL CLEARSCRMOV 37H,#01HRETCLEARSCR:MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HRETEND单片机应用系统设计出租车计价器一. 系统功能介绍1. 可以实现在不同条件下,收费标准不同:白天/晚上/途中等待超过10min收费。2. 可以手动修改单价(可用+/调整)。3. 具有复位功能。4. 可以显示“单价/路程/总金额/”,并可在之间作切换。5. 掉电的情况下可以存储数据,以防数据丢失。6. 显示当前时间,不计价时可做时钟用。二. 系统设计说明1. 系统基本设计框图采用微控制器,配合其他功能模块,实现整个系统的设计。2. 芯片的功能及说明(1).89s51单片机(作为控制中心)利用89s51单片机丰富的IO口和控制的灵活性,将其作为整个系统的控制中心。(2)A44E霍尔传感器A44E霍尔传感器用于测距,安装在车轮上后可以检测到信号,送回单片机处理计算,随后送显示单元显示。(3)AT24C02芯片AT24C02芯片是一个具有2KB字节的电可擦除存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论