第1页共32页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共32页试题编号3301控制要求:在内部RAM中20H开始的区域中存有二十个无符号数,找出其中最大和最小数,分别送34H和35H单元。(注:目标程序于0800H单元开始)ORG0000HLJMPMAINORG0800HMAIN:MOVR0,#20H;从内部20H单元开始查找MOVR7,#19;20个数需要比较19次MOV34H,@R0;将20H单元的内容同时送34H和35HMOV35H,@R0LOOP:INCR0;指向下一个单元MOVA,@R0;读取到ACCCJNEA,34H,B1;将读取的内容与34H的内容进行比较,不相等跳B1处SJMPEXIT;相等则不作其它比较跳EXIT处B1:JCXIAO;若A的内容小于34H的内容则C为1,跳XIAO处MOV34H,A;C为0表明A大于34H的内容则替换掉34H的内容SJMPEXIT;替换后退出不作最小数比较XIAO:CJNEA,35H,B2;作最小数比较,不相等跳B2处SJMPEXIT;相等退出到EXIT处B2:JNCEXIT;若A的内容大于35H的内容跳EXIT处MOV35H,A;若A的内容小于35H的内容则替换掉35H的内容EXIT:DJNZR7,LOOP;判断比较次数是否完毕SJMP$;比较完毕原地等待END第2页共32页第1页共32页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共32页第3页共32页第2页共32页P1.0INT018031LEDR110kΩVT9013R2200ΩP3.2+5V12Rp10kΩ光敏电阻编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共32页3102控制要求:利用8031定时器与中断功能控制一个“航标灯”,黑夜时发光二极管按指定频率闪烁(如:亮2S,灭2S,循环);白天时发光二极管不亮。电路图:电路工作原理:白天光敏电阻阻值小,使P3.2输入电位为高电平,不产生中断,使LED灭。晚上光敏电阻阻值变大,使P3.2的输入电位为低电平,这时产生中断,中断使LED闪烁。只要是在晚上要求LED一直闪烁。所以中断应该采用电平触发方式。调试方法:接好电路,编好程序,使光敏电阻暴露在光线下,调节Rp到最小值,这时LED应该闪烁。慢慢调大Rp的阻值,使LED刚刚灭,保持Rp这时的阻值即可。当用手遮住光敏电阻的光线,LED就会闪烁。编程思路:使用定时器T0,方式1。所以TMOD=00000001即:01H使用指令:MOVTMOD,#01H每50ms中断一次当晶振为12MHZ时,1us加一。50ms=50000us。所以赋初值为65536-50000=15536,将15536转换为十六进制为3CB0H高八位送TH0,第八位送TL0.使用指令:MOVTH0,#3CHMOVTL0,#0B0H当晶振为6MHZ时,2us加一。50ms=50000us,50000/2=25000所以赋初值为65536-25000=40536,将40536转换为十六进制为9E58H高八位送TH0,第八位送第4页共32页第3页共32页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共32页TL0,使用指令:MOVTH0,#9EHMOVTL0,#58H当晶振为11.0592MHZ时,12/11.0592us加一。50ms=50000us,50000*11.0592/12=46080所以赋初值为65536-46080=19456,将19456转换为十六进制为4C00H高八位送TH0,第八位送TL0,使用指令:MOVTH0,#4CHMOVTL0,#00H因为50ms闪烁一次太快,当要求2S进行一次闪烁时则需要中断2S/50ms=40次。参考程序:(以12MHZ为例)ORG0000HAJMPMAINORG0003H;外部中断0的中断入口地址AJMPHYSDMAIN:MOVTMOD,#01H;设置T0工作方式1,且为定时MOVIE,#81H;CPU开中断和外部中断0开中断BT:CLRP1.0SJMPBT;白天灭LED且等待中断HYSD:SETBP1.0;亮LEDMOVRO,#40;定时40次,即:50ms*40=2S(这里亮2S)LP:MOVTH0,#3CH;赋初值MOVTL0,#0B0HSETBTR0;启动定时JNBTF0,$;等待50ms定时到,定时到后TF0为1CLRTF0;软件清除T0的溢出标志位TF0DJNZR0,LP;判断是否有40次T0定时MOVR0,#20LP1:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR0,LP1JNBP3.2,HYSDRETI18句第5页共32页第4页共32页8031P1.0P1.7R0R7200ΩLED0LED7CC4011CC4011+5V1234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXDP3.1INT0P3.2INT1P3.3T0P3.4T1P3.5WRP3.6RDP3.7XTAL2XTAL1Vss4039383736353433323130292827262524232221VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0803180518751+5V1213141110981234567CC4011Vcc4A4B4Y3Y3B3A1...