不用定时器产生一串方波的子程序,不知道占空比和相位精

[复制链接]
2766|2
 楼主| bg6nw 发表于 2007-12-15 22:05 | 显示全部楼层 |阅读模式
想用单片机的一个端口输出一定数量(任意个数)的方波,不用定时器。
写了一个产生500个方波波形的子程序,不知道占空比和相位精确否,请大虾们指点。

fangbo:
       mov r7, #250
fb_1: 
       mov r6, #100     ;装数                  1
       nop              ;                      1
       clr 端口         ;置低电平
       djnz r6, $       ;延时                200
       mov r6, #100     ;装数                  1
       nop              ;                      1
       nop              ;                      1 
       nop              ;                      1
       nop              ;                      1
       setb 端口        ;置高电平
       djnz r6, $       ;延时                200
       nop              ;                      1
       djnz r7, fb_1    ;跳回                  2
;-------------------------------------------
       mov r7, #250                            1
fb_2: 
       mov r6, #100     ;装数                  1
       clr 端口         ;置低电平
       djnz r6, $       ;延时                200
       mov r6, #100     ;装数                  1
       nop              ;                      1
       nop              ;                      1
       nop              ;                      1
       setb  端口       ;置高电平
       djnz r6, $       ;延时                200
       nop              ;                      1
       djnz r7, fb_2    ;跳回                  2
       ret
另外,我认为这样写挺麻烦的,万一要产生几千上万个方波波形,代码岂不是多的多,苦思冥想中.......

王紫豪 发表于 2007-12-15 22:22 | 显示全部楼层

用cpld干吧,单片机干这个专业不太对口!

dai_weis 发表于 2007-12-15 22:32 | 显示全部楼层

放着定时器或者PWM不用,呵呵用软件当然麻烦

看来真的是CPLD才适合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

511

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部