ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:125.89KB ,
资源ID:4929195      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4929195.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(上海第二工业大学单片机实验实训实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

上海第二工业大学单片机实验实训实验报告.docx

1、上海第二工业大学单片机实验实训实验报告单片机实验实训实验报告班级:10计科A1 学号:20123430074 姓名:贾强强第一章Keil教程 1. 源文件的建立 1)启动uVision后,File-New,打开一个新的文本编辑窗口,在窗口中输入汇编语言程序2)保存文件,扩展名一般用asm或a51.例如:exam1.asm2. 建立工程文件1)点击Project-NewProject,出现对话框,输入工程名。点击保存。随后出现第二个对话框,选择CPU(这里选89C51),然后确定2)工程详细设置 点击Project窗口中的Target1(Project-Optionfortargettarget

2、1)出现对话框,后面大部分页面默认就行3.编译、连接1)将源文件加入到工程2)选择菜单Project-Build target3) 进入下一步调试第二章 文件的下载操作1. 运行环境:FLIP2.4.62. 实验步骤:1)选择芯片选择“Select device-AT89C51RC2”2) 选择要烧写的文件 单击Load HEX File,在对话框中选择要烧写的HEX文件3)通信设置 单击“Set Communication-RS232/com1/9600波特“后单击Connect4) 下载烧写文件 单片机与PC连通后单击Run5) 运行 a.下载成功后,单击Start application

3、b拔掉w1短接调线,然后执行reset重启操作 4.1实验1 Keil及FLIP的使用实验目的:熟悉Keil2单片机开发软件的使用方法;熟悉在系统编程下软件FLIP的使用方法,同时利用Keil环境测试汇编语言指令实验要求:测试如下指令MOV A,R0;MOV A ,50HMOV A,R0MOV A,#20H实验步骤:(1)在C盘根目录创建test1的文件夹(2)创建工程,名为:test1,放于test1文件夹中(3)创建源文件,名为:test1.asm,内容如下(4)将test1.asm加入工程,编译(5)如有错误进行修改(6)调试(单击debug菜单下的start/stop debuge s

4、ession,并进行单步跟踪,注意咯寄存器及内存单元变化)实验程序:ORG 0000HMOV R0,#30HMOV 50H,#3AHMOV A,R0MOV A,R0MOV A,20HMOV R0,AEND4.2. 实验2 基本I/O引脚信号的控制1.实验目的:熟练掌握对基本I/O口的控制方法,通过编写循环和延时程序控制P1口引脚信号电平的高低,从而实现相对应LED灯的亮灭2实验要求:LED灯的亮灭时间为1秒,并伴随有你蜂鸣器1秒间隔的“嘀”声3.实验电路(略)(1) 延时程序设计方法a)原理介绍:MOV R6 ,#200 1D1:MOV R7,#228 1DJNZ R7,$ 2*248NOP

5、1DJNZ R6,D1 2总延迟机器周期为:2+(2+2*228+2+1)*200=92220总延迟时间为:92220*1.085=100057b)延时子程序:DELAY: MOV R5,#10MOV R6,#200MOV R7,#228 DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RET (2)输出控制 P1.0=1时,灯亮 P2.7=0时,蜂鸣器响5.程序框图:6.汇编源程序:ORG 0000HSTART: CLR P1.0 CLR P2.7 LCALL DELAY SETB P1.0 SETB P2.7 LCALL DELAY LJMP STARTDELAY: MOV R5

6、,#10D1: MOV R6,#200D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND4.3 实验3 基本分支与循环程序设计实验目的:掌握基本分支与循环程序设计方法实验要求:(1)有一变量在片内RAM的20H单元。取值范围:00H05H。编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元。实验程序:(2)设变量x以补码形式存放在片内RAM的30H单元,变量y与x的关系是:当x大于0时,y=x;当x=0时,y=20H;当x小于0时,y=x+5.编制程序,根据x的大小球y并送回单元。程序流程图:程序源代码: ORG 0000H MO

7、V 30H,#88HSTART:MOV A,30H JZ NEXT ANL A,#80H JZ LP MOV A,#05H ADD A,30H MOV 30H,A SJMP LPNEXT:MOV 30H,#20HLP:SJMP $ END4.4 实验4 定时器的使用实验目的:掌握定时器的使用方法,能够根据定时时间正确设置定时器相关的寄存器,能够正确编写定时器的中断服务程序。程序设计步骤:实验程序:ORG 0000HLJMP MAINORG 000BHLJMP INTT0MAIN: MOV TMOD,#01H MOV TH0,#0C3H MOV TL0,#0FFH SETB EA SETB ET

8、0 SETB TR0 MOV R0,#60 SJMP $INTT0: MOV TH0,#0C3H MOV TL0,#0FFH DJNZ R0,RT CPL P1.0 CPL P2.7RT:RETI END实验总结:1)工作方式寄存器TMOD 89H GATE C|T M1 M0 GATE C|T M1 M0其中高4位是定时器T1,低4位是定时器T0区别:T0:方式0、1、2、3 T1:方式0、1、2 2)开中断 EA:中断总控制位 ET0 ET1:定时器中断控制位TR0,TR1:定时器0、1使能3):中断服务入口地址优先级顺序1外部中断00003H 从高到低2定时|计数器0000BH3外部中断

9、10013H4定时|计数器1001BH5串行口中断0023H4)中断理解:CPU暂停正在执行的操作,去执行中断服务程序,待执行完毕后再返回断点处继续执行。45 实验五 数码管显示实验目的:掌握数码管的编码方法。实验要求:(1) 实现在数码管上DS1、DS2、DS3、DS4上显示数字 1、2、3、4。(2) 利用中断的方法实现准确的秒表程序,并在数码管上显示。要求开始时DS1、DS2显示分钟,DS2小数点点亮,DS3、DS4显示秒,初始时都显示0;运行后DS每隔一秒钟数字加1,加到10后变0,DS3加1,DS3、DS4加到60后,切换到小时状态:DS1、DS2显示小时,DS2的小数点点亮,DS3

10、、DS4显示分钟,DS4的小数点每隔一秒亮灭一次,亮灭分别30次后,DS4加1。实验流程图:程序源代码:ORG 0000HLJMP MAINORG 000BHLJMP DVT0MAIN:MOV R0,#30MOV R1,#59MOV R2,#23MOV R5,#00MOV R6,#00MOV DPTR,#TABMOV TMOD,#01HMOV TH0,0C3HMOV TL0,0FFHSETB ET0SETB EASETB TR0LOOP:CJNE R2,#00,LOOP1MOV A,R1MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,#0FEHMOV P0,AACALL

11、DELAYMOV A,BMOVC A,A+DPTRMOV P2,#0FDHANL A,#7FHMOV P0,AACALL DELAYMOV A,R0MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,0FBHMOV P0,AACALL DELAYMOV A,BMOVC A,A+DPTRMOV P2,#0FCHMOV P0,AACALL DELAYLJMP LOOPLOOP1:MOV A,R2MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,#0FEHMOV P0,AACALL DELAYMOV A,BMOVC A,A+DPTRMOV P2,#0FDHANL

12、 A,#7FHMOV P0,AACALL DELAYMOV A,R1MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,#0FBHMOV P0,AACALL DELAYMOV A,BMOVC A,A+DPTRMOV P2,#0F7HMOV B,AMOV A,R0ANL A,#01HJZ DOTMOV A,BSJMP SHOWDOTDOT:MOV A,BANL A,#7FHSHOWDOT:MOV P0,AACALL DELAYLJMP LOOPDELAY:MOV R6,#10DEL:MOV R7,#100NOPDEL1:DJNZ R7,DEL1DJNZ R6,DELRETTAB

13、: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90H,88H,83H,0C6H,0A1H,86H,8EHDVT0:INC R4MOV TH0,#0C3HMOV TL0,#0FFHCJNE R4,#60,RTMOV R4,#00INC R0CJNE R0,#60,RTMOV R1,#00INC R2CJNE R2,#24,RTMOV R2,#00RT:RETIEND4.6 实验6 键盘扫描实验目的:掌握对键盘的扫描方法,编写键盘的扫描程序。实验要求:(1) 矩阵按键编程 1实验电路:如图实验要求:编写程序,要求按KB1键时,在数码管上显示1,按K

14、B2键时在数码管上显示2,以此类推,按KB6键时在数码管上显示6。程序源代码:ORG 0000HSMKEY:MOV P1,#03H MOV A,P1 ANL A,#0FH CJNE A,#03H,HKEY SJMP SMKEYHKEY:LCALL DELAY10 MOV A,P1 ANL A,#0FH MOV B,A CJNE A,#03H,WKEY SJMP SMKEYWKEY:MOV P1,#1CH LCALL DELAY10 MOV A,P1 ANL A,#1CH ORL A,B CLR P2.3 CJNE R4,#1AH,PKEY0 LJMP PKEY2PKEY0:CJNE A,#1A

15、H,SMKEY MOV R4,#1AHPKEY2:CJNE A,#16H,PKEY3 MOV P0,#0A4HPKEY3:CJNE A,#0EH,PKEY4 MOV P0,#0B0HPKEY4:CJNE A,#19H,PKEY5 MOV P0,#99HPKEY5:CJNE A,#15H,PKEY6 MOV P0,#92HPKEY6:CJNE A,#0DH,SMKEY MOV P0,#82HRETI0: SJMP SMKEYDELAY10: MOV R6,#100DEL: MOV R7,#50DEL1: DJNZ R7,DEL1 DJNZ R6,DEL RETEND(2) 矩阵按键编程 2实验电

16、路:如图实验要求:通过按键修改秒表程序,具体按键功能如下:KB1:启动秒表设置程序,不先按KB1,其他按键无效,再次按KB1,保存设置结果;KB2:对时间清零,回到初始态 00:00:00:00;KB3:在小时模式和分钟模式直接切换;KB4:小时加1;KB5:分钟加1;KB6:秒加1。4.7 实验7 串行通信程序设计实验目的:掌握固定和可变波特率串行通信的方法,能够按照给定的波特率设置相关的寄存器,实现串行通信。实验要求:(1) 编写单片机与PC之间通过串口通信的程序,编写串口通信程序,要求PC机先发送02H,单片机发送“HELLO”,如果PC及发送55H,单片机发送“THIS IS A WE

17、LL BEGIN!”(注:PC机发送由串口工具完成,要求波特率为9600bit/s)(2) 编写单片机与单片机之间进行串口通讯的程序。改写李全利编著单片机原理及应用一书中6.3单片机串行口应用举例。实验电路图:程序源代码:编写单片机与PC之间通过串口进行通讯的程序,编写串口通信程序要求PC机先发送02H,单片机发送“HELLO”,如果PC机发送55H单片机发送“THIS IS A WELL BEGIN!”(注:PC机发送由串口工具完成,要求波特率为9600bit/s)ORG 0000HLJMP MAINORG 0023HLJMP DIV0ORG 0100HMAIN:MOV TMOD,#20H

18、MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#50H MOV R0,00H MOV R1,00H SETB EA SETB TR1 SETB ES SJMP $DIV0:JNB RI,RT CLR RI MOV A,SBUF CJNE A,#31H,LOOP2 CLR ESAGAIN: MOV A,R0 MOV DPTR,#BUF1 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 CJNE R0,#06H,AGAIN SETB ES SJMP RT LOOP2: CJNE A,#32H,RT CLR ESAGAIN2

19、: MOV A,R1 MOV DPTR,#BUF2 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R1 CJNE R1,#05H,AGAIN2 SETB ESRT:RETIORG 2000H BUF1:DB HELLO!BUF2:DB GOOD!END4.8 实验8 A/D转换器的使用1实验目的:掌握ADC0809的工作原理。实验要求:编写0809A/D转换程序,每隔1秒将A/D转换的结果显示在DS3和DS4两位上,以十六进制形式显示。程序设计:由于读A/D转换的结果和刷新LED都要用到的P0口,因此,如果读取A/D转换结果频率太快,就会出现无法正确

20、显示的现象,解决办法是由定时器T1,定时1秒,每秒启动A/D转换一次。因为T0中断太频繁,为保证T1进入中断可将T1和INT0中断设为高优先级。程序源代码:ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHLJMP PPT0ORG 001BHLJMP PPT1ORG 0100HSTART: SETB IT0 SETB EA SETB EX0 SETB PX0 MOV TMOD,#12H MOV TH0,#0FBH MOV TL0,#0FBHSETB TR0SETB ET0MOV TH1,#0FHMOV TL1,#00HSETB ET1SETB PT1

21、SETB TR1SETB P3.6SETB P1.4CLR P3.6CALL DELAY1MSSETB P3.6MOV 20H,#50HMOV R7,#20LOOP: CALL DISPLAYAGAIN:AJMP LOOPDELAY1MS: MOV R0,#100LOOP1:MOV R1,#10LOOP2:DJNZ R1,LOOP1 DJNZ R0,LOOP1 RETDISPLAY: MOV DPTR,#DPDATA MOV A,20HANL A,#0FHCLR P2.1MOVC A,A+DPTRMOV P0,ACALL DELAY1MSSETB P2.1MOV A,20HANL A,#0F0

22、HSWAP ACLR P2.0MOVC A,A+DPTRMOV P0,ACALL DELAY1MSSETB P2.0RETDPDATA:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H DB 0F8H,80H,98H,88H,83H,0E2H,0A1H,86H8EHPINT0:CLR P3.7MOV P0,#0FFHMOV A,P0SETB P3.7MOV 20H,ARETIPPT0:CPL P3.3RETIPPT1:MOV TH1,#0FHMOV TL0,#00HCLR TF1DJNZ R7,RETNMOV R7,#20SETB P3.6SETB P1.4CLR P3.6

23、CALL DELAY1MSSETB P3.6RETN: RETI END实验心得:回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,在程序调试的过程中提高自己的发现问题、解决问题、实际动手和独立思考的能力。当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 这次课程设计能顺利的完成,除了我们的努力外,当然也离不开指导老师申老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1