求助高手单片机编程(汇编语言)

来源:百度知道 编辑:UC知道 时间:2024/05/16 23:33:27
汇编语言啊,我就是不会编啊
我要用到个单片机的P3.0口输出一定频率脉冲的程序,应该是很简单的程序
P1.1口给一个脉冲会使延时子程序参数+1,P1.2口给一个脉冲会使参数-1,以达到调节输出频率的目的。
多少频率可以自己定,我再修改。
麻烦用汇编语言写出程序,谢谢啦

如果困难的话,调频率的环节就不用写了,如果写了我会再加分的

;给你编了个示例程序
;1:1的脉冲宽度比
;其他的请邮件交流
hzh equ 30h
hzl equ 31h
org 0000h
ajmp start
org 000bh
ajmp timer
org 0030h
start:
mov th0,hzh
mov tl0,hzl
SETB TR0
SETB ET0
SETB EA
main: ;在此添加对P10和P11的脉冲检测程序
ajmp main
timer:
cpl p3.0
mov th0,hzh
mov tl0,hzl
reti
end

我没有调试,你调试一下看看吧,有些地方我省略的,你自己填一下,就当帮我调试一下了(我也不是高手)!!!
org 0000h
ljmp start
org 000bh
ljmp zd
org 0100h
start:
;初始化:省略
mov r0,#XXh;循环次数
loop:
lcall add_1
lcall sub_1
cjne r0,#00h,loop
cpl p3.0
mov r0,r1
ljmp loop

zd:
;定时器重新赋值
dec r0
reti

add_1:
jnb p1.1,re
inc r0
jmp re

sub_1:
jnb p1.2,re
dec r0
jmp re

re:
mov r1,r0
ret
end

用手机写的!说思路!首先要有一个不断输出,再有一个循环扫描键盘程序,再就是延时控制程序了.用单片机的定时器,严时都可以实现.用