欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    东南大学单片机实验报告.docx

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

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

    东南大学单片机实验报告.docx

    1、东南大学单片机实验报告单片机应用系统设计实验报告姓名:学号:院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:软件实验一数据传送实验一、 实验目的1、熟悉单片机仿真开发器的使用;2、掌握编程方法;3、掌握8051内部RAM的数据操作二、 实验内容内部RAM 40H4FH单元置数A0HAFH,然后将40H4FH单元内容送到内部RAM50H5FH单元中。 编辑、编译、运行程序,检查内部RAM中的结果。三、 实验程序 ORG 0000HRESET: AJMP MAIN ORG 003FHMAIN: MOV R0,#40H MOV R2,#10H;提高时将10

    2、H改为20H MOV A,#0A0H;提高时将0A0H改为00HA1: MOV R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#40H MOV R1,#50H;提高时将50H改为60H MOV R2,#10H;提高时将10H改为20HA2: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,A2A3: SJMP A3四、 实验结果实验显示RAM的40H4FH以及50H5FH的内容都为A0HAFH。五、 实验提高修改程序:将所置的数改为00H1FH,置数单元和传送单元分别改为内部RAM的40H5FH、60H7FH。思考:见实验程序注释部分。

    3、软件实验二多字节十进制加法实验一、 实验目的掌握MCS-51汇编语言程序设计方法二、实验内容多字节十进制加法;加数存储单元首地址由R0指出,被加数和结果的存储单元首地址由R1指出,字节数由R2指出;编辑、编译、运行程序,检查内部RAM中的结果。三、实验程序 加数存储单元为:31H、30H,被加数存储单元为:21H、20H,结果存储单元为:22H、21H、20H。- ORG 0000HRESET: AJMP MAIN ORG 0100HMAIN: MOV SP,#60H MOV R0,#31H MOV R0,#22H ;提高时将加数高位22H改为自定义的数的高位(如45H) DEC R0 MOV

    4、 R0,#33H ;提高时将加数低位33H改为自定义的数的低位(如34H) MOV R1,#21H MOV R1,#44H ;提高时作为被加数的高位被修改(如改为35H) DEC R1 MOV R1,#55H ;提高时作为被加数的低位被修改(如改为56H) MOV R2,#02H ACALL DACEHERE: SJMP HEREDACE: CLR CDAL: MOV A,R0 ADDC A,R1 DA A MOV R1,A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0,C MOV R1,A RET四、实验结果被加数单元地址(21H)(20H) 加数单元地

    5、址(31H)(30H)+)结果单元地址(22H)(21H)(20H)被加数数值35H56H 加数数值22H33H+) 结果数值00H66H88H五、实验提高 修改加数和被加数(十进制数),重复运行程序。思考:见程序注释部分,改过之后结果如下:被加数数值44H55H 加数数值45H34H+) 结果数值00H89H89H软件实验三十进制数排序实验一、实验目的 掌握十进制数的排序方法二、实验内容 本程序用的是“冒泡排序”法,是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序,即从小到大排序。三

    6、、实验流程图四、实验程序SIZE EQU 10 ARRAY EQU 40H CHANGE EQU 0SORT: MOV R0,#ARRAY MOV R7,#SIZE-1 CLR CHANGEGOON: MOV A,R0 MOV R2,A INC R0 MOV B,R0 CJNE A,B,NOTEQUAL SJMP NEXTNOTEQUAL: JC NEXT ;提高时将“JC”改为“JNC” SETB CHANGE XCH A,R0 DEC R0 XCH A,R0 INC R0NEXT: DJNZ R7,GOON JB CHANGE,SORT LJMP $ END五、实验结果 实验时,运行程序前

    7、手动更改RAM 50H59H的内容为任意10个无序的数,如00H,89H,F6H,6AH,04H,C0H,BAH,34H,25H,FFH。运行程序后可以看到50H59H的内容变为00H,04H,25H,34H,6AH,89H,BAH,C0H,F6H,FFH即按升序排列的10个数。六、实验提高 修改程序,按照从小到大的顺序排列。 思考:只要将NOTEQUAL子程序中的JC改为JNC即可实现。运行后的数据将按照从大到小排列。硬件实验一 I/O口输入/输出及控制实验 、I/O口输入/输出实验一、实验目的 1、学习单片机I/O口的使用方法; 2、学习延时子程序的编写和使用。二、实验内容 1、I/O口输

    8、出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。 2、I/O口输入/输出:P1.0、P1.1做输入口接两个拨动开关;P1.2、P1.3做输出口,接两个发光二极管。编写程序读取开关状态,将此状态在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。三、实验步骤1、I/O口输出硬件连接连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35P1.4L46P1.5L57P1.6L68P1.7L7MCS51的P1口循环点灯2、I/O口输入/输出硬件连接连线连接孔1连接孔21K4P1.02K5P1.13P1.2L44P1.3

    9、L5MCS51的P1口输入/输出3、实验说明(1)对于MCS51,P1口是准双向口。它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。(2)8051延时子程序的延时计算问题,对于程序 DELAY: MOV R6, #0H MOV R7, #0H DELAYLOOP: DJNZ R6, DELAYLOOP DJNZ R7, DELAYLOOP RET查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ=1ms,该延时子程序延时:(256X256+2)X2X12/12=1

    10、30ms。4、分别连接硬件并执行相关程序,记录结果。四、实验流程图五、实验程序1、I/O口输出(P1口循环点灯)LOOP: MOV A,#01H ;提高时将01H改为55H MOV R2,#8OUTPUT: MOV P1,A RL A CALL DELAY DJNZ R2,OUTPUT LJMP LOOPDELAY: MOV R6,#0 MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP RETEND2、I/O口输入/输出(P1口输入/输出)KEYLEFT EQU P1.0 KEYRIGHT EQU P1.1 LEDLEFT EQU

    11、P1.2 LEDRIGHT EQU P1.3 SETB KEYLEFT SETB KEYRIGHTLOOP: MOV C,KEYLEFT MOV LEDLEFT,C MOV C,KEYRIGHT MOV LEDRIGHT,C LJMP LOOPEND六、实验结果 I/O口输出实验,运行程序后可以看到LED从右向左循环点亮; I/O口输入/输出实验,运行程序并置1后,拨动某一个开关后会看到对应的LED发光。七、实验提高 修改I/O口输出程序,改成先1,3,5,7灯亮,再2,4,6,8灯亮。 思考:只要将程序第一行的01H 改为55H即可。、继电器控制实验一、实验目的 1、学习I/O端口的使用方法

    12、; 2、掌握继电器控制的基本方法; 3、了解用弱电控制强电的方法。二、实验内容 用单片机端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。三、实验步骤1、硬件连线连线连接孔1连接孔21P1.0继电器输入25V继电器常闭输入3L0继电器中间输入2、实验说明 现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子电路与电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一作用。 本实验采用的继电器其控制电压是5V,控制端为高电平时,继电器工作常开触点吸合,连

    13、接触点的LED灯被点亮。当控制端为低电平时,继电器不工作,LED灯灭。3、分析并执行程序四、实验流程图五、实验程序OUTPUT EQU P1.0 ;P1.0 PORTLOOP: CLR C MOV OUTPUT,C CALL DELAY SETB C MOV OUTPUT,C CALL DELAY LJMP LOOPDELAY:;提高时为了修改延时时间,只要更改2个0即可。 MOV R6,#0 MOV R7,#0DLOOP: DJNZ R7,DLOOP DJNZ R6,DLOOP RETEND六、实验结果 运行程序后可以看到LED灯呈亮、灭、亮、灭的循环。七、实验提高1、修改程序,改变继电器吸

    14、合的时间间隔;思考:更改DELAY子程序中的两个立即数即可。2、查询资料,了解其他弱电控制强电的方法。思考:固体继电器、可控硅、光电耦合可控硅等等。硬件实验二数据输入/输出口扩展实验、用74HC245读入数据一、实验目的 1、了解CPU数据总线的使用; 2、掌握利用74HC245数据输入/输出的方法。二、实验内容 利用试验箱上的74HC245输入电路,用总线方式读入开关状态。三、实验步骤1、硬件连接连线连接孔1连接孔21K0245-I02K1245-I13K2245-I24K3245-I35K4245-I46K5245-I57K6245-I68K7245-I79CS0CS2452、实验说明 一

    15、般情况下,CPU的总线会挂有很多器件,如何使这些器件不造成冲突,这就要使用一些总线隔离器件,例如74HC245就是一种。74HC245是三态总线收发器,利用它既可以输出也可以输入数据。 本实验74HC245的片选地址为CS0,即8000H,读这个地址,就是从74HC245读回开关的值。可以用单步的方式执行程序,改变开关状态,观察读回的值。3、分析并执行程序,观察并记录实验结果。四、程序流程图五、实验程序CS245 EQU 8000HORG 0000HLOOP: MOV DPTR,#CS245 MOVX A,DPTR LJMP LOOP END六、实验结果 程序执行后,拨动八位开关,开为1,闭为

    16、0,开关状态表示8位二进制数,相应的寄存器显示对应的结果。七、实验提高连接拨动开关,利用发光二极管显示拨动开关的状态。如果利用74HC245输出,如何设计电路?思考:将二极管与开关一一对应相连即可。其中开关连接74HC245的输入端,LED连接74HC245的输出端。、74HC273扩展数据输出一、实验目的 1、学习在单片机系统中扩展简单I/O接口的方法; 2、学习数据输出程序的设计方法; 3、了解数据锁存的概念和方法。二、实验内容 利用实验箱上的273输出电路,从总线上输出I/O口信号,控制八个LED灯。三、实验步骤1、硬件连接连线连接孔1连接孔21L0273-I02L1273-I13L22

    17、73-I24L3273-I35L4273-I46L5273-I57L6273-I68L7273-I79CS0CS2732、实验说明 本实验用74HC273扩展I/O端口。方法是:通过片选信号和写信号将数据总线上的值锁存在273中,同时在273的输出端口输出。 当数据总线上的值撤销后,由于273能够锁存信号,所以273的输出端保持不变,直到下次有新的数据被锁存。 本实验中,在数据输出同时输出片选信号和写信号。3、分析并执行程序,观察并记录结果。四、实验流程图五、实验程序CS273 EQU 8000HMOV DPTR,#CS273MOV A,#1LOOP: MOVX DPTR,A MOV R6,#

    18、0FFH MOV R7,#0FFHDELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP NOPRL A ;提高时将RL改为RR LJMP LOOPDELAY: ENDCS273 EQU 8000H MOV DPTR,#CS273 MOV A,#1LOOP: MOVX DPTR,A RL A ;提高时将RL改为RR NOP LJMP LOOPEND六、实验结果 执行程序后可以看到LED灯从右向左循环点亮。七、实验提高增加延时程序,让LED灯由左向右循环点亮。思考:见程序注释。硬件实验四显示器/键盘实验、八段数码管显示实验一、实验目的 1、了解数码管动态显示

    19、的原理;2、了解用总线方式控制数码管显示。二、实验内容利用实验仪提供的显示电路,动态显示一行数据。三、实验步骤1、硬件连接连线连接孔1连接孔21KEY/LED_CSCS02、实验说明注意:当用总线方式驱动八段显示管时,请将八段的驱动方式选择开关拨到“内驱”位置;当用I/O方式驱动八段显示管时,请将开关拨到“外驱”位置。本实验仪提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。本实验仪中 8位段码输出地址为0X004H,位

    20、码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。七段数码管的字型代码表如下表:显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC01110

    21、0139hd10111105ehE111100179hF111000171h3、分析并执行程序,观察并记录结果。四、实验流程图五、实验程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HNUM EQU 70HDELAYT EQU 75HLJMP STARTLEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY: MOV R7,#0DELAYLOOP: DJNZ R7,DELAYLOOP DJNZ R6, DELA

    22、YLOOP RETDISPLAYLED: MOV R0,#LEDBUF MOV R1, #6 MOV R2, #00100000BLOOP: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV A,R0 MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A MOV R6,#05 CALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,LOOP MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A RETSTART: MO

    23、V SP,#40H MOV NUM,#0 MLOOP: INC NUM MOV A,NUM MOV B,A MOV R0,#LEDBUFFILLBUF: MOV A,B ANL A,#0FH MOV DPTR,#LEDMAP MOVC A,A+DPTR MOV R0,A INC R0 INC B CJNE R0,#LEDBUF+6,FILLBUF MOV DELAYT,#30DISPAGAIN: CALL DISPLAYLED DJNZ DELAYT,DISPAGAIN LJMP MLOOP END六、实验结果 数码管动态地012345、123456、234567、F012345、012345

    24、6、不断循环显示。七、实验提高 修改程序,显示1、2、3、4、5、6或A、B、C、D、E、F。 思考:为了显示16,将START第二行的0改为1且去掉MLOOP语句;显示AF时,将1改为10。、键盘扫描显示实验一、实验目的1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和LED八段码显示器的工作原理。二、实验内容在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。实验程序可分成三个模块。键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。显示模块:将显示单元的内容在显示器上动态显示。主程序:调用键

    25、输入模块和显示模块。三、实验步骤1、硬件连接连线连接孔1连接孔21KEY/LED_CSCS0列码(0X002H)读回行码(0X001H)数据总线2、实验说明本实验仪提供了一个64的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,相应行码为高。在判断有键按下后,要有一定的延时,防止键盘抖动。再通过输出的列码和读取的行码来判断按下的是什么键。地址中的X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如

    26、将KEY/LED CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号(参见键盘显示电路)。3、分析并执行程序,观察并记录结果。四、实验流程图显示程序框图见前个实验五、实验程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HLJMP STARTLEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY: MOV R7,#0DELAYLOOP: DJNZ R7

    27、,DELAYLOOP DJNZ R6, DELAYLOOP RETDISPLAYLED: MOV R0,#LEDBUF MOV R1, #6 MOV R2, #00100000BLOOP: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV A,R0 MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A MOV R6,#1 CALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,LOOP RETTESTKEY: MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV


    注意事项

    本文(东南大学单片机实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开