单片机原理及应用课程设计实验报告储存器快清零.doc

上传人:laozhun 文档编号:4192940 上传时间:2023-04-09 格式:DOC 页数:38 大小:4.37MB
返回 下载 相关 举报
单片机原理及应用课程设计实验报告储存器快清零.doc_第1页
第1页 / 共38页
单片机原理及应用课程设计实验报告储存器快清零.doc_第2页
第2页 / 共38页
单片机原理及应用课程设计实验报告储存器快清零.doc_第3页
第3页 / 共38页
单片机原理及应用课程设计实验报告储存器快清零.doc_第4页
第4页 / 共38页
单片机原理及应用课程设计实验报告储存器快清零.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《单片机原理及应用课程设计实验报告储存器快清零.doc》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计实验报告储存器快清零.doc(38页珍藏版)》请在三一办公上搜索。

1、学 生 实 验 报 告(理工类)课程名称: 单片机原理及应用 专业班级: 07电子信息工程(2)班 学生学号: 学生姓名: 所属院部: 信息技术学院 指导教师: 20 10 20 11 学年 第 1 学期 金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次

2、清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称: 存储器块清零 实验学时: 2学时 同组学生姓名: 实验地点: B403 实验日期: 2010-10-12 实验成绩: 批改教师: 批改时间:

3、一、实验目的和要求1、实验目的(1)掌握存储器读写方法(2)了解存储器的块操作方法2、实验要求指定存储器中某块的起始地址和长度,要求能将其内容清零。二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程设置块长度设置块起始地址地址加1当前地址内容清零是否清除完结束是否实验程序:Block equ 4000h mov dptr, #Block ; 起始地址 mov r0, #0 ; 清 256 字节 clr aLoop: movx dptr, a inc dptr ; 指向下一个地址 djnz r0, Loop ; 记数减一 ljmp $ end四

4、、实验结果与分析1、实验程序:2、编译:3、运行结果:五、实验注意事项通过本实验,了解单片机读写存储器的读写方法,同时也了解单片机编程,调试方法。六、讨论、思考题如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请学生修改程序,完成此操作修改后程序:编译:运行结果:七、心得体会 通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会了内存的移动方法,也加深对存储器读写的认识。实验项目名称: 内存块移动 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-10-12 实验成绩: 批改教师: 批改时间: 一、实验目的和要求

5、1、实验目的 (1)了解内存的移动方法 (2)加深对存储器读写的认识2、实验要求 将指定源地址和长度的存储块移到指定目标位置。二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程设置块的源地址设置块的目标地址设置移动长度从源地址取数保存到目标地址中源地址加1目标地址加1是否移动完结束是否实验程序:; 移动 3000H - 4000H, 256 字节 mov r0, #30h mov r1, #00h mov r2, #40h mov r3, #00h mov r7, #0Loop: mov dph, r0 mov dpl, r1 movx a,

6、 dptr mov dph, r2 mov dpl, r3 movx dptr, a cjne r1, #0ffh, Goon1 inc r0Goon1: inc r1 cjne r3, #0ffh, Goon2 inc r2Goon2: inc r3 djnz r7, Loop ljmp $ end四、实验结果与分析1、实验程序:2、编译:3、运行结果:五、实验注意事项块移动是计算机常用操作之一,多用于大量的数据复制和图象操作六、讨论、思考题 本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免?答:比较

7、两个地址大小决定复制方向,假设使用REP MOVS指令,如果源地址大就要从低地址向高地址拷贝,DF=0,否则DF=1并且要从末尾拷贝。七、心得体会 通过本实验,我学会了内存的移动方法,也加深对存储器读写的认识。了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。实验项目名称: P1口输入输出 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-10-19 实验成绩: 批改教师: 批改时间: 一、实验目的和要求1、实验目的(1)学习P1口的使用方法(2)学习延时子程序的编写和使用2、实验要求(1)P1口做输出口,接八只发光二极管,编写程序,使发

8、光二极管循环点亮(2)P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。(3)编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程1、实验电路及连线连线连接孔1连接孔21S0P1.02S1P1.13P1.2L44P1.3L5实验2: P1口输入输出连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L3实验1: P1口循环点灯实验1:P1口循环点灯 实验2:P1口输

9、入输出 2、实验程序 Loop: mov a, #01h 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 ret end8051延时子程序的延时计算问题,对于程序查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:(256255+2)2126 261ms3、实验框图(A) P

10、1口循环点灯程序框图(B) P1口输入输出程序框图四、实验结果与分析1、实验程序:2、编译:3、运行结果:4、在Proteus7中电路图:五、实验注意事项P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。六、讨论、思考题若是12MHZ的晶振,延时程序如何修改?若是12MHZ的晶振,延时程序如何修改?答:晶振12MHZ,延时1秒程序如下:DELAY:MOV 72H,#100LOOP3:MOV 71H,#100LOOP1:MOV 70H,#47LOOP0:DJNZ 70H,LOOP0 N

11、OP DJNZ 71H,LOOP1 MOV 70H,#46LOOP2:DJNZ 70H,LOOP2 NOP DJNZ 72H,LOOP3 MOV 70H,#48LOOP4:DJNZ 70H,LOOP4七、心得体会此次实验我学习了P1口的使用方法,也学习了延时子程序的编写和使用;实现了P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。在编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。实验项目名称: 计数器实验 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-10-19 实验成绩: 批改教师: 批改时间: 一、实验目的和要

12、求 1、实验目的学习8051内部定时/计数器使用方法2、实验要求8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软三、实验过程连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35单脉冲输出T01、实验电路单次脉冲 2、实验框图开始设置工作方式开始计数计数,输出计数值3、实验程序mov TMOD, #00000101b ; 方式1,记数器 mov TH0, #0 mov TL0, #0 setb TR

13、0 ; 开始记数Loop: mov P1, TL0 ; 将记数结果送P1口 ljmp Loop end四、实验结果与分析1、实验程序:2、在Proteus7中电路图:五、实验注意事项本实验中内部计数器起计数器的作用。外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率 六、讨论、思考题若定时计数器T0,按计数器模式和方式0工作,程序如何修改?答:mov TMOD, #00000101b 修改为m

14、ov TMOD, #00000100b 七、心得体会此次实验我学习了8051内部定时/计数器使用方法;了解到8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。通过此次实验我对内部计数器的工作原理更加了解。实验项目名称: 外部中断实验 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-10-25 实验成绩: 批改教师: 批改时间: 一、实验目的和要求1、实验目的(1)学习外部中断技术的基本使用方法。(2)学习中断处理程序的编程方法。2、实验要求用单次脉冲申请中断,在中断处理程序中对输出信号进行反转二、实验仪器和设备伟福LA

15、B6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软三、实验过程1、实验电路单次脉冲连线连接孔1连接孔21P1.0L02单脉冲输出INT0 (51系列)2单脉冲输出EINT (96系列)2、实验框图开始设置初始状态设置中断控制寄存器中断允许等待中断中断入口保护现场状态位取反状态位输出恢复现场中断返回主程序框图 外部中断子程序框图3、实验程序LED equ P1.0LEDBuf equ 0 ljmp Start org 3Interrupt0: push PSW ; 保护现场 cpl LEDBuf ; 取反LED mov c, LEDBuf mov LED, c pop PSW ; 恢

16、复现场 retiStart: clr LEDBuf clr LED mov TCON, #01h ; 外部中断0下降沿触发 mov IE, #81h ; 打开外部中断允许位(EX0)及总中断允许位(EA) ljmp $ end四、实验结果与分析1、实验程序:2、编译:3、在Proteus7中电路图:五、实验注意事项中断服务程序的关键是: 1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置EXO位。本例中使用了INTO中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW,ACC等三个寄

17、存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。INTO(P32)端接单次脉冲发生器。P1.0接LED灯,以查看信号反转。六、讨论、思考题若采用INT1中断源,电路如何连接,程序如何修改?答:将mov TCON, #01h改为mov TCON, #00h七、心得体会通过本次实验我学习了外部中断技术的基本使用方法;也学习了中断处理程序的编程方法。在实验过程中实现了用单次脉冲申请中断,在中断处理程序中对输出信号进行反转等。实验项目名称: 定时器实验 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日

18、期: 2010-10-25 实验成绩: 批改教师: 批改时间: 一、实验目的和要求1、实验目的(1)学习8051内部计数器的使用和编程方法。(2)进一步掌握中断处理程序的编程方法。2、实验要求用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程1、实验电路连线连接孔1连接孔21P1.0L0定时中断入口遇开始置T0中断工作方式保护现场设置定时常数秒计数值减1否设置初始状态位是否到1秒是 重新设置秒计数值设置秒计数值 Y中断允许状态位取反输出状态位中断返回恢复现场等待中断 主程序框图

19、定时中断子程序框图2、实验框图3、实验程序Tick equ 10000 ; 10000 x 100us = 1s T100us equ 256-50 ; 100us时间常数(6M) C100us equ 30h ; 100us记数单元 LEDBuf equ 0 LED equ P1.0 ljmp Start org 000bhT0Int: push PSW mov a, C100us+1 jnz Goon dec C100usGoon: dec C100us+1 mov a, C100us orl a, C100us+1 jnz Exit ; 100us 记数器不为0, 返回 mov C100

20、us, #high(Tick) mov C100us+1, #low(Tick) cpl LEDBuf ; 100us 记数器为0, 重置记数器 ; 取反LEDExit: pop PSW retiStart: mov TMOD, #02h ; 方式2, 定时器 mov TH0, #t100us mov TL0, #t100us mov IE, #10000010b ; EA=1, IT0 = 1 setb TR0 ; 开始定时 clr LEDBuf clr LED mov C100us, #high(Tick) mov C100us+1, #low(Tick)Loop: mov c, LEDB

21、uf mov LED, c ljmp Loop end四、实验结果与分析1、实验程序:2、编译:3、在Proteus7中电路图:五、实验注意事项 1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统

22、的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100us中断一次, 所以定时常数的设置可按以下方法计算:机器周期=126MHZ=2uS(256-定时常数)2uS=100us定时常数=206. 然后对100us中断次数计数10000次,就是1秒钟.4、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。六、讨论、思考题若定时时间为500us,计数器初始值是多少?答:1s七、心得体会通过本次实验我学习了8051内部计数器的使用和编程方法;也进一步掌握中断处理程序的编程方法。在实验过程中,用C

23、PU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转。也知道了定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。实验项目名称: A/D转换实验 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-11-01 实验成绩: 批改教师: 批改时间: 一、实验目的和要求1、实验目的(1)掌握A/D转换与单片机的接口方法。(2)了解A/D芯片ADC0809转换性能及编程。(3)通过实验了解单片机如何进行数据采集。2、实验要求利用实验板上的ADC0809做A/D转换器,实验板

24、上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程1、实验电路连线连接孔1连接孔21IN0电位器输出2AD_CSCS03EOCINT048255_CSCS15PA0L06PA1L17PA2L28PA3L39PA4L410PA5L511PA6L612PA7L72、实验框图主程序框图 3、实验程序mode equ 082h ; 方式0,PA,PC输出,PB输入CS0809 equ 8000hPortA equ 9000h ; Port APor

25、tB equ 9001h ; Port BPortC equ 9002h ; Port CCAddr equ 9003h ; 控制字地址 org 0 mov dptr,#CAddr mov a,#mode movx dptr,a mov dptr, #CS0809 mov a, #0 movx dptr, a ; 起动 A/D mov a, #40h djnz ACC, $ ; 延时 100us movx a, dptr ; 读入结果 mov r7,#100 dly: mov dptr,#PortA movx dptr,a djnz r7,dly ;延时 ljmp 0 end四、实验结果与分析

26、1、实验程序:2、编译:3、运行结果:五、实验注意事项(1) A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。(2)实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果。六、讨论、思考题试编程用中断方式读回A/D结果。mode equ 082h ; 方式0,PA,PC输出,PB输入CS0809 equ 8000hPortA equ 9000h ; Port APort

27、B equ 9001h ; Port BPortC equ 9002h ; Port CCAddr equ 9003h ; 控制字地址 org 0 mov dptr,#CAddr mov a,#mode movx dptr,a mov dptr, #CS0809 mov a, #0 movx dptr, a ; 起动 A/D mov a, #40h djnz ACC, $ ; 延时 100us movx a, dptr ; 读入结果 mov r7,#100七、心得体会通过本次实验我掌握了A/D转换与单片机的接口方法,了解A/D芯片ADC0809转换性能及编程。也学会了如何利用实验板上的ADC0

28、809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。实验项目名称: 八段数码管显示 实验学时: 2学时 同组学生姓名: 张 炎 实验地点: B403 实验日期: 2010-11-01 实验成绩: 批改教师: 批改时间: 一、实验目的和要求1、实验目的(1)了解数码管动态显示的原理。(2)了解用总线方式控制数码管显示2、实验要求利用实验仪提供的显示电路,动态显示一行数据二、实验仪器和设备伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程1、实验电路位选通信号 (0x002H) 段码输

29、出(0x004H)数据总线连线连接孔1连接孔21KEY/LED_CSCS02、实验框图开始初始化显示参数关所有位显示取显示数据输出段码数据 输出位选通信号延时位选通信号移位指向下一个显示数据返回6位完成 否 是3、实验程序OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ; ljmp StartLEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh

30、, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序 mov r7, #0DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, #00100000b ; 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 mov a, r0 mov dptr, #OUTSEG movx dptr,a mov

31、dptr, #OUTBIT mov a, r2 movx dptr, a ; 显示一位八段管 mov r6, #01 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: mov sp, #40h mov Num, #0MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBufFillBuf: mov a, b anl a, #0fh mov dptr, #L

32、EDMap 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四、实验结果与分析1、实验程序:2、编译:3、运行结果:五、实验注意事项本实验仪器提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。

33、位码经MC1413或ULN2003倒相驱动后,选择相应显示位。本实验仪器中 8位段码输出地址为0X004H,位码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。七段数码管的字型代码表如下表:显示字形gfedcba段码001111113fh a f b g e c d 。dp1000011006h210110115bh310011114fh4110011066h511011016dh61111101

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号