欢迎来到天天文库
浏览记录
ID:33938557
大小:337.85 KB
页数:6页
时间:2019-02-28
《基于proteus单片机系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第22卷第1期2009年03月盐城工学院学报(自然科学版)JournalofYanchengInstituteofTechnology.NaturalScienceEditionV01.22No.1Mar.2()()9基于Proteus单片机系统设计章海亮(华东交通大学机电工程学院,江西南昌330013)摘要:单片机系统设计包含硬件设计和软件设计两部分。传统的方法是先进行硬件设计,然后进行软件调试。当硬件电路不满足设计要求时,就需要修改硬件电路重新进行调试。Proteus是单片机系统仿真软件,当硬件电路不满足设计要求时,直接修改电路重新进行仿真,直到系统软硬件满足要求为止
2、。使用Proteus软件对篮球比赛计分器系统进行设计和仿真,验证该设计的正确性和可行性。关键词:Proteus;单片机;硬件电路;仿真中图分类号:TP212.1l文献标识码:A文章编号:1671—5322(2009)01—0062—041Proteus软件介绍2设计任务单片机作为嵌入式系统的核心器件,其系统设计包括硬件电路设计和程序设计两个方面,软件调试一般必须在电路板制作完成、元器件焊接完毕之后进行,而且电路板的制作、元器件的安装、焊接费时费力。如果采用单片机系统仿真软件Proteus,则不用制作具体的电路板也能够完成以上工作。使用Proteus进行系统开发成功之后再进行实际制
3、作,可以提高开发效率、降低开发成本、提高开发速度,而这些因素对于企业来讲是非常重要的。2.1电路设计¨.z’设计完成的电路原理如图1所示。Po口接四个计分按键,Pl口、P3口接分数显示数码管,其中Pl口所接数码管显示分数的十位,P3口所接数码管显示分数的个位。当比赛队得1分时,按下S1键加1分,得2分时按S2键加2分,得3分时按下s3键加3分。如分数计错需减分时,每按一次S4键减1分。Po口低4位接4个独立式按键,分别是总分加1分、加2分、加3分和减1分按键。P1口和P3口分别接一个数码图1篮球比赛计分器电路原理图Fig.1Schematrecircuitofelectricco
4、untinbasketballmatch收稿日期:2008—11—20作者简介:章海亮(1977一),男,江西南昌人,硕士,讲师,主要研究方向为单片机。万方数据第1期帝海亮:基于proteus单片机系统设计·63·管,其中Pl口所接数码管显示总分的十位数,P3口所接数码管显示总分的个位数。2.2程序设计程序设计时,首先读取按键状态,判断是否有键被按下,当确认有键按下后,再进行键盘扫描,判断按下的是哪个键。执行相应的按键功能。然后等待按键释放,以确保每按一次按键只进行一次键处理,将总分转换为十进制数,再通过查表方法转换为七段码,经Pl口和P3口输出,驱动数码管显示。程序清单及注释如
5、下:ORGOooOHMOVR0,加;将R0(存放总分的寄存器)清0MOVDPTR,#TAB;将七段码数据表首地址送DPTRSTART:MOVA,P0;读取Po口(键盘状态)值ANLA,#0FH;取出Po口低4位(因只有低4位接有按键)CJNEA,#OFH,KEYl;判断是否有键按下SJMPSTART;无按键按下,则转移至START处,重新读取键盘状态KEYI:LCALLDELAY;有键按下则调用延时程序以消除按键抖动MOVA,P0;再次读取Po口(键盘状态)值ANLA,#OFH;取出Po口低4位CJNEA,加FH,KEY2;再次判断是否有键按下,有键按下则程序转移至KEY2处SJ
6、MPSTART;第二次判断为无键按下,则表明是由于干扰引起的误读键KEY2:JNBACC。0,K1;如按下的是Sl键,则程序转K1处JNBACC.1,K2;如按下的是S2键,则程序转K2处JNBACC.2,K3;如按下的是S3键,则程序转K3处JNBACC.3,K4;如按下的是S4键,则程序转K4处LIMPSTART;如无按键按下,则程序转START处.重新读取键盘K1:MOVRI,嚣1;S1键按下时,给Rl送入lLJMPADDOPR;程序跳转至ADDOPR处K2:MOVR1,群2;S2键按下时,给R1送入2LIMPADDOPR;程序跳转至ADDOPR处K3:MOVR1,桴3;S
7、3键按下时,给Rl送人3LIMPADDoPR;程序跳转至ADDOPR处K4:DECR0;S4键按下时,总分减lLIMPWAIT;程序跳转至WAIT处ADDOPR:MOVA,R0;将R0的值(总分)送人AADDA,R1;A与R1相加(总分加上该次得分)MOVRO,A;将总分送回R0中WAIT:MOVA,P0;读取Po口(键盘状态)值ANLA,#OFH;取出低4位CjNEA,#OFH,WAIT;A与0FH比较,不相等则转移至WAIT处(等待按键释放)MOVA,R0;将RO的值送人A中
此文档下载收益归作者所有