【2017年整理】单片机实验报告 。

上传人:爱****1 文档编号:942264 上传时间:2017-05-23 格式:DOC 页数:12 大小:310.29KB
返回 下载 相关 举报
【2017年整理】单片机实验报告 。_第1页
第1页 / 共12页
【2017年整理】单片机实验报告 。_第2页
第2页 / 共12页
【2017年整理】单片机实验报告 。_第3页
第3页 / 共12页
【2017年整理】单片机实验报告 。_第4页
第4页 / 共12页
【2017年整理】单片机实验报告 。_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《【2017年整理】单片机实验报告 。》由会员分享,可在线阅读,更多相关《【2017年整理】单片机实验报告 。(12页珍藏版)》请在金锄头文库上搜索。

1、指导老师:董增文 1微机原理与接口技术实验报告姓名: 刘伟 班级: 材成 131 学号: 5901213036 机电工程学院2015 年 7 月指导老师:董增文 - 0 -实验一 清零实验 (基础实验)一、实验目的1. 掌握存储器读写方法。2. 了解存储器的块操作方法。二、实验内容1. 指定内部 RAM 中某块的起始地址和长度,要求能将其内容清零。2. 指定外部 RAM 中某块的起始地址和长度,要求能将其内容清零。3. 指定外部 RAM 中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH) 。三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单

2、片机编程、调试方法。四、实验仪器和设备PC 机、 WAVE 软件。五、程序框图否是存储器块清零参考程序框图六、程序:ORG 00HLJMP 30HORG 30H MOV DPTR,#2000H MOV R7,#00HCLR A BB:MOVX DPTR,A设置块起始地址设置块长度当前地址内容清零地址加 1结束是否清除完?指导老师:董增文 - 1 -INC DPTRDJNZ R7,BBSJMP $END七、实验分析实验二拆字程序(基础实验)一、实验目的掌握汇编语言设计和调试方法。二、实验内容把 7000H 的数拆成两个 BCD 码,高位置于 7001H,低位置于 7002H。三、实验说明通过本实

3、验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。四、主要仪器设备及耗材PC 机、 WAVE 软件5、程序:ORG 00HLJMP 30HORG 30H MOV DPTR,#2000HMOV A,#0A5HMOVX DPTR,AMOVX A,DPTRMOV B,ASWAP AANL A,#0FHINC DPTRMOVX DPTR,AINC DPTRMOV A,BANL A,#0FHMOVX DPTR,ASJMP $指导老师:董增文 - 2 -END六、实验分析实验三拼字程序(基础实验)一、实验目的掌握汇编语言设计和调试方法。二、实验内容把 7000H 的低四位 BCD 数和 7001

4、H 的低四位 BCD 数,拼成压缩 BCD 码的形式存放在 7002H。三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。四、主要仪器设备及耗材PC 机、 WAVE 软件五、程序框图 开 始701H内 容 送 A,A- 30H,内 容 送A中 低 四 位 和 30H低 四位 相 拼 , 存 AA- 702H结 束指导老师:董增文 - 1 -六、程序:ORG 00HLJMP 30HORG 30HMOV DPTR,#2000HMOVX A,DPTRANL A,#0FHMOV B,AINC DPTRMOVX A,DPTRANL A,#0FHSWAP AORL A,BIN

5、C DPTRMOVX DPTR,ASJMP $END七、实验分析实验四 数据块传送程序(基础实验)一、实验目的1了解内存的移动方法。2加深对存储器读写的认识。二、实验内容将指定源地址和长度的存储块移到指定目标位置。三、实验说明指导老师:董增文 - 1 -块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免?四、实验仪器和设备PC 机、 WAVE 软件。五、程序框图存储块移动参考程序框图六、程序:ORG 00HLJMP 30HORG 30HMOV R

6、0,#40HMOV R1,#41HMOV R2,#5AA:MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,AAEND七、实验分析设置块的源地址设置移动长度源地址加 1目标地址加 1结束是否移动完?设置块的目标地址从源地址取数保存到目标地址中指导老师:董增文 - 1 -实验五 排序实验(基础实验)一、实验程序:ORG 00HLJMP 30HORG 30HMOV R0,#10H AA:MOV R1,#50HMOV A,R0MOV R2,ABB:MOV A,R1MOV R3,AINC R1 SUBB A,R1 JC CCMOV A,R3XCH A,R1DEC R1MOV R1

7、,AINC R1CC:DJNZ R2,BBDJNZ R0,AAEND二、实验分析实验六 跑马灯实验一、实验目的1、掌握 P1 口控制跑马灯程序的编写方法。指导老师:董增文 - 1 -2、延时程序的编写方法。二、实验内容实现 P1 控制的 8 个灯 D1D8 的间隔半秒的循环点亮。三、实验说明a) P1 口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当 P1 口作为输入口时,必须先对它置高电平,使内部 MOS 管截止,因内部上拉电阻是 20K40K ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则 MOS 管导通,读入的数据是不正确的。2、 延时子程序

8、的延时计算问题。对于延时程序DELAY :MOV R6, #00HDELAY1:MOV R7, #80HDJNZ R7, $DJNZ R6, DELAY1查指令表可知 MOV、DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为 12/ 6.0MHZ,所以该段指令执行时间为:(80+1)256+1) 2(126000000)=132.1ms四、实验程序框图 开 始P1口 输 出 01H并 锁存 , 点 亮 D延 时 半 秒P1- AA左 移 一 位N五、实验线路图指导老师:董增文 - 2 -六、实验步骤用伟福软件编写程序,并编译通过用 STC 软件下装程序到 TX-1C 单片机实验板。七

9、、程序ORG 0540hHA1S: MOV A,#00HHA1S1: JB P3.3,HA1S1MOV R2,#20HLCALL DELAYJB P3.3,HA1S1HA1S2: JNB P3.3,HA1S2MOV R2,#20HLCALL DELAYJNB P3.3,HA1S2INC APUSH ACCCPL AMOV P1,APOP ACCAJMP HA1S1DELAY: PUSH 02HDELAY1: PUSH 02HDELAY2: PUSH 02HDELAY3: DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02

10、HDJNZ R2,DELAYRETENDEND八、实验分析指导老师:董增文 1综合实验一 定时器、中断综合实验(综合性实验)一、实验目的掌握定时器中断方式的使用,蜂鸣器的使用二、实验内容1、利用 P2.3 口发出低电平让蜂鸣器发声,发出高电平蜂鸣器停止发声;2、通过定时器设置 P2.3 口,最终达到蜂鸣器能够响 1s 停 1s 的效果;3、通过按键增大和减小蜂鸣器的发声间隔;4、要求用定时器中断方式。三、实验线路图四、参考程序流程图指导老师:董增文 2五、实验仪器和设备微机原理与接口技术、PC 机、USB 线、串口线六、实验步骤1、将实验板上的串口线与电脑串口相连(下载程序用) ;2、将实验板

11、上的 USB 线与电脑机箱上 USB 口相连(提供电源) ;3、打开“伟福”确认其仿真器设置为 H51/L 里的 89C51RX,并且语言那项里编译器选择“伟福编译器” ;把程序在伟福中编译生成*.HEX 文件;5、打开 STC 软件用以把*.HEX 文件写入单片机的 ROM 中运行(注意选单片机型号为 89C52) ;6、在试验板左上中部,数码管的下方是电源开关,请确定此时试验板处于关电状态;7、在 STC 软件中点击“打开文件”按钮选择事先准备好的*.HEX 文件;8、点击“download” ,随后快速的使得试验板上的电源处于开的状态,则显示开始下载程序到单片机中,如果失败,则需要先点“

12、stop”后重新将试验板电源按到关的状态,然后再点击“download”再开试验板上电源,直到下载成功为止;9、收听试验效果。七、实验程序FM_CON BIT P2.3TIMER_ADD BIT 20HTIMER_SUB BIT 21HTIM_SET EQU 40HTIM_SET_BUF EQU 41HORG 0000HLJMP STARTORG 000BHLJMP TIM0ORG 0030HSTART: MOV SP,#60HMOV TIM_SET,#20MOV TIM_SET_BUF,TIM_SET;MOV TMOD,#01HMOV TH0,#0DCHMOV TL0,#00HSETB TR

13、0;MOV IE,#10000010B;LOOP: LCALL KEY_SCANJNZ K1LCALL DELAY10MSSJMP LOOPK1: LCALL DELAY10MSLCALL KEY_SCANJZ LOOPLCALL KEY_SCAN1JNB TIMER_ADD,NEXTCLR TIMER_ADDINC TIM_SETMOV TIM_SET_BUF,TIM_SETKEY_REALSE: LCALL DELAY10MSLCALL KEY_SCANJNZ KEY_REALSESJMP LOOPNEXT: JNB TIMER_SUB,KEY_REALSECLR TIMER_SUBDEC

14、 TIM_SETMOV 指导老师:董增文 3TIM_SET_BUF,TIM_SETSJMP KEY_REALSEKEY_SCAN: MOV A,P3CPL AANL A,#00110000BRETKEY_SCAN1: JB P3.4,NEXT1SETB TIMER_ADDRETNEXT1 : JB P3.5,NEXTN1SETB TIMER_SUBNEXTN1: RETORG 0300HTIM0: MOV TH0,#04CHMOV TL0,#00HDJNZ TIM_SET_BUF,OUTCPL FM_CONMOV TIM_SET_BUF,TIM_SETOUT: RETIDELAY10MS: MOV R2,#50DELAY1: MOV R3,#100DJNZ R3,$DJNZ R2,DELAY1RETEND八、实验分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号