C语言控制单片机的详细原理是怎样的? 51单片机 C语言 控制频率原理??????

C\u8bed\u8a00\u63a7\u5236\u5355\u7247\u673a\u7684\u8be6\u7ec6\u539f\u7406\u662f\u600e\u6837\u7684\uff1f

\u4e0d\u77e5\u4f60\u7684C\u8bed\u8a00\u529f\u5e95\u600e\u4e48\u6837\uff0c\u5982\u679c\u5e73\u5e38\u80fd\u7528c\u7f16\u4e00\u4e2a\u5c0f\u6e38\u620f\u7684\u8bdd\uff0c\u90a3\u7528c\u53bb\u7f16\u5355\u7247\u673a\u7a0b\u5e8f\u90a3\u5c31\u662f\u8f7b\u800c\u6613\u4e3e\u7684\u4e86\uff01\u4f30\u8ba1\u4f60\u6709\u4e2a\u8bef\u533a\uff0c\u6ca1\u6709\u4ec0\u4e48\u5355\u7247\u673ac\u8bed\u8a00\u8fd9\u79cd\u8bf4\u6cd5\uff0c\u53ef\u4ee5\u8fd9\u6837\u7406\u89e3\u5427\uff0c\u53ea\u4e0d\u8fc7\u662f\u6539\u4e86\u4e00\u4e2a\u7f16\u8bd1\u73af\u5883\uff01\u7a0b\u5e8f\u8fd0\u884c\u7684\u7ed3\u679c\u4e0d\u5728PC\u673a\u4e0a\u770b\u5f97\u51fa\u6765\uff0c\u800c\u662f\u8f6c\u79fb\u5230\u4e86\u4e00\u5757\u5355\u7247\u673a\u677f\u4e0a\uff01\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u70b9\u4eae\u4e00\u76cf\u5355\u7247\u673a\u4e0a\u7684\u53d1\u5149\u4e8c\u6781\u7ba1\uff0c\u6709\u5341\u51e0\u884c\u4ee3\u7801\u5c31\u884c\u4e86\uff01\u4f60\u7684\u95ee\u9898\u4e0d\u5728\u7f16\u7a0b\u95ee\u9898\uff0c\u800c\u662f\u5bf9\u786c\u4ef6\uff08\u5355\u7247\u673a\uff09\u4e0d\u662f\u5f88\u4e86\u89e3\uff01\u4e0d\u8981\u628a\u5b83\u60f3\u5f97\u90a3\u4e48\u795e\u79d8\uff0c\u53ea\u8981C\u529f\u5e95\u597d\uff0c\u5165\u95e8\u5355\u7247\u673a\u5f88\u5feb\uff01\u5982\u679c\u9700\u8981\u7684\u8bdd\uff0c\u53ef\u4ee5\u53d1\u4e2a\u7a0b\u5e8f\u7ed9\u4f60\u770b\u770b\uff0c\u5f88\u7b80\u7b54\u3002

\u5047\u8bbe\u4f60\u768451\u5355\u7247\u673a\u7528\u7684\u6676\u632f\u662f12MHz\u7684\uff0c\u90a3\u4e48\u53ef\u4ee5\u5f97\u5230\u5982\u4e0b\u7ed3\u8bba\uff1a51\u6267\u884c\u4e00\u4e2a\u6307\u4ee4\u7684\u65f6\u95f4\u5468\u671f\u662f1uS\uff0c\u8fd9\u4e2a\u662f51\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u5c31\u4e0d\u6df1\u5165\u8bb2\u89e3\u4e86\u3002
\u7136\u540e\uff0c\u5982\u679c\u7528\u5b9a\u65f6\u56680\u786e\u5b9a\u8f93\u51fa\u9891\u7387\uff0c\u5047\u8bbe\u5b9a\u65f6\u56680\u7684TL0\u521d\u59cb\u503c\u662f0x01,\u90a3\u4e48\u5f53TL0\u53d8\u4e3a0x02\u65f6\uff0c\u5c31\u662f\u7ecf\u8fc7\u4e861uS\u65f6\u95f4\u2014\u2014\u8fd9\u4e2a\u61c2\u5427\uff1f
\u90a3\u4e48\uff0c\u8bbe\u7f6e\u5b9a\u65f6\u56680\u4e3a\u5de5\u4f5c\u6a21\u5f0f1\uff08\u537316\u4f4d\u5b9a\u65f6\u5668\u6a21\u5f0f\uff09\uff0c16\u4f4d\u5b9a\u65f6\u5668\u7684\u6700\u9ad8\u503c\u662f0xff ff,\u4e5f\u5c31\u662f65535 uS\u3002
\u8ddf\u7740\uff0c\u628a\u5b9a\u65f6\u5668\u521d\u59cb\u503c\u8bbe\u4e3a\u5341\u8fdb\u523660536\uff0c\u8fd9\u4e2a\u8bf4\u660e\u4e86\u4ec0\u4e48\u5462\uff1f\u7ecf\u8fc7\u4ee5\u4e0a\u63a8\u8bba\uff0c\u5c31\u77e5\u9053\u8bbe\u4e3a\u8fd9\u4e2a\u521d\u503c\u4e4b\u540e\uff0c\u5b9a\u65f6\u56680\u4ea7\u751f\u4e2d\u65ad\u7684\u5468\u671f\u4e3a5 mS(\u6ce8:65536 - 60536 = 5 000)\u3002
\u6700\u540e\uff0c\u4f60\u7684\u95ee\u9898\uff0c1Hz\u65f6\uff0c\u5468\u671f\u4e3a1000mS\uff0c\u4f60\u5c31\u6bcf10\u4e2a\u5b9a\u65f6\u5668\u4e2d\u65ad\uff08 1000mS / 2 / 5mS = 100\uff09\uff0c\u5bf9\u76f8\u5173\u5f15\u811a\u6267\u884c\u4e00\u6b21\u53d6\u53cd\u64cd\u4f5c\uff1b10Hz\u65f6\uff0c\u5468\u671f\u4e3a10mS\uff0c\u4f60\u5c31\u5b9a\u4e49\u4e00\u4e0b\u53d8\u91cf\uff0c\u7136\u540e\u5bf9\u6bcf\u4e2a\u4e2d\u65ad\u5468\u671f\uff0c\u6bcf10\u4e2a\u5b9a\u65f6\u5668\u4e2d\u65ad\uff08 100mS / 2 / 5mS = 10\uff09\uff0c\u5bf9\u76f8\u5173\u5f15\u811a\u6267\u884c\u4e00\u6b21\u53d6\u53cd\u64cd\u4f5c\uff1b100Hz\u65f6\uff0c\u5468\u671f\u4e3a100mS\uff0c\u4f60\u5c31\u6bcf10\u4e2a\u5b9a\u65f6\u5668\u4e2d\u65ad\uff08 10mS / 2 / 5mS = 1\uff09\uff0c\u5bf9\u76f8\u5173\u5f15\u811a\u6267\u884c\u4e00\u6b21\u53d6\u53cd\u64cd\u4f5c\u3002
-\u5b8c-

C语言源程序----->C编译器----->汇编代码----->汇编器----->机器代码
所谓的单片机C语言的意思是拿C语言来编写单片机程序,没有什么C语言控制单片机这回说法。具体过程是:C语言源程序通过特定的C编译器编译为针对某种单片机的汇编代码,再由汇编器将汇编代码汇编为单片机可执行的机器代码,然后下载到单片机的存储器运行。当前一般的集成开发环境(如Keil C)可以一次搞定生成机器代码。
需要补充一点的是,单片机也是一种计算机,不要以为只有在PC机上才可以用C语言编程,C语言可以用作为任何计算机的编程语言,当然包括单片机,但有一个条件就是,你必需要有针对某种架构的计算机的C编译器。目前来讲,C语言的编译器种类非常多,有用于各种单片机以及微处理器架构的编译器版本,所以可以用C来做为单片机的编程语言。不同的是,你用TC或者VC编译得到的是X86(如Intel,AMD)的目标代码,只能在PC机上运行,而如果用单片机C编译器(比如Keil C)编译的代码是单片机代码,只能在特定的单片机上运行。目前C/C++是最流行的单片机/微处理器编程语言。

不知你的C语言功底怎么样,如果平常能用c编一个小游戏的话,那用c去编单片机程序那就是轻而易举的了!估计你有个误区,没有什么单片机c语言这种说法,可以这样理解吧,只不过是改了一个编译环境!程序运行的结果不在PC机上看得出来,而是转移到了一块单片机板上!举个例子,点亮一盏单片机上的发光二极管,有十几行代码就行了!你的问题不在编程问题,而是对硬件(单片机)不是很了解!不要把它想得那么神秘,只要C功底好,入门单片机很快!如果需要的话,可以发个程序给你看看,很简答。

C语言——汇编语言——机器码——烧入代码——CPU能读取并执行代码(原理就是数字电路了)

  • 鍗曠墖鏈烘槸鎬庝箞鎵цC璇█绋嬪簭鐨
    绛旓細鐪嬫牱瀛愪綘瀵瑰畾鏃朵腑鏂笉鏄緢鎳倊~~鍗曠墖鏈轰笂鐢靛悗,鍗曠墖鏈虹殑鍐呴儴瀹氭椂灏卞紑濮嬭捣鎸簡,瀹氭椂浜х敓婧㈠嚭鍚,浼氭墽琛屼腑鏂姛鑳絶~浣犲凡缁忓鍐呴儴鏃堕挓鐨勬暟鎹綔浜嗛噸瑁,骞跺仛浜嗘椂閽熸暟鎹殑鐩稿簲澶勭悊,涓柇瀹屽悗,鍗曠墖鏈哄唴閮ㄦ孩鍑轰綅鑷姩娓呴浂~~~绛夊緟涓嬩竴娆′腑鏂殑鍒版潵~~WHILE(1) 鍙槸鍋氫负鏃跺疄鏄剧ず鐢ㄧ殑,鏄竴涓寰幆,浣嗕腑鏂殑绾у埆...
  • C璇█鎬庝箞鍐欒繘鍗曠墖鏈?
    绛旓細C璇█鎬庝箞鍐欒繘鍗曠墖鏈?  鎴戞潵绛 1涓洖绛 #鐑# 鍝簺鐧岀棁鍙兘浼氶仐浼犵粰涓嬩竴浠?淇″繀閼湇鍔″钩鍙 2022-11-16 路 TA鑾峰緱瓒呰繃5008涓禐 鐭ラ亾椤剁骇绛斾富 鍥炵瓟閲:28.8涓 閲囩撼鐜:100% 甯姪鐨勪汉:255涓 鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 灞曞紑鍏ㄩ儴 1銆佹妸C璇█缂栬瘧涓虹紪绋嬪櫒鏀寔鐨勮瑷鏍煎紡,姣斿甯哥敤鐨刡in,鎴杊ex绛夋牸寮...
  • keil缂栫▼杞欢浠嬬粛 C璇█涓鍗曠墖鏈虹殑鑱旂郴 瓒璇︾粏瓒婂ソ```
    绛旓細1銆鍗曠墖鏈虹殑c鏄缁ф壙浜嗘爣鍑哻鐨勭粷澶ч儴鍒嗙殑鐗规,鍩烘湰璇硶鐩稿悓,浣嗗叾鏈韩鍙堝湪鐗瑰畾鐨勭‖浠 缁撴瀯涓婂張鏈夋墍鎵╁睍濡俴eywords:sbit,data,idata,pdata,xdata,code绛夌瓑銆傘傘2銆佸簲鐢ㄥ崟鐗囨満鐨刢鏇磋娉ㄩ噸瀵圭郴缁熻祫婧愮殑鐞嗚В,鍥犱负鍗曠墖鏈虹殑绯荤粺璧勬簮鐩稿pc鏉ヨ寰堣传涔,瀵逛簬姣忎竴涓猺am,rom涓殑byte閮借鍏呭垎鍒╃敤,鍙互澶氱湅鐪嬬紪璇...
  • 鍗曠墖鏈虹殑鍘熺悊
    绛旓細鍚屾椂,瀛︿範浣跨敤鍗曠墖鏈烘槸浜嗚В璁$畻鏈鍘熺悊涓庣粨鏋勭殑鏈浣抽夋嫨銆 鍗曠墖鏈哄唴閮ㄤ篃鐢ㄥ拰鐢佃剳鍔熻兘绫讳技鐨勬ā鍧,姣斿CPU,鍐呭瓨,骞惰鎬荤嚎,杩樻湁鍜岀‖鐩樹綔鐢ㄧ浉鍚岀殑瀛樺偍鍣ㄤ欢,涓嶅悓鐨勬槸瀹冪殑杩欎簺閮ㄤ欢鎬ц兘閮界浉瀵规垜浠殑瀹剁敤鐢佃剳寮卞緢澶,涓嶈繃浠烽挶涔熸槸浣庣殑,涓鑸笉瓒呰繃10鍏冨嵆鍙...鐢ㄥ畠鏉ュ仛涓浜鎺у埗鐢靛櫒涓绫讳笉鏄緢澶嶆潅鐨勫伐浣滆冻鐭d簡銆傛垜浠幇鍦ㄧ敤鐨勫叏鑷姩...
  • 鍗曠墖鏈篶璇█ 姹傚ぇ绁炲府鎴戞妸涓嬮潰鐨勫師鐞鍥惧拰绋嬪簭琛ュ畬鏁,鏈灏忕郴缁鎺у埗8涓祦...
    绛旓細鎸夌収妤间富鐨勯儴鍒嗙▼搴忔潵鐪嬶紝鏄笉閲囩敤寰幆鐨勩傞偅涔堬紝鎸夌収妤间富鐨勬濊矾锛岃ˉ鍏呭畬鏁寸殑绋嬪簭濡備笅锛歄RG 0000H AJMP START ORG 0030H START:CLR P1.0 ;绗浂涓狶ED鍙戝厜 MOV P0, #3FH ;鏁扮爜绠℃樉绀0 ACALL DELAY ;寤舵椂 SETB P1.0 ;--- CLR P1.1 MOV P0, #06H ;鏁扮爜...
  • 鍗曠墖鏈篶璇█缂栫▼?
    绛旓細瀛︿範鍗曠墖鏈篊璇█锛岄鍏堣浜嗚В杩欎袱涓笢瑗挎槸浠涔堛傚崟鐗囨満鍏ラ棬缂栫▼涓昏鏄涔燙璇█锛屽叾娆℃槸鐢佃矾鍜岀紪绋嬭瑷銆傚崟鐗囨満C璇█绋嬪簭璁捐瀛︿範涓繀璇荤殑妯℃嫙鐢点佹暟瀛楃數銆佺數璺笁鏈功锛屼负鎺ヤ笅鏉ョ殑瀛︿範鍋氶摵鍨傜湅涔︾殑鐩殑鏄洜涓虹綉涓婃暀绋嬪お澶氾紝瀹规槗鍑虹幇鍋忓樊銆傚叾瀹炲彧瑕佽兘鎳傜數璺鍘熺悊锛屽氨鑳藉紑鍙戝崟鐗囨満杞欢銆傜畝浠嬪崟鐗囨満鍙堢О鍗曠墖寰鎺...
  • C璇█涓鍗曠墖鏈篊璇█鐨鍖哄埆 鎬ユ眰
    绛旓細3銆佸崟鐗囨満c璇█缂栫▼鏄熀浜C璇█鐨鍗曠墖鏈虹紪绋嬨鍗曠墖鏈虹殑C璇█閲囩敤C51缂栬瘧鍣紙绠绉癈51锛夈傜敱C51浜х敓鐨勭洰鏍囦唬鐮佺煭锛岃繍琛岄熷害楂橈紝瀛樺偍绌洪棿灏忥紝绗﹀悎C璇█鐨凙NSI鏍囧噯锛岀敓鎴愮殑浠g爜閬靛惊Intel鐩爣鏂囦欢鏍煎紡锛岃屼笖鍙笌A51姹囩紪璇█PL/M51璇█鐩爣浠g爜娣峰悎浣跨敤銆侰51鏈川灏辨槸C锛屾槸涓哄湪鍗曠墖鏈轰笂浣跨敤C鑰屽嚭鏉ョ殑锛屽鏋淐涓嶇墷鍥...
  • 鎴戝垰寮濮嬬敤鍗曠墖鏈,鐢鐨勬槸c璇█鏈変笉鏄庣櫧鐨勫湴鏂
    绛旓細uchar鍚岀悊銆備笉鐭ラ亾浣犵煡涓嶇煡閬撴棤绗﹀彿鏄粈涔堟剰鎬濓紝鎴戝璇翠竴鐐瑰惂锛屾棤绗﹀彿灏辨槸娌℃湁璐熸暟锛屾瘮濡俢har鍨嬪彉閲忥紝鑼冨洿鏄-127--127锛屼綘瀹氫箟涓簎nsigned char鐨 璇濊寖鍥村氨鏄0--255浜嗐傝嚦浜庡彉閲忕殑鏁伴噺闄愬埗鎴戞兂搴旇鏄病鏈夐檺鍒讹紝浣嗗墠鎻愭槸浣犵殑鍗曠墖鏈虹殑瀛樺偍绌洪棿澶熷ぇ锛屼竴鑸綘鎯虫坊鍔犲彉閲忔坊鍔犲氨琛屼簡锛屽簲璇ュ鐢 ...
  • 鎴戞兂鐭ラ亾杈撳叆鍗曠墖鏈虹殑鏄楂樹綆鐢甸鍚?鏃㈢劧鏄敤C璇█缂栫▼鎺у埗,璁$畻鏈烘槸...
    绛旓細1鍗曠墖鏈篿/o绔彛鍙兘鎺ュ彈寮鍏抽噺锛1 鎴 0 锛夊拰鏁板瓧閲忓8浣嶏紙11101010锛変俊鍙 2鐢 C璇█缂栫▼鍘鎺у埗鍗曠墖鏈宸ヤ綔锛屽繀椤昏灏咰璇█鐨勬簮绋嬪簭缁忚繃缂栬瘧缈昏瘧鎴鍗曠墖鏈虹殑鏈哄櫒鎸囦护浠g爜 鍗 浜岃繘鍒舵寚浠や唬鐮 濡10101110 11000111 鍙洰鏍囦唬鐮 3鐒跺悗鍙互閫氳繃8浣嶅苟琛屽彛 鎴 涓茶鍙 灏嗕簩杩涘埗鎸囩洰鏍囦唬鐮佷腑鐨1鍜0...
  • 扩展阅读:c++编程入门自学 ... c++和python先学哪个 ... c++编程软件 ... c++编程适合几岁学 ... 为什么不建议学单片机 ... c++入门程序代码 ... 单片机必须会c语言吗 ... plc基础知识指令27个 ... 单片机c语言入门自学 ...

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