单片机8051设计简易波形发生器,要求能产生正弦波,方波,三角波,通过...
include<reg51.h> unsigned char i,sqar_num=128; \/\/最大值100,默认值50 unsigned char cho=0; \/\/0:正弦波。1:方波。2:三角波。3:锯齿波。unsigned char num=0;unsigned char TIME0_H=0xff,TIME0_L=0xdc; \/\/定时器0的初值设置;全局变量.对应正弦波,锯齿波50HZ sbit chg= ...
单片机汇编语言编程 方波源程序如下,锯齿波和三角波的源程序怎么编写...
锯齿波源程序如下:ORG 0000H AJMP START ORG 0050H START: MOV DPTR,#0FEFFH LP: MOV A,#00H LP1: MOVX @DPTR,A INC A AJMP LP1 END 三角波源程序如下:ORG 0000H AJMP START ORG 0050H START: MOV DPTR,#0FEFFH TRI: MOV A,#00H UP: MOVX @DPTR,A INC A ...
51单片机产生锯齿波变方波汇编语言程序
让人给你现编这不太现实,我的空间里面有我单片机课设的汇编程序,调试通过的,是产生正弦波,三角波,方波的程序,可以调节幅值。使用的单片机就是51单片机,你可以参考下。http:\/\/hi.baidu.com\/bettergreen\/home
51单片机fosc=12Mhz利用T0方式1产生500ms的定时,在p1.0引脚上输出周期...
LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)SETB TR0 SETB ET0 SETB EA MOV R2,#10 SJMP T0ISR:CLR TR0 MOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)SETB TR0 DJNZ R2,T0E MOV R2,#10 CPL ...
怎么用C写一个让51单片机发生一个频率40K标准的方波
一、主循环一直停留在产生方波那几句,这样的方式频率可以调到很准,但是要做别的事情必须用中断了。程序很简单,假如p1.0口产生方波:while(1){ i=3;while(i--!=0);p1^0=!p1^0;} 可以调i的值来调频率。二、利用硬件来产生。如果你的晶振是6M,ALE就是6M\/6=1M,需要二十五分频,得到40K...
51单片机编程题,用汇编语言怎么做?
ET0=1; TR0=1;} void timer0() interrupt 1 { TH0 = (65536-500)\/256; \/\/定时器装初值500, 1mS 中断一次 TL0 = (65536-500)%256;CP=~CP; \/\/改变脉冲信号的输出状态 } void main(){ Timer0_init();CP=0;while(1) { } } 汇编语言,才看到,算了,你别人的回答吧 ...
8051单片机的汇编程序编程问题!!!
C语言整个程序编程如下;include <reg52.h> bit P1_2_Turn_Cnt = 0; \/\/---用于P1.2的计数翻转,因为只有两次,大可不必用unsigned char类型的 unsigned char P1_3_Turn_Cnt = 0; \/\/---用于P1.3的计数翻转,因为要7次,所以用unsigned char sbit P1_3 = P1^3;sbt P1_2 = P1^2;void...
怎样用单片机产生38KHz的方波,晶振是12MHz的,用汇编语言最好,谢谢
呵呵,做红外发射吧,定时器发吧,12000000\/12\/38000=26,如果中断里用取反IO口发方波信号的话,还得除以2,也就是说13个机器周期作为定时器的计数值。为了减少中断占用时间过多,采用自动重装载方式。ORG 0000H SJMP STA ORG 000BH LJMP T0ISR ORG 0030H STA:MOV TMOD,#02H MOV TL0,#13 MOV ...
单片机输出方波,观测到方波有抖动,C程序很简单,求分析
看到了你的程序和插图。你是打算让T0在36个机器周期(大概是36us)中断一次,输出反相的波形。但是,中断,并不是严格按照机器周期的个数来发生的。当主程序执行的时候,是一条一条的汇编语言指令,有些的指令是两个机器周期的。如果在执行“两个机器周期的指令”期间,中间发生了定时器溢出,中断并不...
用单片机定时计数器值p1.0端口上产生一个10khz的方波。
汇编程序如下(晶振12MHz):ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口地址 CPL P1.0 RETI ORG 0100H MAIN:MOV IE,#82H;允许T0中断 MOV TMOD,#02;T0方式1定时 MOV TH0,#0CEH MOV TL0,#0CEH SETB TR0 SJMP END C语言程序如下:include <reg51.h> sbit P10=P1...