欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机计算器课程设计.docx

    • 资源ID:35577919       资源大小:110.64KB        全文页数:16页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机计算器课程设计.docx

    安庆师范学院 单片机课程设计说明书 课题名称:简 易 计 算 器 院 系:物理与电气工程学院 专 业:电子信息科学与技术 班 级: 12 级 2 班 成员姓名:张 鹏 xxxxxxx王会祥 xxxxxxxx指 导 教 师 王 陈 宁 2014年 6月 2日目录一、课程设计题目与要求- 2 -1.课程设计题目- 2 -2.课程设计要求- 2 -二、课题分析- 2 -1成员分工- 2 -2课题的理解与思路- 3 -3开发工具说明- 3 -三、硬件电路的设计- 3 -1AT89C52特性介绍- 3 -2LED数码管的显示原理- 4 -3矩阵键盘的工作原理- 4 -4课程设计的电路图- 5 -四、软件程序的设计- 6 -1程序流程图- 6 -2实验程序- 8 -五、课程设计总结- 15 -六、参考文献- 15 -一、课程设计题目与要求1.课程设计题目 简易计算器设计2.课程设计要求(1)设计实现1位整数加、减运算; (2)键盘采用4*4的矩阵键盘,键盘安排如下; 1 2 3 4 5 6 7 8 9 0 + - * / 归零 = (3)输入数据与运算结果采用两位数码管进行显示;二、课题分析1成员分工 整体方案构思:王会祥、张鹏、孙伟焊接电路:孙伟、张鹏编写程序:王会祥、张鹏调试烧写:孙伟、张鹏文档写作:张鹏、王会祥、孙伟2课题的理解与思路单片机实现简易计算器的功能,实际是先从矩阵键盘得到信号,进行相对应的判断、选择,从而进行相应的运算,最后把运行结果送到数码管显示。我们采用主程序进行相关的扫描键盘、判断、选择、计算的功能,采用定时中断来实现数码管的动态显示3开发工具说明KEILL用来实现编程和生成HEX文件STC-ISPSTC下载器,将HEX下载到单片机中单片机开发板实现计算器功能的硬件设备三、硬件电路的设计1AT89C52特性介绍兼容MCS51指令系统8kB可反复擦写(大于1000次)Flash ROM;32个双向I/O口;256x8bit内部RAM;3个16位可编程定时/计数器中断;时钟频率0-24MHz;2个串行中断,可编程UART串行通道;2个外部中断源,共8个中断源;2个读写中断口线,3级加密位;低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;有PDIP、PQFP、TQFP与PLCC等几种封装形式,以适应不同产品的需求。2LED数码管的显示原理数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象与发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。3矩阵键盘的工作原理(1)、判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 (2)、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。4课程设计的电路图数码管与单片机连接电路矩阵键盘与单片机连接电路四、软件程序的设计1程序流程图开始置定时器T0,T1方式1,初始化并开中断,置位TR0,清零TR1扫描按键是否为归零键将扫描得到的数据送到对应的寄存器中,R0存放被操作数,R2存放功能键,R3存放操作数向R6,R7中装入显示信息P2口送#0FEH,R7中的值译码送P0置T0初值TR0,TR1取反P2口送#0FDH,R6中的值译码送P0TR0,TR1取反判断R2中的符号R0+R3R0-R3结果放入R6,R7中中断返回中断返回是否+-2实验程序LNUM EQU 30HLNYS EQU 31HLNYY EQU 32HLNXX EQU 33H ORG 0000H JMP START ORG 000BH LJMP TT0 ORG 0100HSTART:MOV TMOD,#11H ;=置初值MOV TH0,#0F0HMOV TL0,#0F0HSETB EASETB ET0SETB TR0MOV R6,#0MOV R7,#20MAIN:MOV LNUM,#4 ;=1=扫描数值 CLR F0ST1:CALL MAKEY JNB F0,ST1CJNE A,#14,PY1LJMP START PY1:INC A CJNE A,#10,PP1 MOV A,#0 PP1:MOV R0,AMOV R6,#0MOV R7,A;= 2=扫描运算符LOOP:MOV LNUM,#4CLR F0ST2:CALL MAKEYJNB F0,ST2 CJNE A,#14,PY2 LJMP START PY2:CJNE A,#0AH,LOP1 MOV R2,#16 SJMP LOP4LOP1:CJNE A,#0BH,LOP2 MOV R2,#18 SJMP LOP4LOP2:CJNE A,#0CH,LOP3 MOV R2,#17 SJMP LOP4LOP3:CJNE A,#0DH,LOOP MOV R2,#19LOP4:MOV A,R2 MOV R6,A INC A MOV R7,A;=3=扫描数值 MOV LNUM,#4 CLR F0ST3:CALL MAKEY JNB F0,ST3CJNE A,#14,PY3LJMP STARTPY3:INC ACJNE A,#10,PP2MOV A,#0PP2:MOV R3,A MOV R6,#0MOV R7,A;=4=扫描“=”号LOOD:MOV LNUM,#4CLR F0ST4:CALL MAKEY JNB F0,ST4CJNE A,#14,PY4LJMP STARTPY4:CJNE A,#0FH,LOOD ;进行判断 CJNE R2,#16,LDO1SJMP DO1LDO1:CJNE R2,#18,LDO2 SJMP DO2LDO2:CJNE R2,#17,DO4 SJMP DO3;=加运算DO1:MOV A,R0 ADD A,R3MOV B,#10DIV ABMOV R6,AMOV R7,BLJMP MAIN;=减运算DO2:CLR CY MOV A,R0 SUBB A,R3JC LD2MOV B,#10DIV ABMOV R6,AMOV R7,BLJMP MAINLD2:CLR CY MOV A,R3SUBB A,R0MOV R7,AMOV R6,#18 LJMP MAIN;=乘运算DO3:MOV A,R0 MOV B,R3MUL ABMOV B,#10DIV ABMOV R6,AMOV R7,BLJMP MAIN;=除运算DO4:MOV A,R0 MOV B,R3DIV ABMOV B,#10DIV ABMOV R6,AMOV R7,BLJMP MAIN;= 中断显示TT0:MOV TH0,#0F0H MOV TL0,#0F0HMOV A,R6JZ WER2 MOV A,LNXXJNZ WER1MOV P2,#0FDH MOV DPTR,#TABMOV A,R6MOVC A,A+DPTRMOV P0,AMOV LNXX,#1SJMP HERTWER1:MOV LNXX,#0WER2:MOV P2,#0FEHMOV A,R7MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AHERT:RETI;=键盘扫描MAKEY:CALL KEYHN JNZ HAVE JMP NRETHAVE:CALL D10MS CALL KEYHN JNZ TRUE JMP NRETTRUE:MOV R1,#0EFH MOV R5,#0SCAN:MOV A,R1 MOV P1,A MOV A,P1 JB ACC.0,L1 MOV A,#0 JMP KEYNUM L1:JB ACC.1,L2 MOV A,#4 JMP KEYNUM L2:JB ACC.2,L3 MOV A,#8 JMP KEYNUM L3:JB ACC.3,NEXT MOV A,#0CHKEYNUM:ADD A,R5 PUSH ACCUPKEY:CALL KEYHN JNZ UPKEY POP ACC ANL A,#0FH SETB F0 JMP HRETNRET:CLR F0HRET:RETNEXT:INC R5 MOV A,R1 DJNZ LNUM,NDONE JMP NRETNDONE:RL A MOV R1,A JMP SCANKEYHN:MOV P1,#0FH MOV A,P1 CPL A ANL A,#0FH RET;=延时程序D10MS:MOV LNYS,#10 D10:LCALL D1MS DJNZ LNYS,D10 RETD1MS:MOV LNYY,#249 DL:NOP NOP DJNZ LNYY,DL RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH ,0B9H,8FH,0BFH ,0BFH,7FHEND五、课程设计总结通过此次课程设计,使我们更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我们在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。在这次课程设计中,不仅培养了我们团队合作和动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。六、参考文献李全利单片机原理与接口技术 第2版 2009 高等教育出版社周荷琴、冯焕清微型计算机原理与接口技术 第5版 2013 中国科学技术大学出版社

    注意事项

    本文(单片机计算器课程设计.docx)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开