当前位置:首页 > 单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案
袂SJMP$ END
葿
芆6-7试用中断技术设计一发光二极管LED闪烁电路,闪烁周期为2s,要求亮1s,再暗1s。
解:设P1.0接1发光二极管,低电平点亮;利用定时器T0,工作于定时器方式2,设系统频率为fosc=12MHz,则一个定时脉冲为1us,每次中断定时250us,则需要4000个中断实现1s的定时
8
羂利用R6,R7做软件计数器,初值分别为40,100;定时初值2-250=06H
衿ORG0000H
蚄LJMPMAIN
节ORG000BH
羂LJMPT00
芀ORG0100H
莆MAIN:MOVSP,#60H
芅MOVTMOD,#02H
肂MOVTH0,#06H
莇MOVTL0,#06H
肈MOVR6,#40
肄MOVR7,#100
膂CLRP1.0
螈SETBEA
薆SETBET0
袃SETBTR0 芁SJMP$
腿T00:DJNZR6,DONE
芈MOVR6,#40
蒄
薂DJNZR7,DONE
莁MOVR7,#100
薀DONE:CPLP1.0 螆RETI 蚅END
蒁6-8试用中断方法设计秒、分脉冲发生器,即由8031的P1.0每秒产生一个机器周期的正脉冲,由P1.1每分钟产生一个机器周期的正脉冲。
螇解:设系统时钟频率为12MHz,则一个计数脉冲为1us,利用T0做定时器记录50ms,计数初值为216-50000=3CB0H,利用R6,R7为软件计数器,初值为20,60,分别实现1s和1分钟的定时
蒈ORG0000H
莄LJMPMAIN
薁ORG000BH LJMPT00
袅ORG0100H
膃MAIN:MOVSP,#60H
薁MOVTMOD,#01H;T0定时器,工作方式1
薈MOVTH0,#3CH
膈MOVTL0,#0B0H;装入50ms的初始值
芅MOVR6,#20
蚁MOVR7,#60
罿CLRP1.0;P1.0,P1.1均输出低电平
肅CLRP1.1
蚇
羄SETBEA
螁SETBET0
莀SETBTR0;中断允许,开始定时
螇SJMP$
螃T00:DJNZR6,DONE;R6-1=0,定时1秒时间到 SETBP1.0;P1.0输出1us的高电平
蒇CLRP1.0;P1.0继续输出低电平
芅MOVR6,#20
薂DJNZR7,DONE;R7-1=0,定时1分钟时间到
羀SETBP1.1;P1.1输出1us的高电平
袀CLRP1.1;P1.1继续输出低电平
羇MOVR7,#60
薅DONE:MOVTH0,#3CH
肀MOVTL0,#0B0H 艿RETI
袈蒅END
莄
第七章串口工作方式0——关于I0接口的扩展
7-1利用74LS164并行输出8只发光二极管,将二极管从左至右点亮,时间间隔1S左右,并循环往复,画出电路原理图,编程实现。(P109)
蚀ORG0100H
膇MOVSCON,#00H
肃MOVA,#80H
膀LOOP:MOVSBUF,A
肁ACALLDEL1S 薄RRA
膆SJMPLOOP
芀7-4利用MCS-51系列单片机的串行接口设计键盘输入电路(P111) 芇第九章模拟量输入输出接口技术
芆9-1在一个fosc为12MHz的8031单片机系统中,接有一片DAC0832,它的地址为7FFFH,输出电压为0-5V,请画出有关逻辑框图并编写程序,使其运行后能在示波器上显示锯齿波(设示波器X方向扫描频率为50us/格,Y方向扫描频率为1V/格)。
袄答:ORG0000H
莀LJMPMAIN
蚈ORG0100H
肈MAIN:MOVSP,#60H
蚃MOVDPTR,#7FFFH
蒀LOOP:MOVA,#00H
聿LOOP1:MOVX@DPTR,A;2
蒆INCA;1
蒂CJNEA,#0,LOOP1;2
蕿SJMPLOOP
膀
共分享92篇相关文档