单片机操作教案_第1页
单片机操作教案_第2页
单片机操作教案_第3页
单片机操作教案_第4页
单片机操作教案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE PAGE 53Evaluation Warning: The document was created with Spire.Doc for .NET.试题编号3301控制要求:在内部RAM中20H开始的区域中存有二十个无符号数,找出其中最大和最小数,分别送34H和35H单元。(注:目标程序于0800H单元开始) ORRG 00000HHLJMP MAAINORG 08800HHMAIN : MOVV RR0, #200H ;从内部部20HH单元开开始查找找 MOOV R7, #119 ;200个数需需要比较较19次次 MOOV 34HH , R00 ;将200H单元元的内容容同时送

2、送34HH和355H MOOV 35HH, R00 LOOP : INNC R00 ;指向向下一个个单元 MOOV A , R0 ; 读取取到ACCC CJJNE AA , 34HH , B1 ;将将读取的的内容与与34HH的内容容进行比比较,不不相等跳跳B1处处 SJJMP EEXITT ;相等则则不作其其它比较较跳EXXIT处处B1 : JCC XIIAO ;若A的的内容小小于344H的内内容则CC为1,跳跳XIAAO处 MOOV 34HH , A ;C为00表明AA大于334H的的内容则则替换掉掉34HH的内容容 SJJMP EEXITT ;替换后后退出不不作最小小数比较较XIAO :

3、CJJNE AA , 35HH , B2 ;作作最小数数比较,不不相等跳跳B2处处 SSJMPP EXIIT ;相等退退出到EEXITT处B2 : JJNC EEXITT ;若A的的内容大大于355H的内内容跳EEXITT处 MMOV 355H , A ;若A的的内容小小于355H的内内容则替替换掉335H的的内容EXIT : DDJNZZ RR7 , LOOOP ;判断比比较次数数是否完完毕 SSJMPP $ ;比较完完毕原地地等待 EEND3102控制要求:利用880311定时器器与中断断功能控控制一个个“航标灯灯”,黑夜夜时发光光二极管管按指定定频率闪闪烁(如如:亮22S,灭灭2S,循循

4、环);白天时时发光二二极管不不亮。电路图:PP1.0INT018031LEDR110kVT9013R2200P3.25V12Rp10k光敏电阻电路工作原原理:白天光敏电电阻阻值值小,使使P3.2输入入电位为为高电平平,不产产生中断断,使LLED灭灭。晚上上光敏电电阻阻值值变大,使使P3.2的输输入电位位为低电电平,这这时产生生中断,中中断使LLED闪闪烁。只只要是在在晚上要要求LEED一直直闪烁。所所以中断断应该采采用电平平触发方方式。调试方法: 接接好电路路,编好好程序,使使光敏电电阻暴露露在光线线下,调调节Rpp到最小小值,这这时LEED应该该闪烁。慢慢慢调大大Rp的的阻值,使使LEDD刚

5、刚灭灭,保持持Rp这这时的阻阻值即可可。当用用手遮住住光敏电电阻的光光线,LLED就就会闪烁烁。编程思路: 使用用定时器器T0,方方式1。所所以TMMOD=0 00 0 0 0 00 0 1 即:011H 使使用指令令: MOVV TMOOD , #01HH 每550mss中断一一次当晶振为112MHHZ时,11us加加一。550mss5000000us。所所以赋初初值为 655536650000001555366 ,将将155536转转换为十十六进制制为3CCB0HH 高高八位送送TH00, 第八位位送TLL0. 使使用指令令: MMOV THH0 , #33CH MOOV TLL0 , #

6、00B0HH 当当晶振为为6MHHZ时,22us加加一。550mss5000000us,5500000/222550000 所所以赋初初值为 665533622500004405336 ,将将405536转转换为十十六进制制为9EE58HH 高八位位送THH0, 第八八位送TTL0 , 使用用指令 :MOOV THH0 , #99EH MMOV TTL0 , #58HH当晶振为111.005922MHZZ时, 12/11.05992 uus加一一。 500ms500000uus, 5000000*111.05592/12460080 所以以赋初值值为 665533644608801194556

7、 ,将将194456转转换为十十六进制制为4CC00HH 高八位位送THH0, 第八八位送TTL0 , 使用用指令 :MOOV THH0 , #44CH MMOV TTL0 , #00HH因为50mms闪烁烁一次太太快,当当要求22S进行行一次闪闪烁时则则需要中中断22S/550ms40次次。参考程序:(以112MHHZ为例例)ORRG 00000HH AAJMPP MMAINN OORG 000033H;外部部中断00的中断断入口地地址 AAJMPP HHYSDD MMAINN:MOOV TMMOD,#01HH ;设置置T0工工作方式式1,且且为定时时 MMOV IIE,#81HH ;CCP

8、U开开中断和和外部中中断0开开中断 BTT:CLLR P11.0 SSJMPP BBT ;白天灭灭LEDD且等待待中断 HHYSDD:SEETB PP1.00 ;亮LLED MMOV RRO,#40 ;定定时400次,即即:500ms*402S(这这里亮22S) LP:MOVV TH00,#33CH ;赋初初值MOV TLL0,#0B00H SETB TRR0 ;启动定定时JNB TFF0,$ ;等待待50mms定时时到,定定时到后后TF00为1CLR TFF0 ;软件清清除T00的溢出出标志位位TF00DJNZ R00,LPP ;判断断是否有有40次次T0定定时MOV R00 , #200L

9、P1: MOVV TH00 , #3CCH MOVV TL00 , #0BB0H SETTB TR00 JNBB TF00 , $ CLRR TF00 DJNNZ R0 , LLP1JNB P33.2,HYSSD REETI 188句 试题编号331055考题:循环环点亮88个发光光二极管管。控制要求:利用左左移或右右移指令令从左向向右点亮亮并循环环n次,或从右右向左点点亮并循循环n次次,循环环完毕全全部熄灭灭。(循循环顺序序及次数数由考评评员现场场指定)高电单片机机实操程程序1.电路原原理图:80318031P1.0P1.7R0R7200LED0LED7CC4011CC40115V11234

10、567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0803180518751+5V+5V1213141110981234

11、567CC4011Vcc4A4B4Y3Y3B3A1A1B1Y2Y2A2BVss2.电路工工作原理理:根据电路路原理图图可知:当某位位输出为为高电平平时对应应的LEED发光光。要求求从左向向右移动动时先从从P1口口输出11000000000即:80HH这这时LEED7亮亮,其它它灭,亮亮的时间间可以通通过延时时确定。当当向P11口送00100000000即:40HH这时时LEDD6亮,其其它灭,依依次类推推。所以以可以通通过RRR AA指令实实现。 从左向向右移动动参考程程序:ORG 00000HMOV R7 , #40 ;循环环5次,一一次需要要依次点点亮8个个LEDD,所以以为400MOV

12、A , #880H;送送初值给给累加器器ACCC,如果果向左移移动就用用MOVV AA , #011HLOOP : MOVV PP1, A;送PP1口进进行LEED显示示ACALLL DELLAY ;显示的的时间通通过延时时子程序序决定RR AA ;将将A的内内容循环环右移动动一位,如果向向左移动动就用RRL ADJNZ R77 , LOOOP ;判判断循环环是否完完毕 MOVV P1, #00HH SJMMP $ ;完毕毕后等待待 DELAYY: MOVV R44,#55 ;延时时0.55S子程程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110D0: MOVV R5

13、5,#1125 ;5*2ussD1: MOVV R66,#2200 ;1125*5*22*2uusD2: DJNNZ R66,D22 ;2000*1125*5*22*2uus DJJNZ RR5,DD1 ;1125*5*22*2uus DJJNZ RR4,DD0 ;55*2uus RETT END从右向左移移动参考考程序:ORG 00000HMOV R7 , #32 ;循环环4次,一一次需要要依次点点亮8个个LEDD,所以以为322MOV A , #001H;送送初值给给累加器器ACCC用MOOV A , #001H亮亮LEDD0LOOP : MOVV PP1, A;送PP1口进进行LEED显

14、示示ACALLL DELLAY ;显示的的时间通通过延时时子程序序决定RL AA ;将将A的内内容循环环左移动动一位DJNZ R77 , LOOOP ;判判断循环环是否完完毕 MOVV P1, #00HH SJMMP $ ;完毕毕后等待待DELAYY: MOVV R44,#55 ;延时时0.55S子程程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110D0: MOVV R55,#1125 ;5*2ussD1: MOVV R66,#2200 ;1125*5*22*2uusD2: DJNNZ R66,D22 ;2000*1125*5*22*2uus DJJNZ RR5,DD

15、1 ;1125*5*22*2uus DJJNZ RR4,DD0 ;55*2uus RETT END从左向右移移动3次次,然后后从右向向左移动动2次参参考程序序:ORG 00000HMOV R7 , #24 ;循环环3次,一一次需要要依次点点亮8个个LEDD,所以以为244MOV A , #880H;送送初值给给累加器器ACCCLOOP : MOVV PP1, A;送PP1口进进行LEED显示示ACALLL DELLAY ;显示的的时间通通过延时时子程序序决定RR AA ;将将A的内内容循环环右移动动一位DJNZ R77 , LOOOP ;判判断循环环是否完完毕 MOVV P1, #00HHMO

16、V R7 , #16 ;循环环2次,一一次需要要依次点点亮8个个LEDD,所以以为166MOV A , #001H;送送初值给给累加器器ACCCLOOP11 : MOOV P1, AA;送送P1口口进行LLED显显示ACALLL DELLAY ;显示的的时间通通过延时时子程序序决定RL AA ;将将A的内内容循环环右移动动一位DJNZ R77 , LOOOP1 ;判断循循环是否否完毕 MOVV P1, #00HH SJMMP $ ;完毕毕后等待待 DELAYY: MOVV R44,#55 ;延时时0.55S子程程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110D0:

17、MOVV R55,#1125 ;5*2ussD1: MOVV R66,#2200 ;1125*5*22*2uusD2: DJNNZ R66,D22 ;2000*1125*5*22*2uus DJJNZ RR5,DD1 ;1125*5*22*2uus DJJNZ RR4,DD0 ;55*2uus RETT END高电实操331033: 计计数报警警考题:利用用80331计数数器,当当计数满满n个后后LEDD发光二二极管发发光报警警。计数数脉冲用用消抖动动开关产产生。控制要求:按按钮钮开关 n次,发发光二极极管发光光。+5V12131411109+5V1213141110981234567CC40

18、11Vcc4A4B4Y3Y3B3A1A1B1Y2Y2A2BVss56R3R45.1kELDVT901310k2005VCC40115.1kJAT0(P3.4)P1.080315VR1R211412345V2.电路工工作原理理:考题要求求,每按按下一次次按钮时时计数一一次,通通过程序序设定计计数次数数,按下下次数到到后LEED亮(PP1.00输出高高电平)。根根据硬件件结构可可知:按按键输入入为计数数器T00。所以以T0在在这里不不能作为为定时器器,而是是作为计计数器。所以TMOOD=000000 001000 (113位计计数器)采用指指令MOVV TTMODD, #04HH或TMMOD=00

19、000 01001(116位计计数器)采用指指令MOVV TTMODD,#005H或TMMOD=00000 01110(自自动重装装入8位位计数器器)采用用指令MMOV TMMOD ,#006H输入管脚脚P3.4如果果直接通通过开关关接入的的话,会会有很大大的干扰扰,也就就是按下下或松开开时会有有抖动,造造成按下下一次可可能会计计数若干干次。所所以采用用两个与与非门组组成一个个触发器器进行抗抗干扰(防防抖动电电路)解法一:用用模式11,不可可循环 STARTT:MOOV TMOOD,#05HH ;设置置T0为为16位位计数器器 MMOV THH0,#0FFFH ;赋初初值此处处计数110次。因

20、因为166位最多多可计数数655536 MOOV TL00, #0F66H ;次,初初值赋6655336110665522600FFFF6H SEETB TR00 ;启启动计数数器 CLRR PP1.00 ;计数数未到灭灭LEDD JNNB TF00, $ ;等待计计数到。如如果计数数到则TTF0自自动变为为“1” SEETB P1.0 ;计计数到亮亮LEDD SJMMP $ ;等待 ENND 解法二:用模式式2,可可循环STARTT:MOOV TMOOD,#06HH ;模式22,自动动重装入入8位计计数器 CLLR P1.0;开始灭灭LEDD MOOV TH00, #0F66H ;赋初初值,

21、模模式2最最多可计计数2556次。这这里为110次 MOOV TL00, #0F66H;初值为为2566100244600F6HH,模式式2赋初初值一样样 SEETB TR00;启启动计数数器 LLP: JBCC TFFO, REPP;计数未未满顺序序执行,满满则跳RREP同同时将TTF0清清零。 SJMMP LP RREP: CPPL PP1.00;将将输出状状态取反反,SJMP LP;跳跳LP等等待下次次计数110次END高电考题331044:数码管管显示考题:利用用80331串行行口和774LSS1644移位寄寄存器驱驱动数码码管。控制要求:数码管管依次按按指定的的顺序循循环并显显示数字

22、字。aabcdefgh5V2208R18CL3161BS5V1478031P3.0(RXD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V1.电路原原理图:2.电路路工作原原理要求求从串口口将数据据发送出出去,所所以串口口为工作作方式00,也就就是使SSCONN0000000000000RITIRB8TB8SM0RENSM2SM1SM000RITIRB8TB8SM0RENSM2SM1SM0:工作方式0为移位寄存器:工作方式0为移位寄存器当执行MMOV A ,#33FH MOVV SSBUFF , A 时,其其发送动动

23、作为:P3.0(RRXD)端送数数据,低低位在前前,高位位在后。PP3.11(TXXD)输输出移位位脉冲。示示意如下下: 3FHH = 00111 111111当八位数字字发送完完毕后单单片机自自动将TTI置11,没有有发送完完毕TII始终为为0根据硬件可可知,PP3.00接在774LSS1644的数据据输入端端,P33.1接接在744LS1164的的时钟端端。而774LSS1644的功能能为:第第一个时时钟来了了将数据据输入端端的状态态移位到到Q7端端,Q77的状态态到Q66端依次类类推最后后Q1的的状态到到Q0端端,Q00状态丢丢失。第第二个时时钟脉冲冲来到再再作一次次全体移移动。所所以当

24、来来了8个个时钟脉脉冲后。 原来第第一次QQ7的状状态就到到了Q00。也就就是当数数据端随随着时钟钟脉冲同同步输出出0011111111时时,8个个时钟脉脉冲过后后74LLS1664的QQ7Q0输输出也为为0011111111,这这时会使使共阴数数码管显显示一个个“3”。3.参考程程序例如:规定定按1、33、5、77、9、22、4、66、8、00、A、BB、C、DD、E、FF、-、PP、 、熄灭灭 顺序序循环显显示。法一. SSTARRT:MMOV SCOON,#00HH ;串串口为工工作方式式0,88位移位位寄存器器方式 MMOV R0,#0 ;送偏偏移量初初值 MMOV DPTTR,#TA

25、BB ;送送表头首首地址给给DPTTR,也也就是表表06HH所在的的地址 LPP:MOOV AA,R00 MMOVCC A,A+DDPTRR ;查查表,将将查的的的数据送送ACCC CCPL A ;如果为为共阳LLED就就加上此此句,否否则不加加 MMOV SBUUF,AA ;送送串口进进行发送送 JJNB TI,$ ;发送送未完TTI为00就等待待,完则则TI为为1顺序序执行 CCLR TI ;发送结结束标志志必须用用软件清清零 IINC R0 ;偏移量量加一 AACALLL DELLY ;调延时时,也就就是LEED显示示一位数数字的时时间 CCJNEE R0,#200,LPP ;因为表表格

26、有220个字字节数据据,所以以这里为为20 SSJMPP STAART ;从头在在来,无无限循环环下去 TAAB: DB 066H, 4FHH, 66DH, 077H, 6FHH, 55BH, 666H, 7DHH, 77FH, 3FFH (共共阴) DB 777H, 7CHH, 339H, 5EEH, 79HH, 771H, 400H, 73HH, 880H, 000H DDELYY: MOOV RR4,#5 ;延延时0.5S子子程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110 DD0: MOOV RR5,#1255 DD1: MOOV RR6,#2000 DD2

27、: DJJNZ RR6,DD2 DJJNZ RR5,DD1 DJJNZ RR4,DD0 REET 思考题:如如果显示示为循环环显示880511CPUU,每次次间隔11秒,共共大循环环5次。试试试如何何改动程程序。试题编号(31006) 霓虹灯灯控制控制要求:实现88个发光光二极管管从两边边向中间间或从中中间向两两边依次次循环点点亮来模模拟霓虹虹灯效果果,循环环n次后后全部熄熄灭。1. 电路路原理图图+5V+5V1213141110981234567CD401111234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/

28、VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080318051875174LS0474LS04Vcc14Vss1785VPP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031VccVssLED2. 电路路工作原原理 根根

29、据硬件件可知: P11口某位位输出为为高电平平,则对对应的LLED发发光.示意图如下下:LED0LED1LED2LED3LED4LED5LED6LED7LED0LED1LED2LED3LED4LED5LED6LED7如果要使得得LEDD4和LLED33亮,则则P1口口应该输输出为: 00001110000 即:18HH 输输出状态态为:如果要使得得LEDD5和LLED22亮,则则P1口口应该输输出为: 00010001000 即:24HH 输输出状态态为:如果要使得得LEDD6和LLED11亮,则则P1口口应该输输出为: 01100000100 即:42HH 输输出状态态为:如果要使得得LED

30、D7和LLED00亮,则则P1口口应该输输出为: 10000000011 即:81HH 输输出状态态为:因此,如果果希望LLED输输出状态态由中间间向两边边亮,则则表格按按照顺序序填写: 188H,224H,42HH,811H 即可.根据此此原理,无论状状态如何何变化都都有对应应的数据据.3.参考程程序:从中间向两两边亮,每次点点亮0.5S 共6个个循环后后结束.ORG 00000HMOV DPTTR , #LLED ;送表表首地址址给DPPTRMOV R7, #66 ;此此程序共共6个循循环LOOP11 : MMOV R00 , #0 ;送偏偏移量初初值LOOP :MOVV AA , R0M

31、OVC A, AA+DPPTR ;查表表MOV P11 , A ;送PP1口进进行显示示ACALLL DELLAY ;调调用显示示时间INC R0 ;偏移移量加一一 CCJNEE RR0 , #44 ,LLOOPP ;表格里里个数数据没循循环完跳跳LOOOPDJNNZ R7 , LOOOP1 ;66次没有有循环完完跳LOOOP11 MMOV P11 , #000HSJMP $LED : DDB 18HH , 24HH , 42HH , 81HH DELAYY :;延延时秒程程序思考题:从两边向中中间亮,每每次状态态亮秒秒,共个大循循环后结结束先从两边向向中间亮亮次,再再从中间间向两边边亮次次,

32、共个循环环试卷编号(31007) :算术术运算器器控制要求:分别在在内部RRAM中中20HH单元和和30HH单元置置入两个个数,进进行(220H+30HH)300H的算算术运算算,将运运算结果果通过串串口通讯讯方式用用LEDD显示出出来。(提示:运算值值不超过过“F”)参考电路aabcdefgh5V2208R18CL3161BS5V1478031P3.0(RXD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V11234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.

33、5P1.6P1.7RST/VPDRXD P3.0TXD P3.1INT0 P3.2INT1 P3.3T0 P3.4T1 P3.5WR P3.6RD P3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.08031805187512.电路工工作原理理:与试试题编号号31004的硬硬件一样样,工作作原理相相同。3.参考程程序: OORG 000000H MOOV A , 2

34、00H ;将将20HH的内容容送累加加器ACCC ADDD A , 300H ;将将A的内内容与330H的的内容相相加 MOOV B , 300H ;将将30HH的内容容送寄存存器B MUUL AB ;将AA的内容容与B的的内容相相乘,低低八位送送ACCC,高八八位送BB MOOV DPTTR, #TAAB ;送显示示0FF的数据据表格的的表首地地址到DDPTRR MOOVC A , A+DDPTRR ;查查表 MOOV SBUUF, A ;从串口口发送进进行显示示 JNNB TI , $ ;等待发发送完毕毕 CLLR TI SJJMP $ TAB : DBB 33FH, 066H, 5BHH

35、, 44FH, 666H, 6DHH, 77DH, 077H, 7FHH DB 66FH, 777H, 7CHH, 339H, 5EEH, 79HH,711H ENDD试卷编号(31008):继电器器控制实训目的掌握软件延延时程序序,根据据要求熟熟练编写写不同的的延时时时间程序序。掌握隔离输输出的常常用方式式之一:继电器器隔离输输出 2. 控制制要求:设计程序使使P10反复复输出高高、低电电平,通通过继电电器控制制LEDD1和LLED22轮流点点亮。程程序采用用软件延延时n秒秒。(延延时时间间由考评评员现场场指定,闪闪烁时间间155S)3.参考电电路图:KAKAKA继电器同相驱动器74LS07

36、P1.08031VssVcc40205V5VLED1LED2R1220R22201N4001D14.工作原原理: 当P11.0输输出为高高电平时时,经过过同相器器74LLS077后输出出也为高高电平,这这时KAA两端电电压相等等,KAA不动作作。这时时LEDD1得电电亮。当当P1.0输出出为低电电平时,774LSS07输输出也为为低电平平。KAA得电吸吸合。这这时LEED2亮亮。二极极管D是是为了续续流而设设。当PP1.00轮流输输出高低低电平,则则LEDD1和LLED22轮流被被点亮。5.参考程程序:(该该参考程程序在112MHHZ的晶晶振下运运行,每每1.55S两LLED改改变一次次状态)

37、 ORRG 00000HHSTARTT : CPPL P1.0 ;此程序序每隔相相同时间间P1.0输出出取反一一次,相相隔时间间由子 ACCALLL DDELAAY ;程序序DELLAY的的延时时时间决定定 SJJMP STAARTDELAYY : MOOV R66 , #155 ;此程程序约为为1.55S(稍稍微大于于1.55S) M : MOOV R55 , #2000 N : MOOV RR4 , #2250 DJJNZ R4 , $ ;此句执执行时间间为:22*1uus*2250*2000*1551.5S DJJNZ R5 , NN DJJNZ R6 , MM REET ENND6.思

38、考题题: 单片机机复位后后先亮LLED11 时间间为1SS。再亮亮LEDD2,时时间为22.5秒秒。循环环不止。试卷编号(31009):倒计时时音乐报报警器实训目的:熟悉简单的的按键输输入进行行控制设设备和显显示2. 控制制要求:按下起动按按钮,数数码管从从“90”按按递减顺顺序显示示,当显显示到“0”时,音音乐响起起,按下下停止按按钮,音音乐停止止。3. 参考考电路图图:5Va5Vabcdefgh2208R18CL3161BS5V1478031P3.0(RXD)P3.1(TXD)P1.01011174LS164Q0Q1Q2Q3Q4Q5Q6Q7ABCKR1289VssVcc20405V音乐芯片

39、ZLGGTR9 22080.5W扬声器5VVssVccP1.1P3.2P3.3QATA信号4. 工作作原理: 单片机机复位后后先置PP1.11为低电电平然后后等待启启动按钮钮QA启启动,启启动后数数码管先先显示99,隔段段时间后后显示88。依次次往下显显示。到到显示00后置PP1.11输出为为高电平平,这时时音乐芯芯片加上上了工作作电压开开始工作作。扬声声器就开开始发音音。当停停止按钮钮(TAA)按下下,音乐乐停止。5.参考程程序: OORG 000000H CCLR PP1.11 JJB PP3.22 , $ MMOV DDPTRR, #TAAB MMOV RR0 , #00CONT11 :

40、 MOVV A, R00 MMOVCC A , A+DDPTRR MMOV SSBUFF , ALP1 : JBBC TII , LPPSJMP LP11 LP : CCJNEE A , #3FFH , COONTSETB P11.1JB P3.3 , $CLR P11.1SJMP $CONT : AACALLL DEELAYYSJMP COONT11TAB : DDB 6FHH , 7FHH , 07HH , 7DHH, 66DH , 666H , 44FH , 55BH , 006H , 33FHDELAYY : MOOV R77 , #110 M : MOOV RR6 , :,$ DDJ

41、NZZ R66 , N DDJNZZ R77 , M RRET EEND试卷编号(31100):数据传传送实训目的:熟练掌握单单片机在在执行数数据传送送和堆栈栈指令时时内部的的变化情情况 2. 控控制要求求:把20H单单元开始始的外部部RAMM单元中中的8个个数据送送到300H单元元开始的的外部RRAM单单元中;存取要求:源数据据存储地地址及目目的地数数据存储储地址使使用堆栈栈。在脱机运行行下的参参考程序序: OORG 00000HH MOVV 700H,#20HH MOVV 711H,#30HH MOVV R77,#88LOOP : PUSSH 771H PUSSH 770H INCC 70

42、0H INCC 711H DJNNZ R7,LOOOP MOVV R77,#88 MOVV DPPH,#00HHLOOP11 : POPP DPPL MOVVX A, DPTTR POPP DPPL MOVVX DDPTRR, A DJNNZ R77, LOOOP1 SJMMP $ ENDD循环灯点亮亮(高电电实操题题31005) 循环环点亮88个发光光二极管管LEDD。要求求:按规规定的顺顺序依次次点亮88个LEED(每每个亮00.5SS),循循环N次次。 要求:按D11、D22、D33、D44、D55、D66、D77、D88顺序依依次点亮亮(每个个亮0.5S),循环33次。 解:SSTAR

43、RT:MMOV R1,#3 LPP0: MOOV RR0,#0 MOOV DDPTRR,#TTAB LPP: MOOV AA,R00 MOOVC AA,AA+DPPTR MOOV PP1,AA ACCALLL DDELYY INNC RR0 CJJNE RR0,#8,LLP DJJNZ RR1,LLP0 MOOV PP1,#00HH SJJMP $ TTAB: DBB 001H,02HH,044H,008H,10HH,200H,440H,80HH DDELYY: MOOV RR4,#5 ;延延时0.5S子子程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110 DD0:

44、MOOV RR5,#1255 DD1: MOOV RR6,#2000 DD2: DJJNZ RR6,DD2 DJJNZ RR5,DD1 DJJNZ RR4,DD0 REET ;共共20句句计数报警(高高电实操操31003) 用880311计数器器T0,当当计满nn个数后后,发光光二极管管LEDD发光报报警。计计数脉冲冲用消抖抖动开关关产生,设设n = 100。 用模模式2,可可循环解法一:SSTARRT:MMOV TMMOD,#05HH 法法二:SSTARRT:MMOV TMMOD,#06HH不可循环 MOVV TTH0,#0FFFH CLLR P1.0 MOOV TL00, #0F66H M

45、OOV TH00, #0F66H SEETB TR00 MOOV TL00, #0F66H CLLR P1.0 SEETB TR00 JNNB TF00, $ LP: JBBC TTFO, REEP SEETB P1.0 SJJMP LP SJJMP $ RREP: CPPL PP1.00 SJJMP LP “航标标灯”(高电电实操题题31002) 利用80331定时时器与中中断功能能控制一一个“航航标灯”,要要求:黑黑夜时发发光二极极管按指指定的频频率闪烁烁(例如如:亮22s、灭灭2s、循循环);白天时时发光二二极管不不亮。用定时器TT0,定定时500ms,模模式1,加加软件延延时到22s。

46、 TMOOD=00000000001=001H fossc=112MHHzT0计数初初值X = 1100000H - 12501033/122=3CCB0HH 用用RO软软件计数数 22s/ 50mms =40 OORG 000000H AAJMPP MMAINN OORG 000033H AAJMPP HHYSDD MMAINN:MOOV TMMOD,#01HH MMOV IIE,#81HH BTT:CLLR P11.0 SSJMPP BBT HHYSDD:CPPL P11.0 MMOV RRO,#40 LP:MOVV TH00,#33CH MOV TLL0,#0B00H SETB TRR0

47、 JNB TFF0,$ CLR TFF0 DJNZ R00,LPP JNB P33.2,HYSSD REETI 188句 数码管显示示(高电电实操题题31004) 利利用80031串串行口和和74LLS1664驱动动一个数数码管,要要求:数数码管依依次按指指定的顺顺序循环环并显示示数字。例如:规定定按1、33、5、77、9、22、4、66、8、00、A、BB、C、DD、E、FF、-、PP、 、熄灭灭 顺序序循环显显示。法一. SSTARRT:MMOV SCOON,#00HH MMOV R0,#0 MMOV DPTTR,#TABB LPP:MOOV AA,R00 MMOVCC A,A+DDPTR

48、R MMOV SBUUF,AA JJNB TI,$ CCLR TI IINC R0 AACALLL DELLY CCJNEE R0,#200,LPP SSJMPP STAART TAAB: DB 066H, 4FHH, 66DH, 077H, 6FHH, 55BH, 666H, 7DHH, 77FH, 3FFH (共共阴) DB 777H, 7CHH, 339H, 5EEH, 79HH, 771H, 400H, 73HH, 880H, 000H DELLY: MOVV R44, #10 ;延延时0.5s子子程序( foosc=12MMHz ) RETTMOV R0,#200HMOV R1,#1

49、99MOV 34HH,RR0MOV 35HH,RR0STARTT : IINC R0 MMOV A,R0 CCJNEE AA,344H,MM SSJMPP EXXITM : JJC NN MMOV 34HH,A SSJMPP EXXITN : CCJNEE A,35HH,S SSJMPP EXXITS : JJNC EXIIT MMOV 35HH,AEXIT : DDJNZZ R11,STTARTT SSJMPP $ EEND高电单片机机实操程程序循环灯点亮亮(高电电实操题题31005) 循环环点亮88个发光光二极管管LEDD。要求求:按规规定的顺顺序依次次点亮88个LEED(每每个亮00.5

50、SS),循循环N次次。 要求:按D11、D22、D33、D44、D55、D66、D77、D88顺序依依次点亮亮(每个个亮0.5S),循环33次。 解:SSTARRT:MMOV R1,#3 LPP0: MOOV RR0,#0 MOOV DDPTRR,#TTAB LPP: MOOV AA,R00 MOOVC AA,AA+DPPTR MOOV PP1,AA ACCALLL DDELYY INNC RR0 CJJNE RR0,#8,LLP DJJNZ RR1,LLP0 MOOV PP1,#00HH SJJMP $ TTAB: DBB 001H,02HH,044H,008H,10HH,200H,440H

51、,80HH DDELYY: MOOV RR4,#5 ;延延时0.5S子子程序(ffOSCC=6MMHZ),如如fOSCC=122MHZZ,用#110 DD0: MOOV RR5,#1255 DD1: MOOV RR6,#2000 DD2: DJJNZ RR6,DD2 DJJNZ RR5,DD1 DJJNZ RR4,DD0 REET ;共共20句句计数报警(高高电实操操31003) 用880311计数器器T0,当当计满nn个数后后,发光光二极管管LEDD发光报报警。计计数脉冲冲用消抖抖动开关关产生,设设n = 100。 用模模式2,可可循环解法一:SSTARRT:MMOV TMMOD,#05HH

52、 法法二:SSTARRT:MMOV TMMOD,#06HH不可循环 MOVV TTH0,#0FFFH CLLR P1.0 MOOV TL00, #0F66H MOOV TH00, #0F66H SEETB TR00 MOOV TL00, #0F66H CLLR P1.0 SEETB TR00 JNNB TF00, $ LP: JBBC TTFO, REEP SEETB P1.0 SJJMP LP SJJMP $ RREP: CPPL PP1.00 SJJMP LP “航标标灯”(高电电实操题题31002) 利用80331定时时器与中中断功能能控制一一个“航航标灯”,要要求:黑黑夜时发发光二极极

53、管按指指定的频频率闪烁烁(例如如:亮22s、灭灭2s、循循环);白天时时发光二二极管不不亮。用定时器TT0,定定时500ms,模模式1,加加软件延延时到22s。 TMOOD=00000000001=001H fossc=112MHHzT0计数初初值X = 1100000H - 12501033/122=3CCB0HH 用用RO软软件计数数 22s/ 50mms =40 OORG 000000H AAJMPP MMAINN OORG 000033H AAJMPP TTNT MMAINN:MOOV TMMOD,#01HH MMOV IIE,#81HH BTT:CLLR P11.0 SSJMPP B

54、BT TTNT:CPLL P1.0 MMOV RRO,#40 LP:MOVV TH00,#33CH ;如果果是111.05592MMHZ则则THH0=44BH TLL0=FFEH MOV TLL0,#0B00H ;如果是是6MHHZ则TH00=9EEH TL00=588HSETB TRR0 JNB TFF0,$ CLR TFF0 DJNZ R00,LPP JNB P33.2,TNTT REETI 188句 数码管显示示(高电电实操题题31004) 利利用80031串串行口和和74LLS1664驱动动一个数数码管,要要求:数数码管依依次按指指定的顺顺序循环环并显示示数字。例如:规定定按1、33、

55、5、77、9、22、4、66、8、00、A、BB、C、DD、E、FF、-、PP、 、熄灭灭 顺序序循环显显示。法一. SSTARRT:MMOV SCOON,#00HH MMOV R0,#0 MMOV DPTTR,#TABB LPP:MOOV AA,R00 MMOVCC A,A+DDPTRR MMOV SBUUF,AA JJNB TI,$ CCLR TI IINC R0 AACALLL DELLY CCJNEE R0,#200,LPP SSJMPP STAART TAAB: DB 066H, 4FHH, 66DH, 077H, 6FHH, 55BH, 666H, 7DHH, 77FH, 3FFH (共共阴) DB 777H, 7CHH, 339H, 5EEH, 79HH, 771H, 400H, 73HH, 880H, 000H DELLY: MOVV R44, #10 ;延延时0.5s子子程序( foosc=12MMHz ) RETTMOV R0,#200HMOV R1,#199MOV 34HH,RR0MOV 35HH,RR0STARTT : IINC

温馨提示

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

评论

0/150

提交评论