MCS-51单片机的定时器T0有集中工作方式?定时器T1和T0有何区别? MCS-51 T0、T1的定时器和计数器方式的差别是什么?试...
\u5355\u7247\u673a\u5b9a\u65f6\u5668T0\u548cT1\u6709\u4ec0\u4e48\u533a\u522b\u5440\uff1f\u5355\u7247\u673a\u5b9a\u65f6\u5668T0\u548cT1\u7684\u533a\u522b\uff1a
1\u3001\u5de5\u4f5c\u65b9\u5f0f\u9009\u62e9\u7684\u4e0d\u540c\u3002\u5b9a\u65f6\u5668T1\u6ca1\u6709\u65b9\u5f0f3 \uff0c\u65b9\u5f0f3\u53ea\u9002\u5408\u5b9a\u65f6\u5668T0\uff0c\u4f7f\u5176\u589e\u52a0\u4e00\u4e2a8\u4f4d\u5b9a\u65f6\u5668\u3002\u82e5\u5b9a\u65f6\u5668T1\u9009\u62e9\u65b9\u5f0f3\uff0cT1\u5c06\u505c\u6b62\u5de5\u4f5c\uff0c\u76f8\u5f53\u4e8eTR1=0\u7684\u60c5\u51b5\u3002
2\u3001\u5de5\u4f5c\u65b9\u5f0f\u63a7\u5236\u4f4d\u7684\u4e0d\u540c\u3002\u5728\u5de5\u4f5c\u65b9\u5f0f\u5bc4\u5b58\u5668TMOD\u4e2d\uff0c\u9ad84\u4f4d\u63a7\u5236\u5b9a\u65f6\u5668T1\uff0c\u4f4e4\u4f4d\u63a7\u5236\u5b9a\u65f6\u5668T0\u3002
3\u3001\u8fd0\u884c\u72b6\u6001\u7684\u4e0d\u540c\u3002\u5b9a\u65f6\u5668T0\u53ef\u5206\u62102\u4e2a\u72ec\u7acb\u76848\u4f4d\u5b9a\u65f6\u5668\uff0c\u800c\u5b9a\u65f6\u5668T1\u5219\u4e0d\u80fd\uff1b\u5b9a\u65f6\u5668T1\u53ef\u4f5c\u4e3a\u4e32\u53e3\u7684\u6ce2\u7279\u7387\u53d1\u751f\u5668\uff0c\u800c\u5b9a\u65f6\u5668T0\u5219\u4e0d\u80fd\u3002
\u6269\u5c55\u8d44\u6599\uff1a
51\u5355\u7247\u673a\u4e2d\u6709\u4e24\u4e2a16\u4f4d\u5b9a\u65f6/\u8ba1\u6570\u5668T0\u548cT1\uff0852\u7cfb\u5217\u6709\u4e09\u4e2a\uff1aT0\u3001T1\u548cT2\uff09\uff0c\u800c\u5b9a\u65f6/\u8ba1\u6570\u5668T0\u548cT1\u5206\u522b\u662f\u7531\u4e24\u4e2a8\u4f4d\u7684\u4e13\u7528\u5bc4\u5b58\u5668\u7ec4\u6210\uff0c\u5373\u5b9a\u65f6/\u8ba1\u6570\u5668T0\u7531TH0\u548cTL0\u7ec4\u6210\uff0cT1\u7531TH1\u548cTL1\u7ec4\u6210\u3002
\u6b64\u5916\uff0c\u5176\u5185\u90e8\u8fd8\u67092\u4e2a8\u4f4d\u7684\u7279\u6b8a\u529f\u80fd\u5bc4\u5b58\u5668TMOD\u548cTCON\uff0cTMOD\u8d1f\u8d23\u63a7\u5236\u548c\u786e\u5b9aT0\u548cT1\u7684\u529f\u80fd\u548c\u5de5\u4f5c\u6a21\u5f0f\uff0cTCON\u7528\u6765\u63a7\u5236T0\u548cT1\u542f\u52a8\u6216\u505c\u6b62\u8ba1\u6570\uff0c\u540c\u65f6\u5305\u542b\u5b9a\u65f6/\u8ba1\u6570\u5668\u7684\u72b6\u6001\u3002\u5176\u4e2d\uff1a
TF1\uff1a\u5b9a\u65f6\u56681\u6ea2\u51fa\u6807\u5fd7\u3002\u5b9a\u65f6/\u8ba1\u6570\u5668\u6ea2\u51fa\u65f6\u7531\u786c\u4ef6\u7f6e\u4f4d\u3002\u4e2d\u65ad\u5904\u7406\u65f6\u7531\u786c\u4ef6\u6e05\u9664\u3002\u6216\u7528\u8f6f\u4ef6\u6e05\u9664\u3002
TF0\uff1a\u5b9a\u65f6\u56680\u6ea2\u51fa\u6807\u5fd7\u3002\u5b9a\u65f6/\u8ba1\u6570\u5668\u6ea2\u51fa\u65f6\u7531\u786c\u4ef6\u7f6e\u4f4d\u3002\u4e2d\u65ad\u5904\u7406\u65f6\u7531\u786c\u4ef6\u6e05\u9664\uff0c\u6216\u7528\u8f6f\u4ef6\u6e05\u9664\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u5b9a\u65f6\u5668\u4e2d\u65ad
\u4e2a\u4e2d\u65ad\u5411\u91cf\uff0c \u6240\u4ee5\u9700\u8981\u5728\u4e2d\u65ad\u7a0b\u5e8f\u91cc\u7531\u8f6f\u4ef6\u5224\u65ad\u662f\u53d1\u9001\u4e2d\u65ad\u8fd8\u662f\u63a5\u53d7\u4e2d\u65ad\uff0c\u5e76\u4e14\u53ea\u80fd\u7531\u8f6f\u4ef6\u6e05\u6807\u5fd7\u4f4d\uff1b \uff083\uff09MCS-51 \u5355\u7247\u673a\u6709\u4e24\u4e2a\u4e2d\u65ad\u4f18\u5148\u7ea7\uff0c\u5373\u53ef\u5b9e\u73b0\u4e8c\u7ea7\u4e2d\u65ad\u670d\u52a1\u5d4c\u5957\u3002\u6bcf\u4e2a\u4e2d\u65ad\u6e90\u7684\u4e2d\u65ad\u4f18 \u5148\u7ea7\u90fd\u662f\u7531\u4e2d\u65ad\u4f18\u5148\u7ea7\u5bc4\u5b58\u5668\uff08IP\uff09\u4e2d\u7684\u76f8\u5e94\u4f4d\u7684\u72b6\u6001\u6765\u89c4\u5b9a\u7684\u3002IP \u7684\u72b6\u6001\u7531\u8f6f\u4ef6\u8bbe\u5b9a\uff0c\u67d0 \u4f4d\u8bbe\u5b9a\u4e3a\u201c1\u201d \uff0c\u5219\u76f8\u5e94\u7684\u4e2d\u65ad\u6e90\u4e3a\u9ad8\u4f18\u5148\u7ea7\u4e2d\u65ad\uff1b\u67d0\u4f4d\u8bbe\u5b9a\u4e3a\u201c0\u201d \uff0c\u5219\u76f8\u5e94\u7684\u4e2d\u65ad\u6e90\u4e3a\u4f4e\u4f18 \u5148\u7ea7\u4e2d\u65ad 2-5 MCS-51 \u5355\u7247\u673a\u4e2d\u7684 T0\u3001T1.\u5176\u5b9a\u65f6\u5668\u65b9\u5f0f\u548c\u8ba1\u6570\u5668\u65b9\u5f0f\u7684\u5dee\u522b\u662f\u4ec0\u4e48\uff1f\u8bd5\u4e3e\u4f8b\u8bf4\u660e\u8fd9\u4e24 \u79cd\u65b9\u5f0f\u7684\u7528\u9014. \u5f53\u5b9a\u65f6\u5668/\u8ba1\u6570\u5668\u4e3a\u5b9a\u65f6\u5de5\u4f5c\u65b9\u5f0f\u65f6\uff0c\u8ba1\u6570\u5668\u7684\u52a0 1 \u4fe1\u53f7\u7531\u632f\u8361\u5668\u7684 12 \u5206\u9891\u4fe1\u53f7\u4ea7\u751f\uff0c\u5373\u6bcf \u8fc7\u4e00\u4e2a\u673a\u5668\u5468\u671f\uff0c\u8ba1\u6570\u5668\u52a0 1\uff0c\u76f4\u81f3\u8ba1\u6ee1
T0,T1本质上没有太大区别,都是一个可以数数的累加器。它们都有0到3,4种工作模式,常用的是模式一,就是当做16位的计算器来用,也比较常用它们的自动重装模式(模式几忘了)这个模式多是在写UART(串口通信)时用的,这时只有T1可以用因为t1有内部的电路连接。其他模式基本不用了,你就不用换时间看了,t1,t2在不写uart通信时可以理解为没有区别。 手机打的,不容易啊,欢迎追问,更欢迎采纳~^_^工作方式3不同呗,当m1m0都为1时,为方式3,但仅是适用于t0,t1停止计时;但是(方式0,1,2)t0、t1都是相同的。
有0-3这四种工作方式,自己看完定时器一章就知道了,T0和T1没啥区别
上面的说的对,还有这个不能急的。要看进去
自己好好看看书,问题就解决了。
绛旓細绠鍗曠悊瑙o細T2鏄竴绉嶅姞寮哄瀷鐨勮鏁板櫒锛屾嫢鏈T0銆乀1鍑犱箮鍏ㄩ儴鍔熻兘锛屼笉杩囪繕鏈夊叾浠栦紭鐐癸紝棣栧厛鏄嚜鍔ㄩ噸瑁呰浇锛岃繕鏈夋崟鑾凤紱鑷姩閲嶈T1\T0涔熸湁锛屼笉杩囨槸8浣嶏紝T2鏄16浣嶏紱鎹曡幏鍙互鐢ㄤ簬瀵瑰绮剧‘瀹氭椂鎴栬鏁帮紝浣犵殑闂100瀛楀洖绛斾笉澶熴
绛旓細鎴戠敤鐨勬槸姹囩紪鐨勶紝绋嬪簭濡備笅 MOV TMOD #01100001B;T0宸ヤ綔浜庢柟寮忎簩锛孴1宸ヤ綔浜庢柟寮忎竴 LOOP:MOV TL0锛孡OW(256-100)MOV TH0锛孒IGH(256-100)SETB TR0 锛涜繖閲屽紑濮嬭鏁 JNB TF0锛$(杩欓噷浣犲彲浠ュ啓鎶鏈揪鍒板悗灏嗚璺宠浆鐨勫湴鍧鍏ュ彛)JMP LOOP LOOP:MOV TL1锛孡OW(65536-20000)MOV TH1锛孒IGH(65536-20000)SETB...
绛旓細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...
绛旓細TR0=0锛涘仠姝㈣鏁 TR0=1锛涘紑濮嬭鏁
绛旓細MOV TMOD,#52H ;T1璁℃暟鏂瑰紡1; T0瀹氭椂鏂瑰紡2 MOV TH0, #(256-250) ;T0瀹氭椂250us@12MHz MOV TL0, #(256-250) ;SETB TR0;MOV TH1, #(65536-4000) / 256 ;T1璁℃暟4000 MOV TL1, #(65536-4000) MOD 256 ;鍗1s SETB TR1;SETB ET0;SETB ET1;SETB EA;MOV R2,...
绛旓細TMOD銆乀H0鎴朤H1銆乀L0鎴朤L1銆丒A=1;TR0鎴朤R1=1;TMOD閫夋嫨鏂瑰紡銆俆H0=锛65536-x锛%256锛泋涓哄畾鏃舵椂闂达紝x<65536 EA=1;寮涓柇锛汿R1=1锛涘惎鍔瀹氭椂鍣銆備緥濡:TMOD=0X10;TH1=0X4b;TL1=0Xfe TR=1;鈥淭MOD=0X10;鈥濊缃畾鏃跺櫒1妯″紡涓烘ā寮忎竴锛16浣嶅畾鏃跺櫒/璁℃暟鍣級鈥淭H1=0X4b;TL1=0Xfe;鈥濊缃畾鏃跺櫒...
绛旓細鍥0.1S璁℃暟鍣鍙幏寰楃殑鏈澶у兼槸65535 鍒欐崲绠楁垚1S鍚庣殑鍊间负655350銆鍗虫渶楂樻祴閲忛鐜囦负655.35KHZ 鍚屾椂璁℃暟鍣ㄥ厑璁哥殑鏈楂樿緭鍏ュ伐浣滈绻佷负绯荤粺鏃堕挓棰戠巼鐨2鍒嗕箣1鍗24锛12锛2锛1 MHZ 鎵浠ュ彧鑳藉彇杈冨皬鐨勫655.35KHZ
绛旓細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 ...
绛旓細define FOSC 11059200L define T1MS (65536-FOSC/1000) //1ms瀹氭椂 sbit TEST_LED = P1^0; //P1.4杈撳嚭 //--- /*瀹氭椂鍣0涓柇*/ void tm0_isr() interrupt 1 using 1 { TL0 = T1MS; //瀹氭椂鍣0鍒濆鍊间綆浣 TH0 = T1MS >> 8; //瀹氭椂鍣0鍒濆鍊奸珮浣 TEST_LED = !
绛旓細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 ...