单片机课程设计(论文)按键控制1位LED数码管显示09

上传人:沈*** 文档编号:77782075 上传时间:2022-04-20 格式:DOC 页数:18 大小:869.31KB
收藏 版权申诉 举报 下载
单片机课程设计(论文)按键控制1位LED数码管显示09_第1页
第1页 / 共18页
单片机课程设计(论文)按键控制1位LED数码管显示09_第2页
第2页 / 共18页
单片机课程设计(论文)按键控制1位LED数码管显示09_第3页
第3页 / 共18页
资源描述:

《单片机课程设计(论文)按键控制1位LED数码管显示09》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)按键控制1位LED数码管显示09(18页珍藏版)》请在装配图网上搜索。

1、电子设计应用软件训练总结报告 单片机课程设计 课程题目:按键控制1位LED数码管显示0-9 班级: 学号: 姓名: 目录1. 实验目的2. 任务说明3. 实验器件4. 实验原理图绘制说明5. 实验流程说明6. 实验程序7. 实验仿真8.体会及合理化建议 一 实验目的 1.通过用单片机控制数码管的静态显示,学会用单片机编程进行控制和8段共阳极数码管的使用方法,学会编写与调更复杂的程序,进一步熟悉单片机串行口的使用。二、任务说明 利用51单片机、1个独立按键及1位7段数码管等器件,设计一个单片机输入显示系统,要求每按一下独立按键数码管显示数据加1(数码管初始值设为0,计到9后再加1 ,则数码管显示

2、0)。本次设计采用12MHz的晶体振荡器为单片机提供振荡周期,外加独立按键、复位电路和显示电路组成。三 实验器件1 At89c51. 2 RES.RX8 3 7SEG-CGN-AN-GRN 4 BUTTON 5 CAP.CAP-ELEC 6 CRYSTAL 四、 原理图绘制说明本次设计主要用到单片机AT89C51、晶振时序电路。AT89C51是一种带4KB闪烁可编程可擦出只读存储器的低电压、高性能CMOS微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89

3、C51是一种高效微处理器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案,AT89C51的管脚分配,如图1:图1 AT89C51芯片及管脚图AT89C51单片机主要由4个输入输出端口(P0口、P1口、P2口、P3口)及个控制引脚组成的,本次设计用到P1、P2的部分引脚,及18、19脚外接晶振电容为单片机提供时钟,9管脚为复位引脚,外接复位电路。晶振时序电路:XTAL1和XTAL2分别为片内反相放大器的输入和输出端,当单片机采用外部时钟信号时,前者接地,后者引入外部输入信号,本次设计采用12M的石英晶体振荡器为单片机提供时钟,如图2:图2 AT89C51的晶振时序电路图本次设计的原理图是在P

4、ROTEUS ISIS中绘制的,其工作界面分为原理图编辑窗口(Editing window)、预览窗口(Overview window)和工具栏。1、新建*.dsn打开绘图界面后,首先新建一个绘图文件,选择“【文件】【新建设计】”,并保存成.dsn型文件。2、绘制原理图(1)添加元器件:元件拾取共有两种办法,一种是按类别查找和拾取元件,另一种是直接查找和拾取元件。我采用的是前一种方法,元件通常以其英文名称或器件代号在库中存放。我们在取一个元件时,首先要清楚它属于哪一大类,然后还要知道它归属哪一子类,这样就缩小了查找范围,然后在子类所列出的元件中逐个查找,根据显示的元件符号、参数来判断是否找到了

5、所需要的元件。双击找到的元件名,该元件便拾取到编辑界面中了。右侧列表中自上而下分别为元件图形和元件封装。具体如图3所示:图3 分类拾取元件示意图(2)元件的放置在原理图编辑区的蓝色方框内,单击鼠标左键即完成元件的释放。具体如图4所示: 图4 元件的放置示意图(3)电路连线PROTEUS的连线是非常智能的,它会判断你下一步的操作是否想连线从而自动连线,而不需要选择连线的操作,只需用鼠标左键单击编辑区元件的一个端点拖动到要连接的另外一个元件的端点,先松开左键后再单击鼠标左键,即完成一根连线。如果要删除一根连线,右键双击连线即可。根据设计完成连线后即可得到完整的电路原理图,具体如图5::图5 连线后

6、的完整电路原理图 五、流程图绘制以及说明主程序设计说明主程序主要分为四部分,包括复位电路部分、独立按键的判别部分、单片机控制主程序部分和译码显示部分,模块流程图如图6所示:结束返回重新检测按键将单片机处理的数据进行显示单片机主控制电路向单片机申请显示0计数加1,向单片机申请显示该数值。Y是否按键?开始N 图6 主程序流程图六 实验程序1.ORG 0000HDISP:MOV A,#00H MOV DPTR,#TAB MOV R7,#10LOOP:MOV B,A MOVC A,A+DPTR MOV P1,A ACALL DELAY MOV A,B INC A DJNZ R7,LOOP SJMP D

7、ISPDELAY:MOV R6,#250L1:DJNZ R6,L1RETLOOP1:DJNZ R6,LOOP1RET TAB:DB 0C0H 0F9H 0A4H 0B0H 99HDB 92H 82H OF8H 80H 90HEND2.ORG 0000h SJMP MAIN ORG 000BH SJMP T0_ISR ORG 0030HMAIN:JB P3.0,$ ACALL DELAY 30ms JNB P3.0,$LOOP:CLR A MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV TMOD,#01H MOV TH0,#0D8H MOV Tl0,#0EF

8、H SETB ET0 sSETB EA SETB TR0PD: JB P3.1,FZ ACALL DELAY30ms JNB P3.1,$STOP:SJMP MAINFZ: CJNE R0,#100,$ INC DPTR CLR A MOVC A,A+DPTR CJNE A,#00H,AAA MOV DPTR,#TABLE ;如果花样数据完应重新循环 CLR A MOVC A,A+DPTRAAA:MOV P0,A MOV R0,#00H SJMP PDDELAY30ms: MOV R6,#150BBB: MOV R7,#100 DJNZ R7,$ DJNZ R6,BBB RETT0_ISR:

9、CLR TR0 MOV TH0,#0D8H MOV TL0,#0EFH INC R0 SETB TR0 RETITABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H END 七、PROTEUS仿真说明1、Hex文件的导入过程在仿真前,须先在KEIL4中生成.HEX文件。编译完源程序并且没有错误后,选择“Project-Options for Target Target1-Output”,在“Create HEX File”前面的空挑勾,再“确定”,即可生成HEX文件,如图7所示:图7 生成HEX文件示意图在进入PROTEUS ISIS中,双击

10、AT89C51芯片,出现如图8所示的对话框。在“Program File”一项中查找“seg.hex”文件的路径并加上该文件即可开始仿真,如图8所示:图8 keil的seg.hex文件载入单片机的示意图2、 在导入hex文件后,便可运行该设计系统,打开仿真开关,显示如图9所示: 图9 上电后显示图上电且没有按键时,按设计要求显示“0”,当开始按键时,显示值加1,如图10所示:图10 按键6次显示图 当有复位按钮按下时,系统显示“0”,如图11所示: 图11 复位显示图八、体会及合理化建议实验体会:本次设计主要是针对刚刚学过的单片机知识,用汇编语言在KEIL4中编程,在PROTEUS中绘制原理图

11、并进行仿真,通过对这两个软件的学习,了解了其功能的强大,掌握了AT89C51的内部结构及工作原理,对于我们以后的学习和实践有很大的指导意义。这次课程设计使我在学习新知识的同时,还锻炼了我的意志品质,当调试程序出现错误时,并没有使我灰心,让我放弃,而是通过自己不懈的努力,弄懂了每一部分知识。因此,本次课设对我以后无论是学习还是工作,都有着较大的帮助。通过这次课程设计,使我意识到了课本上的知识远远不能满足当今社会的需要,让我知道了未来学习知识要更加注重实践与实用。合理化建议:以后应增加类似本次课设的实践活动,同时应将软件实践活动,贯穿到整个学期之中,使得学到的软件都能更好、更多的应用到实践当中去。

12、在现如今高速发展的电子领域中,大部分工作都不是一个人所能完成的,因此,团队合作尤其重要,因此希望在以后的实践中能够增加些团队合作的项目与课题。附录I 电路原理图附录II 源程序清单#include#define uchar unsigned charsbit key=P10; /独立按键的位定义uchar code duan=0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /此数组为 ! 09 !uchar num; /记录按键的次数void display(uchar); /显示函数声明void delay(uchar); /延时函数声明

13、void main() uchar num=0; while(1) /while大循环if(key=0)delay(80); /按键消抖if(key=0) /重新检测 if(num=9) num=0; else num+; while(!key); /等待松手,松手后才能送去显示display(num); void display(uchar x) P2=duanx; delay(1); /在1位数码管上显示void delay(uchar a)uchar y,z;for(y=a;y0;y-)for(z=150;z0;z-);附录III 元器件清单元件标号元件名称所在库AT89C5151单片机

14、MCS805174HC245数据缓冲器74HC7SEG7段数码管DISPLAYRES电阻DEVICEBUTTON按键ACTIVECAP电容DEVICECRYSTAL晶振DEVICE参考文献1 张靖武 周灵彬. 单片机原理、应用与PROTEUS仿真, M北京:电子工业出版社,2007年4月.P73-872 高卫东 辛友顺 韩彦征. 51单片机原理与实践,M北京:北京航空航天大学出版社,2008年. P95-993 张红润 刘秀英 张亚凡. 单片机应用设计200例, M 北京:北京航空航天大学出版社,2006年. P120-1254 周润景 张丽娜 基于PROTUSE的电路及单片机系统设计与仿真,M北京航空航天大学出版社,2006年.P54-595 孙俊逸 盛秋林 张铮. 单片机原理及应用,M 北京:清华大学出版社,2006年3月.P28-52

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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