编写一段程序,让单片机的P1.7输出1ms的方波(用定时器T1完成),晶振频率12MHz.

如题所述

机器周期 T = 12/Fosc = 12/(12x10^6) = 2x10^-6s =1μs
1ms方波的半周期 =500μs ,计数值=500μs/1μs =500d
约定T1工作方式0,是13位计数器,2^13 =8192d -500d = 7692d =1E0Ch
TH1←1EH, TL1←0CH
汇编程序如下:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV SP, #60H ;;堆栈指针初值
MOV TMOD, #00H ;;T1方式0作定时器
LP1 MOV TH0, #1EH ;;T1计数预装值高8位
MOV TL0, #0CH ;;T1计数预装值低8位
SETB TR1 ;;启动T1计数
LP2: JBC TF1, LP3 ;;若T1计数溢出,转LP3
SJMP LP2 ;;若未溢出,继续查询
LP3: CPL P1.7 ;;P1.7输出电平高低置反
AJMP LP1 ;;循环,进入另一半周期
END
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-29
;
ORG 0000H
MOV TMOD, #20H ;T1定时方式2
MOV TH1, #6 ;定时250us
SETB TR1 ;启动T1
LP1:JNB TF1, $
CLR TF1
CPL F0
JNB F0, LP1
CPL P1.7 ;500us高电平500us低电平
SJMP LP1
END
第2个回答  2014-11-27

给你做Proteus仿真吧

追问

是at89c52

追答

丘上说吧

编写一段程序,让单片机的P1.7输出1ms的方波(用定时器T1完成),晶振频率1...
机器周期 T = 12\/Fosc = 12\/(12x10^6) = 2x10^-6s =1μs 1ms方波的半周期 =500μs ,计数值=500μs\/1μs =500d 约定T1工作方式0,是13位计数器,2^13 =8192d -500d = 7692d =1E0Ch TH1←1EH, TL1←0CH 汇编程序如下:ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV...

晶振频率f0sc=12MHz,使用定时器1以方式1使p1.7输出一个频率为50hz的方波...
1.利用定时器输出周期为50Hz的方波,晶振频率为 12 MHz 解:选用定时计数器T1工作与定时方式1,机器周期为 定时器初值TC= D=D8F0H 所以:TH1=0D8H,TL1=0F0H 方波由P1.7引脚输出,具体主程序及中断服务程序如下:ORG 00H LJMP START ORG 1BH LJMP INT_T1 ORG 0100H START:...

AT89C51单片机系统的晶振频率是12MHZ,阅读以下汇编代码回答问题..求...
CPL P1.7 ;50ms取一次反 MOV R7, #0AH LEDRET:RETI END

...频率为12MHz,用定时计数器T0,工作方式1从P1.7输出周期为1ms连续方波...
设初值为X 2^16-X=500us (因为周期为1ms) X=65036=FE0C(H)ORG 0000H SJMP MAIN ORG 0013H SJMP IPT0 MAIN: MOV SP,#60H MOV TL0,#0CH MOV TH0,#0FEH SET EA SET ET0 SET TR0 (不好意思这句我记不清了,你学过应该知道,开启中断三条语句,)HERE : SJM...

...器的频率是12MHz,利用定时器1采用方式1定时20ms,计算出初值并写出整...
1.全局中断没有开启,所有中断响应将不被执行!2.定时器\/计数器0设置定时时间20000us,却没有被使能!\/ include<at89x52.h> void main(void){ P0=0x00;P1=0x80;P2=0x00;P3=0x00;TCON=0x40;TMOD=0x11;TH0=0xB1;TL0=0xE0;TH1=0xB1;TL1=0xE0;T2CON=0x00;RCAP2H=0x00;RCAP2L=0x00;I...

...器的频率是12MHz,利用定时器1采用方式1定时20ms,
12MHz晶振,单片机机械周期 T=12\/Fosc=12\/12MHz=1us;T1定时器工作模式1 为 16位定时器,定时计算公式为:t= (2^16-<TH1:TL1>)×机械周期 T,将T=1us,t=20ms 代入公式得:(65536-<TH1:TL1>)×1us=20ms,得:TH1:TL1=65536-20ms×1000us\/ms÷1us=45536=0xB1E0,得:TH1=0xB1...

假设单片机的晶体震荡器的频率是11.0592MHz,利用定时器1采用方式1定时2...
【例7-3】设STC12C5A60S2单片机的系统时钟频率为12MHz,编程实现从P1.1引脚输出周期为1s的方波。分析:根据题目要求知,P1.1引脚的输出应每隔500ms取反一次,即定时时间为500ms。用一个定时\/计数器无法实现,可用定时\/计数器T1进行10ms的定时,然后用寄存器R7对10ms定时中断次数计数50次来实现。...

...作报警信号,要求1KHz方波信号响100ms,500Hz方波信号响200m...
2ms:定时器初值TC= D=F830H 所以:TH1=0F8H,TL1=30H 开关合上P1.7输入低电平;方波由P1.0引脚输出,具体主程序及中断服务程序如下:FLAG BIT 20H.0 ORG 00H LJMP START ORG 1BH LJMP INT_T1 ORG 0100H START:MOV TMOD,#10H MOV TH1,#0FCH MOV TL1,...

AT89C51单片机系统的晶振频率是12MHZ,阅读以下汇编代码回答问题..求...
CPL P1.7 ;50ms取一次反 MOV R7, #0AH LEDRET:RETI END --- 请对代码进行修改,以利用T1的工作方式0实现同样的功能:ORG 0000H LJMP MAIN ORG 001BH LJMP INTT1 ORG 0100H MAIN:MOV TMOD, #00H ;方式0 MOV TH1, #63H ;定时5000us MOV TL1,...

一个按键怎么控制数码管显示不同的字符
这个要加程序的,按一下按键,程序中变量自加1,然后根据程序变量的值,显示相应的字符。例如:1 MP3 2 CD 3 DVD,如果当前变量值为3,下一次按键有效时,应直接赋值为1,这样就形成了循环

相似回答