单片机 十进制算器.docVIP

  • 14
  • 0
  • 约1.25万字
  • 约 10页
  • 2016-10-09 发布于贵州
  • 举报
单片机 十进制算器

单片机实验报告 四 姓名 学号 时间 2015.05.14 地点 B526 实验题目 简易十进制计算器 一、实验目的 1. 掌握单片机编程和调试方法。 2. 掌握键盘、LED显示接口工作原理及编程方法。 二、实验内容 利用MCS-51单片机,设计一个简易十进制计算器,完成一位十进制有符号数的加、减、乘、除运算。 16个按键的安排:10个数字键(0-9),用于输入运算的数字;5个功能键:+、-、×、÷、=、清零(符号选择)。 本实验要求显示:输入的十进制数字及符号,正数不显示符号,负数在数的前面显示“-”;运算符显示(显示字形自定);运算结果显示,包括数字和符号。 三、实验电路连线 四、实验说明 本实验采用动态显示电路,即6个数码管分时循环工作,刷新频率≥25Hz。键盘采用矩阵式电路,L1-L4作为输出,H1-H4作为输入。(详细工作原理请参考教材第10章)。 要求所有的程序预先在WAVE仿真调试通过,达到设计要求后下载程序到单片机芯片在实验板上实际运行。 程序的下载由实验室提供编程器统一烧写,单片机芯片由实验室提供,调试完成后交回。 五、实验仪器和设备 PC机、WAVE软件、仿真器、实验板、编程器、电源等。 六、程序流程图及程序 YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放 GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空 MOV GONG,#0 MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MLOOP: CALL DISP ;调显示子程序 WAIT: CALL TESTKEY ;判断有无按键 JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ;判断是否数字键 LJMP E1 ;转数字键处理 NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断是否功能键 LJMP E2 ;转功能键处理 NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2 NEXT13: CJNE A,#13,NEXT14 LJMP E2 NEXT14: CJNE A,#14,NEXT15 LJMP E2 NEXT15: LJMP E3 ;判断是否清除键 E1: CJNE R3,#1,N1 ;判断第几次按键 LJMP E11 ;为第一个数字 N1: CJNE R3,#2,N2 LJMP E12 ;为第二个数字 N2: CJNE R3,#3,N3 LJMP E13 ;为第三个数字 N3: LJMP E3 ;第四个数字转溢出 E11:

文档评论(0)

1亿VIP精品文档

相关文档