单片机晶振为12mhz,要求定时器t1工作方式1,分别实现5ms10ms100ms1s的定时,应如 单片机晶振频率为12MHz,T1工作定时于方式1,要用该定时...

\u5355\u7247\u673a\u6676\u632f\u4e3a12mhz,\u8981\u6c42\u5b9a\u65f6\u5668t1\u5de5\u4f5c\u65b9\u5f0f1,\u5206\u522b\u5b9e\u73b05ms10ms100ms1s\u7684\u5b9a\u65f6,\u5e94

TMOD = 0x10;//\u5b9a\u65f6\u56681\u65b9\u5f0f1
TH1 = (65536 - 50000)/256\uff1b//\u5b9a\u65f65ms \u9ad8\u516b\u4f4d
TL1 = (65536 - 50000)%256;//\u5b9a\u65f65ms \u4f4e\u516b\u4f4d
5ms\u6ea2\u51fa\u8fdb\u5165\u4e2d\u65ad\u4e00\u6b21\uff0c\u5982\u679c\u9700\u898110ms\u6216\u66f4\u957f\u7684\u5b9a\u65f6\u65f6\u95f4\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a\u53d8\u91cf\uff0c\u6ea2\u51fa\u4e00\u6b21\u53d8\u91cf\u81ea\u589e\u4e00\u6b21\u3002

TH1 = (65536 - 5000) / 256;
TL1 = (65536 - 5000) % 256;

\u521d\u59cb\u503c\u53ef\u4ee5\u4ee4\u7f16\u8bd1\u8f6f\u4ef6\u6765\u8ba1\u7b97\u3002
\u4eba\uff0c\u5199\u51fa\u4e0a\u8ff0\u7684\u516c\u5f0f\u5373\u53ef\uff0c\u4e0d\u7528\u5177\u4f53\u7684\u7ba1\u8fd9\u4e9b\u5c0f\u4e8b\u3002

可能你要汇编语言,但你看C语言更简洁明了
TMOD=0X10;
TL1=(65535-5000)%256;//5ms的定时,低8位对256求余
TH1=(65535-5000)/256;//高8位对256求模
10ms时减10000
100ms 1s的定时,没法一次完成,因最大定时值是65.535mS
可通过定时50MS 累计2次和20次实现

只需设置最小计时(5ms),其他的通过计算得到,即每2两次为10ms,20次为100ms,200次为1s。

  • 鏌愮郴缁熼噰鐢51绯荤粺鍗曠墖鏈,鏅舵尟棰戠巼涓12MHz,浣跨敤瀹氭椂/璁℃暟鍣0,鏂瑰紡1,瑕...
    绛旓細浣犲ソ锛屽12MHz 1涓満鍣ㄥ懆鏈 1us 12/fosc = 1us銆傚畾鏃惰绠楀叕寮鏄 M = 2^K-X*Fosc/12 12MHz 鎵浠瑕佹眰30ms鐨勮瘽锛孹绛変簬30锛岀劧鍚嶬涓16锛屽緱鍒65536-30000=25536锛屽畾鏃跺櫒THx=0x63锛堝崄杩涘埗99锛夛紝TLx=0xc0锛堝崄杩涘埗192锛
  • 鍗曠墖鏈烘櫠鎸负12mhz,瑕佹眰瀹氭椂鍣╰1宸ヤ綔鏂瑰紡1,鍒嗗埆瀹炵幇5ms10ms100ms1s鐨...
    绛旓細鍙兘浣犺姹囩紪璇█锛屼絾浣犵湅C璇█鏇寸畝娲佹槑浜 TMOD=0X10;TL1=(65535-5000)%256;//5ms鐨勫畾鏃讹紝浣8浣嶅256姹備綑 TH1=(65535-5000)/256;//楂8浣嶅256姹傛ā 10ms鏃跺噺10000 100ms銆1s鐨勫畾鏃,娌℃硶涓娆″畬鎴愶紝鍥犳渶澶у畾鏃跺兼槸65.535mS 鍙氳繃瀹氭椂50MS銆绱2娆″拰20娆″疄鐜 ...
  • 璁綧CS-51鍗曠墖鏈浣跨敤鐨鏅舵尟鏄12MHz,娆蹭娇鐢ㄥ畾鏃跺櫒/璁℃暟鍣1瀹炵幇50ms瀹氭椂涓...
    绛旓細涓嶇浣跨敤浠涔堝伐浣滄柟寮忛兘鏄彲浠ュ畬鎴愮殑锛岃繖涓彇鍐充簬浣犺缃殑瀹氭椂/璁℃暟鍣ㄧ殑鍒濆笺備笅闈娇鐢ㄦ柟寮忎竴鍜屾柟寮忎簩鏉ュ垎鍒鏄庛備竴銆佷娇鐢ㄦ柟寮忎竴锛鏅舵尟棰戠巼涓12MHz锛鏈哄櫒鍛ㄦ湡涓1us锛50ms鏃堕棿闇瑕佽鏁50000娆★紝鏁呰鏁板櫒鍒濆间负锛65536-50000锛夛紝65536鏄洜涓烘柟寮忎竴涓紝瀹氭椂/璁℃暟鍣ㄧ殑鏈澶у间负65536锛2^16锛夛紝褰撶劧鍐欑▼搴忔椂涓...
  • 鍗曠墖鏈烘櫠鎸棰戠巼涓12MHZ,瑕佹眰瀹氭椂鍣/璁℃暟鍣0浜х敓10ms瀹氭椂,璇曠紪鍐欏垵濮嬪寲...
    绛旓細include <reg52.H> void main() { TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; }
  • 宸茬煡鍗曠墖鏈鐨鏅舵尟棰戠巼涓12MHz,瑕佹眰鐢═1宸ヤ綔鏂瑰紡1瀹屾垚60ms瀹氭椂,鍚屾椂璁㏕0...
    绛旓細void Timer1Init(void)//60姣@12.000MHz { AUXR &= 0xBF;//瀹氭椂鍣ㄦ椂閽12T妯″紡 TMOD &= 0x0F;//璁剧疆瀹氭椂鍣ㄦā寮 TMOD |= 0x10;//璁剧疆瀹氭椂鍣ㄦā寮 TL1 = 0xA0;//璁剧疆瀹氭椂鍒濆 TH1 = 0x15;//璁剧疆瀹氭椂鍒濆 TF1 = 0;//娓呴櫎TF1鏍囧織 TR1 = 1;//瀹氭椂鍣1寮濮嬭鏃 } ...
  • 璁80C51鍗曠墖鏈烘櫠鎸棰戠巼涓12MHZ,瀹氭椂鍣ㄤ綔璁℃暟鍣ㄤ娇鐢ㄦ椂,鍏舵渶楂樼殑杈撳叆璁℃暟...
    绛旓細鏈楂樼殑杈撳叆鎶鏈鐜囧簲涓500khz銆傝绠楁柟娉曪細纭涓娆¤鏁帮紝鍗充竴娆¤礋璺冲彉锛岄渶瑕2涓満鍣ㄥ懆鏈燂紝鍗24涓椂閽熷懆鏈熸垨闇囪崱鍛ㄦ湡锛屽垯鏈楂樿鏁伴鐜涓12M/24=500khz銆傛垨鑰呮寜鐓ф椂闂磋绠楋紝鏅舵尟棰戠巼12M鐨2涓満鍣ㄥ懆鏈熷嵆2us锛岄偅涔堥鐜囧氨鏄1/2*10^6=500khz锛缁撴灉鐩稿悓銆
  • 鍗曠墖鏈鐨勫畾鏃跺櫒0宸ヤ綔鍦ㄦ柟寮1,鏅舵尟棰戠巼涓12MHZ,瑕佸疄鐜板畾鏃20ms,瀹氭椂鍣ㄧ殑...
    绛旓細瀹氭椂鍣ㄨ鏁拌剦鍐查鐜鏄1 MHZ锛鍛ㄦ湡鏄1us,鍥犳20ms鏄20000涓剦鍐 鍥犳鍒濆兼槸65536-20000 楂8浣嶄笂鐨1浠h〃256锛屽洜姝ら珮8浣嶈鐨256鍊嶆暟 TH0=锛65536-20000锛/256锛涗綆8浣嶈鐨勬槸涓嶈冻256閮ㄥ垎锛汿L0=锛65536-20000锛%256锛
  • 璁綧CS-51鍗曠墖鏈烘櫠鎸棰戠巼涓12MHz,瀹氭椂鍣ㄤ綔瀹氭椂浣跨敤鏃,鍏舵渶楂樼殑瀹氭椂鏃堕棿...
    绛旓細璁綧CS-51鍗曠墖鏈烘櫠鎸棰戠巼涓12MHz,瀹氭椂鍣ㄤ綔瀹氭椂浣跨敤鏃,鍏舵渶楂樼殑瀹氭椂鏃堕棿搴斾负锛65.536姣銆
  • 鍗曠墖鏈涓粠P1.1寮曡剼杈撳嚭1000hz鏂规尝 鏅舵尟棰戠巼涓12MHZ 瀹氭椂鏃堕棿涓哄灏 鎬 ...
    绛旓細1000Hz 鐨勫懆鏈烼=1ms锛屽畾鏃朵负 鍗婂懆鏈 0.5ms=500us锛12MHz鏅舵尟锛鏈烘鍛ㄦ湡涓 1us锛屽畾鏃跺櫒鍒濆=65536-锛500us/1us锛=65036=0xFE0C锛涜嫢鏄鎯抽棶瀹氭椂鏃堕棿锛屽氨涓500us锛岃嫢鏄兂闂畾鏃跺櫒鍒濆硷紝灏变负 0xFE0C锛汳OV R0,#03 MOV TMOD,#01H SETB TR0 LOOP: MOV TH0,#FC MOV TL0,#18 LOOP1:JNB ...
  • ...寮曡剼杈撳嚭鍛ㄦ湡涓2ms 鐨勬柟娉,璁鍗曠墖鏈烘櫠鎸棰戠巼涓12MHZ ,璇曠‘瀹...
    绛旓細瑕佷骇鐢熶娇鐢2ms 鐨勬柟娉紝鍙渶鍦≒1.7 浠1ms涓洪棿闅旓紝浜ゆ浛杈撳嚭楂樹綆鐢靛钩鍗冲彲锛12M鏅舵尟锛屽垯涓涓満鍣ㄥ懆T=1us,璁捐鏁板垵鍊间负x,鍒欐湁(2^16-x)*2(us)/10^12=1000(us)/10^12,鍓╀笅鐨勮鏁板垵鍊紉鐢变綘鏉ヨВ绛斾簡
  • 扩展阅读:12mhz晶振的机器周期 ... 遥控器晶振有几种 ... 12mhz晶振介绍 ... 16mhz晶振一次多少ns ... 晶振型号对照表 ... 12.000晶振 ... 晶振6mhz机器周期 ... 12兆晶振机器周期多少 ... 晶振6hz机器周期多少 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网