2024年单片机实验报告_第1页
2024年单片机实验报告_第2页
2024年单片机实验报告_第3页
2024年单片机实验报告_第4页
2024年单片机实验报告_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

學生实验报告(理工类)

課程名称:單片机原理及应用专业班级:07電子信息工程(2)班學生學号:02學生姓名:師中秋所属院部:信息技术學院指导教師:徐志国2010——2011年第1學期金陵科技學院教务处制试验汇报書写规定试验汇报原则上规定學生手写,规定書写工整。若因課程特點需打印的,要遵照如下字体、字号、间距等的详细规定。紙张壹律采用A4的紙张。试验汇报書写阐明试验汇报中壹至四项内容為必填项,包括试验目的和规定;试验仪器和设备;试验内容与過程;试验成果与分析。各院部可根据學科特點和试验详细规定增長项目。填写注意事项(1)细致观测,及時、精确、如实记录。(2)精确阐明,层次清晰。(3)尽量采用专用术語来阐明事物。(4)外文、符号、公式要精确,应使用统壹规定的名詞和符号。(5)应独立完毕试验汇报的書写,严禁抄袭、复印,壹經发現,以零分论处。试验汇报批改阐明试验汇报的批改要及時、认真、仔细,壹律用紅色笔批改。试验汇报的批改成绩采用百分制,详细评分原则由各院部自行制定。试验汇报装订规定试验批改完毕後,任課老師将每门課程的每個试验项目的试验汇报以自然班為單位、按學号升序排列,装订成册,并附上壹份该门課程的试验大纲。试验项目名称:存储器块清零试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-12试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)掌握存储器讀写措施(2)理解存储器的块操作措施2、试验规定指定存储器中某块的起始地址和長度,规定能将其内容清零。二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程设置块長度设置块長度设置块起始地址地址加1目前地址内容清零与否清除完結束是否试验程序:Blockequ4000hmovdptr,#Block;起始地址movr0,#0;清256字节clraLoop:movx@dptr,aincdptr;指向下壹种地址djnzr0,Loop;记数減壹ljmp$end四、试验成果与分析1、试验程序:2、编译:3、运行成果:五、试验注意事项通過本试验,理解單片机讀写存储器的讀写措施,同步也理解單片机编程,调试措施。六、讨论、思索題怎样将存储器块的内容置成某固定值(例全填充為0FFH)請學生修改程序,完毕此操作修改後程序:编译:运行成果:七、心得体會通過本试验,我理解到單片机讀写存储器的讀写措施,同步也理解到單片机编程,调试措施。學會了内存的移動措施,也加深對存储器讀写的认识。

试验项目名称:内存块移動试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-12试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)理解内存的移動措施(2)加深對存储器讀写的认识2、试验规定将指定源地址和長度的存储块移到指定目的位置。二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程设置块的源地址设置块的源地址设置块的目的地址设置移動長度從源地址取数保留到目的地址中源地址加1目的地址加1与否移動完結束是否试验程序:;移動3000H-->4000H,256字节movr0,#30hmovr1,#00hmovr2,#40hmovr3,#00hmovr7,#0Loop:movdph,r0movdpl,r1movxa,@dptrmovdph,r2movdpl,r3movx@dptr,acjner1,#0ffh,Goon1incr0Goon1:incr1cjner3,#0ffh,Goon2incr2Goon2:incr3djnzr7,Loopljmp$end四、试验成果与分析1、试验程序:2、编译:3、运行成果:五、试验注意事项块移動是计算机常用操作之壹,多用于大量的数据复制和图象操作六、讨论、思索題本程序是給出起始地址,用地址加壹措施移動块,請思索給出块結束地址,用地址減壹措施移動块的算法。此外,若源块地址和目的块地址有重叠,该怎样防止答:比较两個地址大小决定复制方向,假设使用REPMOVS指令,假如源地址大就要從低地址向高地址拷贝,DF=0,否则DF=1并且要從末尾拷贝。七、心得体會通過本试验,我學會了内存的移動措施,也加深對存储器讀写的认识。理解到單片机讀写存储器的讀写措施,同步也理解到單片机编程,调试措施。试验项目名称:P1口输入输出试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-19试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)學习P1口的使用措施(2)學习延時子程序的编写和使用2、试验规定(1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环點亮(2)、作输入口接两個拨動開关,、作输出口,接两個发光二极管,编写程序讀取開关状态,将此状态,在发光二极管上显示出来。(3)编程時应注意、作為输入口時应先置1,才能對的讀入值。二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程1、试验電路及连线连线连接孔1连线连接孔1连接孔21S02S13L44L5试验2:P1口输入输出连线连接孔1连接孔21L02L13L24L3试验1:P1口循环點灯试验1:P1口循环點灯试验2:P1口输入输出2、试验程序Loop:mova,#01hmovr2,#8Output:movP1,arlacallDelaydjnzr2,OutputljmpLoopDelay:movr6,#0movr7,#0DelayLoop:djnzr6,DelayLoopdjnzr7,DelayLoopretend8051延時子程序的延時计算問題,對于程序查指令表可知MOV,DJNZ指令均需用两個机器周期,在6MHz晶振時,壹种机器周期時间長度為12/6MHZ,因此该段程序执行時间為:(256×255+2)×2×12÷6≈261ms3、试验框图(A)(A)P1口循环點灯程序框图(B)P1口输入输出程序框图四、试验成果与分析1、试验程序:2、编译:3、运行成果:4、在Proteus7中電路图:五、试验注意事项P1口是准双向口,它作為输出口時与壹般的双向口使用措施相似。由准双向口构造可知當P1口用為输入口時,必须先對它置“1”。若不先對它置“1”,讀入的数据是不對的的。六、讨论、思索題若是12MHZ的晶振,延時程序怎样修改若是12MHZ的晶振,延時程序怎样修改答:晶振12MHZ,延時1秒

程序如下:

DELAY:MOV72H,#100

LOOP3:MOV71H,#100

LOOP1:MOV70H,#47

LOOP0:DJNZ70H,LOOP0

NOP

DJNZ71H,LOOP1

MOV70H,#46

LOOP2:DJNZ70H,LOOP2

NOP

DJNZ72H,LOOP3

MOV70H,#48

LOOP4:DJNZ70H,LOOP4七、心得体會本次试验我學习了P1口的使用措施,也學习了延時子程序的编写和使用;实現了P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环點亮。在编程時应注意、作為输入口時应先置1,才能對的讀入值。试验项目名称:计数器试验试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-19试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的學习8051内部定期/计数器使用措施2、试验规定8051内部定期计数器T0,按计数器模式和方式1工作,對(T0)引脚進行计数。将其数值按二進制数在P1口驱動LED灯上显示出来二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软三、试验過程连线连接孔1连线连接孔1连接孔21L02L13L24L35單脉冲输出T0單次脉冲單次脉冲 2、试验框图開始開始设置工作方式開始计数计数,输出计数值3、试验程序movTMOD,#00000101b;方式1,记数器movTH0,#0movTL0,#0setbTR0;開始记数Loop:movP1,TL0;将记数成果送P1口ljmpLoopend四、试验成果与分析1、试验程序:2、在Proteus7中電路图:五、试验注意事项本试验中内部计数器起计数器的作用。外部事件计数脉冲由引入定期器T0。單片机在每個机器周期采样壹次输入波形,因此單片机至少需要两個机器周期才能检测到壹次跳变。這就规定被采样電平至少维持壹种完整的机器周期,以保证電平在变化之前即被采样。同步這就决定了输入波形的频率不能超過机器周期频率六、讨论、思索題若定期计数器T0,按计数器模式和方式0工作,程序怎样修改答:movTMOD,#00000101b修改為movTMOD,#00000100b七、心得体會本次试验我學习了8051内部定期/计数器使用措施;理解到8051内部定期计数器T0,按计数器模式和方式1工作,對(T0)引脚進行计数。通過本次试验我對内部计数器的工作原理愈加理解。试验项目名称:外部中断试验试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-25试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)學习外部中断技术的基本使用措施。(2)學习中断处理程序的编程措施。2、试验规定用單次脉冲申請中断,在中断处理程序中對输出信号進行反转二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软三、试验過程1、试验電路單次脉冲單次脉冲连线连接孔1连接孔21L02單脉冲输出INT0(51系列)2單脉冲输出EINT(96系列)2、试验框图開始開始设置初始状态设置中断控制寄存器中断容許等待中断中断入口保护現場状态位取反状态位输出恢复現場中断返回主程序框图外部中断子程序框图3、试验程序LEDequLEDBufequ0ljmpStartorg3Interrupt0:pushPSW;保护現場cplLEDBuf;取反LEDmovc,LEDBufmovLED,cpopPSW;恢复現場retiStart:clrLEDBufclrLEDmovTCON,#01h;外部中断0下降沿触发movIE,#81h;打開外部中断容許位(EX0)及總中断容許位(EA)ljmp$end四、试验成果与分析1、试验程序:2、编译:3、在Proteus7中電路图:五、试验注意事项中断服务程序的关键是:1.保护進入中断時的状态,并在退出中断之前恢复進入時的状态。2.必须在中断程序中设定与否容許中断重入,即设置EXO位。本例中使用了INTO中断,壹般中断程序進入時应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW,ACC等三個寄存器并且在退出前恢复了這三個寄存器。此外中断程序中波及到关键数据的设置時应关中断,即设置時不容許重入。本例中没有波及這种状况。INTO(P32)端接單次脉冲发生器。接LED灯,以查看信号反转。六、讨论、思索題若采用INT1中断源,電路怎样连接,程序怎样修改答:将movTCON,#01h改為movTCON,#00h七、心得体會通過本次试验我學习了外部中断技术的基本使用措施;也學习了中断处理程序的编程措施。在试验過程中实現了用單次脉冲申請中断,在中断处理程序中對输出信号進行反转等。试验项目名称:定期器试验试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-10-25试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)學习8051内部计数器的使用和编程措施。(2)深入掌握中断处理程序的编程措施。2、试验规定用CPU内部定期器中断方式计時,实現每壹秒钟输出状态发生壹次反转二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程1、试验電路连线连线连接孔1连接孔21L0定期中断入口遇定期中断入口遇開始置T0中断工作方式置T0中断工作方式保护現場保护現場设置定期常数设置定期常数秒计数值減1秒计数值減1否否设置初始状态位与否到1秒设置初始状态位与否到1秒是是重新设置秒计数值设置秒计数值重新设置秒计数值设置秒计数值Y中断容許状态位取反中断容許状态位取反输出状态位中断返回输出状态位中断返回恢复現場恢复現場等待中断等待中断主程序框图定期中断子程序框图2、试验框图3、试验程序Tickequ10000;10000x100us=1sT100usequ256-50;100us時间常数(6M)C100usequ30h;100us记数單元LEDBufequ0LEDequljmpStartorg000bhT0Int:pushPSWmova,C100us+1jnzGoondecC100usGoon:decC100us+1mova,C100usorla,C100us+1jnzExit;100us记数器不為0,返回movC100us,#high(Tick)movC100us+1,#low(Tick)cplLEDBuf;100us记数器為0,重置记数器;取反LEDExit:popPSWretiStart:movTMOD,#02h;方式2,定期器movTH0,#t100usmovTL0,#t100usmovIE,#b;EA=1,IT0=1setbTR0;開始定期clrLEDBufclrLEDmovC100us,#high(Tick)movC100us+1,#low(Tick)Loop:movc,LEDBufmovLED,cljmpLoopend四、试验成果与分析1、试验程序:2、编译:3、在Proteus7中電路图:五、试验注意事项1、有关内部计数器的编程重要是定期常数的设置和有关控制寄存器的设置。内部计数器在單片机中重要有定期器和计数器两個功能。本试验使用的是定期器。2、定期器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定期器/计数器的工作方式0-3,并确定用于定期還是用于计数。TCON重要功能是為定期器在溢出時设定標志位,并控制定期器的运行或停止等。3、内部计数器用作定期器時,是對机器周期计数。每個机器周期的長度是12個振荡器周期。由于试验系统的晶振是6MHZ,本程序工作于方式2,即8位自動重装方式定期器,定期器100us中断壹次,因此定期常数的设置可按如下措施计算:机器周期=12÷6MHZ=2uS(256-定期常数)×2uS=100us定期常数=206.然後對100us中断次数计数10000次,就是1秒钟.4、在例程的中断服务程序中,由于中断定期常数的设置對中断程序的运行起到关键作用,因此在置数前要先关對应的中断,置数完之後再打開對应的中断。六、讨论、思索題若定期時间為500us,计数器初始值是多少答:1s七、心得体會通過本次试验我學习了8051内部计数器的使用和编程措施;也深入掌握中断处理程序的编程措施。在试验過程中,用CPU内部定期器中断方式计時,实現每壹秒钟输出状态发生壹次反转。也懂得了定期器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TCON重要功能是為定期器在溢出時设定標志位,并控制定期器的运行或停止等。试验项目名称:A/D转换试验试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-11-01试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)掌握A/D转换与單片机的接口措施。(2)理解A/D芯片ADC0809转换性能及编程。(3)通過试验理解單片机怎样進行数据采集。2、试验规定运用试验板上的ADC0809做A/D转换器,试验板上的電位器提供模拟量输入,编制程序,将模拟量转换成二進制数字量,用8255的PA口输出到发光二极管显示。二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程1、试验電路连线连线连接孔1连接孔21IN0電位器输出2AD_CSCS03EOCINT048255_CSCS15PA0L06PA1L17PA2L28PA3L39PA4L410PA5L511PA6L612PA7L72、试验框图主程序框图主程序框图3、试验程序modeequ082h;方式0,PA,PC输出,PB输入CS0809equ8000hPortAequ9000h;PortAPortBequ9001h;PortBPortCequ9002h;PortCCAddrequ9003h;控制字地址org0movdptr,#CAddrmova,#modemovx@dptr,amovdptr,#CS0809mova,#0movx@dptr,a;起動A/Dmova,#40hdjnzACC,$;延時>100usmovxa,@dptr;讀入成果movr7,#100dly:movdptr,#PortAmovx@dptr,adjnzr7,dly;延時ljmp0end四、试验成果与分析1、试验程序:2、编译:3、运行成果:五、试验注意事项(1)A/D转换器大体有三类:壹是双积分A/D转换器,長处是精度高,抗干扰性好;价格廉价,但速度慢;二是逐次迫近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。(2)试验用的ADC0809属第二类,是八位A/D转换器。每采集壹次壹般需100us。本程序是用延時查询方式讀入A/D转换成果,也可以用中断方式讀入成果。六、讨论、思索題试编程用中断方式讀回A/D成果。modeequ082h;方式0,PA,PC输出,PB输入CS0809equ8000hPortAequ9000h;PortAPortBequ9001h;PortBPortCequ9002h;PortCCAddrequ9003h;控制字地址org0movdptr,#CAddrmova,#modemovx@dptr,amovdptr,#CS0809mova,#0movx@dptr,a;起動A/Dmova,#40hdjnzACC,$;延時>100usmovxa,@dptr;讀入成果movr7,#100七、心得体會通過本次试验我掌握了A/D转换与單片机的接口措施,理解A/D芯片ADC0809转换性能及编程。也學會了怎样运用试验板上的ADC0809做A/D转换器,试验板上的電位器提供模拟量输入,编制程序,将模拟量转换成二進制数字量,用8255的PA口输出到发光二极管显示。

试验项目名称:八段数码管显示试验課時:2課時同组學生姓名:张炎试验地點:B403试验曰期:-11-01试验成绩:批改教師:批改時间:壹、试验目的和规定1、试验目的(1)理解数码管動态显示的原理。(2)理解用總线方式控制数码管显示2、试验规定运用试验仪提供的显示電路,動态显示壹行数据二、试验仪器和设备伟福LAB6000仿真试验系统,飞跃以上计算机,装有WAVE集成调试软件三、试验過程1、试验電路位选通信号位选通信号(0x002H)段码输出(0x004H)数据總线连线连接孔1连接孔21KEY/LED_CSCS02、试验框图開始開始初始化显示参数关所有位显示取显示数据输出段码数据输出位选通信号延時位选通信号移位指向下壹种显示数据返回6位完毕否是3、试验程序OUTBITequ08002h;位控制口OUTSEGequ08004h;段控制口INequ08001h;键盘讀入口LEDBufequ60h;显示缓冲Numequ70h;显示的数据DelayTequ75h;ljmpStartLEDMAP:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hDelay:;延時子程序movr7,#0DelayLoop:djnzr7,DelayLoopdjnzr6,DelayLoopretDisplayLED:movr0,#LEDBufmovr1,#6;共6個八段管movr2,#00100000b;從左边開始显示Loop:movdptr,#OUTBITmova,#0movx@dptr,a;关所有八段管mova,@r0movdptr,#OUTSEGmovx@dptr,amovdptr,#OUTBITmova,r2movx@dptr,a;显示壹位八段管movr6,#01callDelaymova,r2;显示下壹位rramovr2,aincr0djnzr1,Loopmovdptr,#OUTB

温馨提示

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

评论

0/150

提交评论