51单片机汇编语言编程:用定时器控制输出矩形波

80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲。
波形只画出了2段:一段为100us 另一段为50us。
要完全的、完整的、详细的编写此程序的过程!谢谢
悬赏分:5 | 解决时间:2011-1-9 15:24
------------------------
最佳答案:
用一个定时器定时50us,也可以达到题目要求。
在我的空间里面有类似的问题和解答。

        ORG   0000H
        SJMP  START
        ORG   001BH          ;T1中断入口.
        SJMP  T1_INT
START:
        MOV  TMOD,  #20H     ;设置T1定时方式2
        MOV  TH1,  #206      ;自动重新装入方式.
        MOV  TL1,  #206      ;定时时间
        MOV  IE,  #10001000B ;开放总中断和T1中断.
        SETB TR1             ;启动T1
        MOV  R2,  #3         ;周期是3×50us
        SJMP $               ;等着吧.
T1_INT:
        SETB P1.0            ;输出高.
        DJNZ R2,  T1_END     ;R2-1
        CLR  P1.0            ;减到0,就输出低电平.
        MOV  R2,  #3
T1_END:
        RETI                 ;中断返回.
END                          ;完.
------------------------
回答时间:2011-1-9 13:05
回答者: 做而论道 | 十四级  采纳率:37%
提问者对于答案的评价:谢谢咯 很感谢
原题网址:http://zhidao.baidu.com/question/213175472.html
=========================================== 
已知51单片机系统晶振频率为12MHz,请利用定时器1工作方式1,中断方式在P2.3输出频率为10Hz的方波。
写出定时设计过程及完整代码
问题补充:用汇编的   麻烦写一下
悬赏分:10 | 解决时间:2011-1-10 13:58
------------------------
最佳答案:

        ORG   0000H
        SJMP  START
        ORG   001BH          ;T1中断入口.
        SJMP  T1_INT
START:
        MOV  TMOD, #10H     ;设置T1定时方式1
        MOV  TH1, #(65536-50000) / 256   ;送入初始值.
        MOV  TL1, #(65536-50000) MOD 256 ;定时
        MOV  IE, #10001000B ;开放总中断和T1中断.
        SETB TR1            ;启动T1
        SJMP $              ;等着吧.
T1_INT:
        MOV  TH1, #(65536-50000) / 256   ;重新送入初始值.
        MOV  TL1, #(65536-50000) MOD 256 ;定时
        CPL   P2.3          ;输出方波.
        RETI                ;中断返回.
END                         ;完.
------------------------
回答时间:2011-1-10 13:47
回答者: 做而论道 | 十四级  采纳率:37%
原题网址:http://zhidao.baidu.com/question/212987769.html
===========================================
单片机编程

选用T0操作模式1用于定时,由P1.7输出周期为5ms方波的控制程序,设晶振fosc=6MHz。      
悬赏分:50 | 解决时间:2011-1-9 14:25
------------------------
最佳答案:

        ORG  0000H
        MOV  TMOD, #01H    ;T0方式1定时.
        SETB TR0            ;启动T0
LOOP:
        MOV  TH0, #(65536-5000/2/2) / 256   ;送入初始值.
        MOV  TL0, #(65536-5000/2/2) MOD 256 ;定时
        JNB  TF0, $         ;等待定时完成.
        CLR  TF0            ;清除标志.
        CPL  P1.7           ;输出方波.
        SJMP LOOP           ;无限循环.
END                         ;完.
------------------------
回答时间:2011-1-9 10:23
回答者: 做而论道 | 十四级  采纳率:37%
提问者对于答案的评价:谢谢
原题网址:http://zhidao.baidu.com/question/213894811.html
===========================================

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值