方式1的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方式1的应用
假设系统时钟频率采用6mhz,要在P1.0引脚输出一个周期为2MS的方波.
(1)计算初值机器周期=2us=2*10-6 s
设需要装入T0的初值为X,则有(216-X)*2*10-6=1*10-3。
216-X=500,X=65036
将X化为十六进制数,x=FE0CH=1111111000001100B。
所以T0的初值为TH0=0FEH,
TL0=0CH ORG 0000H
RESET:AJMP ,AIM
ORG 000BH
AJMP IT0P
ORG 0100H
MAIN: MOV SP,#60H
MOV TMOD,#01H
ACALL PT0M0
HERE: AJMP HERE
PT0M0: MOV TL0,#0CH
MOV TH0,#0FEH
SETB TR0
SETB ET0
SETB EA
RET
IT0P: MOV TL0,#0CH
MOV TH0,#0FEH
CPL P1.0
RET1
CPU不做其他工作的情况下:
MOV TMOD,#01H
LOOP:MOV TH0,#0FEH
MOV TL0#0CH
SETB TR0
LOOP1:JNB TF0,LOOP1
CLR TR0
CPL P1.0
SJMP LOOP
当T0引脚发生负跳变时,则开始从P1.0引脚上输出一个周期为1MS的方波.
(2)计算T1的初值设T1的初值为X,则
(28-X)*2*10-6=5*10-4X=28-250=6=06H
ORG 0000H
RESET:LJMP MAIN
ORG 000BH
LJMP IT0P
ORG 001BH
LJMP IT1P
ORG 0100H
MAIN: MOV SP,#60H
ACALL PT0M2
LOOP: MOV C,F0
JNC LOOP
SETB TR1
SETB ET1
HERE: AJMP HERE
PT0M2:MOV TMOD,#26H
MOV TL0,#0FFH
MOV TH0,#0FFH
SETB TR0
SETB ET0
MOV TL1,#06H
MOV TH1,#06H
CLR F0
SETB EA
RET
IT0P: CLR TR0
SETB F0
RETI
IT1P: CPL P1.0
RETI
利用定时器T1的方式2对外部信号计数,要求每计满100个数,将P1.0取反. (2)计算T1的初值X=28-100=156=9CH
因此,TL1的初值为9CH,重装初值寄存器TH1=9CH
程序设计:
ORG 0000H
LJMP MAIN
ORG 001BH
CPL P1.0
RET1
ORG 0100H
MAIN: MOV TMOD ,#60H
MOV TL0,#9CH
MOV TH0,#9CH
SETB TR1
HERE: AJMP HERE
行列式键盘工作原理:
按键设在行、列交点上。
行线通过上拉电阻接到+5V上。
无按键按下时,行线处于高电平状态;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。
列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线电平也为高,这点是识别行列式键盘按键是否按下的关键所在。
由于行列式键盘中行、列线为多建共用,各按键均影响该建所在行和列的电平,因此各按键彼此将相互发生影响,所以必须将行、列线信号配合起来,并做适当的处理,才能确定闭合键的位置。