单片机编程

两道题目,我周一就要交的,而我周日就要去学校,请单片机编程高手帮帮忙。题目如下:
(1 )设有80C51单片机中断控制系统,外部中断INT0为电平触发,INT1为边沿触发,设置INT1为高优先级,INT0为低优先级,屏蔽(串口,T0,T1)的中断请求。当INT0有中断请求时,30H单元增2,直至满100为止;当INT1有中断请求时,将30H单元的内容送50H单元。

(2) Fosc(震荡频率)=6MHZ,使用T1,方式1,定时时间为5ms,每当定时时间到,即申请中断,将P1.5反相,同时使用T0,方式2,每当外界发生10次事件,即申请中断,将30H单元内容反相。

就是这两道题目,会做得大侠赶快帮忙吧,由于我急着要,我本周六就会关闭问题,悬赏奖励,如果谁帮了我大忙,我追加他100分,真的,我说话算话。
速度,会的人快一点,追加100分

ORG 0
AJMP MAIN
ORG 03H
LCALL IN_0
RETI
ORG 13H
LCALL IN_1
RETI
ORG 30H
MAIN:
SETB EA
SETB EX0
CLR IT0
SETB EX1
SETB PX1
SETB IT1
SETB PX1
CLR PX0
CLR ES
CLR ET0
CLR ET1
AJMP $
IN_0:
MOV A,30H
ADD A,#2
MOV 30H,A
RET
IN_1:
MOV 50H,30H
RET
先写一半吧...第二个明天做...:)
今天继续....
ORG 0
AJMP MAIN
ORG 0BH
LCALL NT_0
RETI
ORG 1BH
LCALL NT_1
RETI
ORG 30H
MAIN:
MOV TMOD,#16H
SETB EA
SETB ET0
SETB ET1
MOV TL0,#246
MOV TH0,#246
SETB TR0
LCALL T1LOAD
AJMP $
NT_1:
LCALL T1LOAD
CPL P1.5
RET
NT_0:
MOV A,30H
CPL A
MOV 30H,A
RET
T1LOAD:
MOV TL1,#6
MOV TH1,#156
SETB TR1
RET
好,大概就是这样吧...
程序大体应该是这样的..
没有试过...
祝你好运!
^_^
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-20
用汇编,还是C呀,给你个汇编的
ORG 0
AJMP MAIN
ORG 03H
LCALL IN_0
RETI
ORG 13H
LCALL IN_1
RETI
ORG 30H
MAIN:
SETB EA
SETB EX0
CLR IT0
SETB EX1
SETB PX1
SETB IT1
SETB PX1
CLR PX0
CLR ES
CLR ET0
CLR ET1
AJMP $
IN_0:
MOV A,30H
ADD A,#2
MOV 30H,A
RET
IN_1:
MOV 50H,30H
RET
相似回答