MCS-51单片机采用12MHZ的晶振,ALE引脚输出正脉冲频率为多少? 若AT89S51单片机采用12MHz的晶振,它的机器周期为多...
\u82e5AT89S51\u5355\u7247\u673a\u91c7\u752812MHz\u7684\u6676\u632f\uff0c\u5b83\u7684\u673a\u5668\u5468\u671f\u4e3a\u591a\u5c11\uff1fALE\u5f15\u811a\u8f93\u51fa\u6b63\u8109\u51b2\u9891\u7387\u4e3a\uff1f\u673a\u5668\u5468\u671f\u4e3a1\u5fae\u79d2\uff0cALE\u6b63\u8109\u51b2\u9891\u7387\u4e3a1/36 \u5fae\u79d2\uff0c\u53730.0277\u5fae\u79d2
\u673a\u5668\u5468\u671f\u4e3a1\u5fae\u79d2\uff0cALE\u6b63\u8109\u51b2\u9891\u7387\u4e3a1/36 \u5fae\u79d2\uff0c\u53730.0277\u5fae\u79d2 \u67e5\u770b\u539f\u5e16>>
2MHz。ALE是低8位地址锁存信号。指令周期为1us(1Mhz),每个指令周期寻址两次。第一次寻址程序存储器,第二次寻址数据存储器。 所以ALE的频率为Fosc/12*2=12/6=2(MHz)2MHz,ALE输出正脉冲频率为晶振的六分之一
2MHz
绛旓細搴旇鏄 12MHz 鍚э紵鍗曠墖鏈鍐呴儴锛岃鏃剁殑鍗曚綅鏄婃満鍣ㄥ懆鏈烼銆嬨備笅闈㈡槸姣忔潯鎸囦护鎵ц鏃讹紝鎵鐢ㄧ殑鍛ㄦ湡鏁帮細MOV R1,#60 1T F: MOV R3,#248 1T DJNZ R3,$ 2T DJNZ R1,F 2T RET 2T 涓嬮潰鏄▼搴忓惊鐜椂鎵鐢ㄧ殑鍛ㄦ湡鏁帮細MOV R1,#60 F: MOV R3,#248 DJNZ R3,$ 2 * 248 = 496 ...
绛旓細include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar cnt;uint num;sbit pluse=P1^0;void t0isr() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;cnt%=2;if(cnt==0) { num++; pluse=~pluse; if(num>=1000)TR0=0; }}mai...
绛旓細include<reg51.h>#define uchar unsigned charsbit pluse=P1^7;void delay(int a){uchar i;while(a--)for(i=0;i<120;i++);}main(){while(1) { pluse=1; delay(1); pluse=0; delay(999); }}
绛旓細2ms鍛ㄦ湡鏂规尝锛1:2鍗犵┖姣旂殑璇濆緱涓嶅埌绮剧‘鍊笺侽RG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#02H MOV TH0,#246 MOV TL0,#246 SETB TR0 SETB ET0 SETB EA SETB P1.0 CLR A SJMP T0ISR:INC A CJNE A,#67,T01 T01:JC T02 CLR P1.0 CJNE A,#200,T03 T03...
绛旓細include<at89x51.h> define OUT P1_0 void InitT0(void){ TMOD = 1;TH0=(65536-1000)/256; //鏈哄櫒鍛ㄦ湡1us 1000us=1ms TL0=(65536-1000)%256;ET0=1;TR0=1;EA=1;} void main(void){ InitT0();//鍒濆鍖栧畾鏃跺櫒 while(1);} void Timer0Interrupt(void) interrupt 1 //姣1ms...
绛旓細include<reg51.h>#define uchar unsigned chr#define uint unsigned intuint cnt;sbit pluse=P1^7;void t0isr() interrupt 1{TH0=(65536-1000)/256;TL0=(65536-1000)%256;cnt++;cnt%=1000;if(cnt<1)pluse=1;else pluse=0;}main(){TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)...
绛旓細涓柇鏈嶅姟鍑芥暟灏变笉鐢ㄥ啓浜嗗惂锛屽氨鍐欎釜鍒濆鍖栧嚱鏁帮細void inition(){ TOMD=0x01;//閫夋嫨瀹氭椂鍣0骞堕夋嫨宸ヤ綔鏂瑰紡1 TH0=(65536-50000)/256;TL0=(65536-500000)%6;EA=1;ET0=1;TR0=1;} 杩欐牱鍒濆鍖栧氨娌¢棶棰樹簡锛屽彟澶栬瀹炵幇1S寤舵椂锛岄渶瑕佸湪涓柇鍑芥暟閲屽姞涓彉閲忚嚜澧烇紝鍥犱负鎴戝畾涔夌殑鏄50ms涓柇涓娆★紝閭d箞...
绛旓細妤间富锛1锛屼綘棣栧厛瑕佺煡閬擄細T0,閲囩敤宸ヤ綔鏂瑰紡2鏈澶у欢杩熸椂闂翠负256us.2,浣犲彲浠ラ氳繃璁$畻鍏紡锛氬垵鍊=256-t*F/12銆倀涓哄畾鏃舵椂闂达紝F灏辨槸浣犻夌敤鐨勬櫠浣撻鐜囥3锛屽洜姝わ紝浣犲厛缂栧啓涓涓50us鐨凾0涓柇鍑芥暟锛350US閫氳繃璁剧疆涓涓叏灞鐨勫彉閲忥紝璁╁畾鏃跺櫒T0浜х敓7娆′腑鏂悗娓0,杩欐牱浣犵殑涓や釜寤舵椂閮藉吋椤句簡銆4锛屼綘鍦∕AIN鍑芥暟...
绛旓細20KT=25us+25us 1K浠ヤ笂鏃讹紝鏈濂戒笉瑕鐢瀹氭椂鍣0宸ヤ綔鏂瑰紡1锛岄噷闈㈡秹鍙婂埌杞欢寤舵椂銆傜粰浣犳彁渚涗竴涓畝鍗曠殑20KHz鐨勬柟娉㈢▼搴忋51鍗曠墖鏈鎺12MHz鏅舵尟锛屽畾鏃跺櫒0宸ヤ綔鏂瑰紡2銆傚皢绋嬪簭涓嬭浇鍒板崟鐗囨満閲岋紝娴嬭瘯涓涓嬶紝璇曡瘯鐪嬨傛牴鎹疄娴嬬粨鏋滆浣滆皟鏁淬傛湭鍔犳寜閿紝鐣ヤ綔鍙傝冨惂銆傦紙澶櫄浜嗭紝涓嶆兂鍐欎簡銆傦級include <AT89X55.H...
绛旓細DELAY1S: MOV TMOD,#01H MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 MOV R2,#20LOOP: JNB TF0,$ CLR TF0 CLR TR0 MOV TH0,#HIGH(65536-50000) MOV TL0,#LOW(65536-50000) SETB TR0 DJNZ R2,LOOP RET ...