怎么用c语言编程51单片机读写程序?
编程代码如下:
ORG 0000H
MOV DPTR,#1000H ;给源数据块地址指针DPTR赋初值
MOV P2, #20H ;给目的数据块地址指针P2和R0赋初值
MOV RO,#00H
LOOP: MOVX A, @DPTR .
MOVX @RO, A .
INC DPTR
INC RO
CJNE RO,#64H, LOOP
SJMP $
扩展资料
MCS-51单片机主要由下列部件组成:1个8位CPU;1个片内振荡器及时钟电路;4KB ROM程序存储器,256BRAM;21个特殊功能寄存器。
2个1 6位定时/计数器;4个8位并行I/O口及1个可编程全双工串行接口;可寻址64KB的外部程序存储器空间;可寻址64KB的外部数据存储器空间;5个中断源、两个优先级中断嵌套中断结构。
MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0 (T0) 和定时器1 (T1) 。它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TLO, TH1、TL1组成。
低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断;一种中断源(不管是高优先级还是低优先级) 一旦得到响应,与它同级的中断源不能再中断它。当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。
绛旓細缂栫▼浠g爜濡備笅锛歄RG 0000H MOV DPTR锛#1000H ;缁欐簮鏁版嵁鍧楀湴鍧鎸囬拡DPTR璧嬪垵鍊 MOV P2, #20H ;缁欑洰鐨勬暟鎹潡鍦板潃鎸囬拡P2鍜孯0璧嬪垵鍊 MOV RO锛#00H LOOP: MOVX A, @DPTR .MOVX @RO, A .INC DPTR INC RO CJNE RO锛#64H, LOOP SJMP
绛旓細鏂规硶1锛歝har data *p; //瀹氫箟涓涓寚鍚戠墖鍐匯AM鍦板潃鐨勬寚閽 p = 0x30; //鐗囧唴RAM鍦板潃涓0x30 p = 0x12; //鍚0x30鍐呭啓鍏ョ珛鍗虫暟0x12 鏂规硶2锛歩nclude <absacc.h> char x;x = DBYTE[0x30]; //灏嗙墖鍐匯ANM鍦板潃0x30鐨勫唴瀹硅祴缁欏彉閲弜 DBYTE[0x30] = 0x12; //鍚0x30...
绛旓細鐢ㄥ洓涓寜閿帶鍒讹紝鎸夐敭1鎺у埗鐢垫満姝h浆锛屾寜閿2鎺у埗鐢垫満鍙嶈浆锛屾寜閿3鎺у埗鐢垫満1姝h浆锛屾寜閿4鎺у埗鐢垫満2姝h浆锛鎬庝箞鐢–璇█缂栫▼锛燂紞锛嶇紪绋嬪墠锛岃鍏堣璁″嚭鏉ョ數璺
绛旓細1. 缁濆瀹忥細鍦绋嬪簭涓紝鐢ㄢ滐純include<absacc.h>鈥濆嵆鍙娇鐢ㄥ叾涓畾涔夌殑瀹忔潵璁块棶缁濆鍦板潃锛屽寘鎷珻BYTE銆乆BYTE銆丳WORD銆丏BYTE銆丆WORD銆乆WORD銆丳BYTE銆丏WORD 鍏蜂綋浣跨敤鍙湅涓鐪媋bsacc.h渚跨煡锛屼緥濡傦細rval=CBYTE[0x0002];鎸囧悜绋嬪簭瀛樿串鍣ㄧ殑0002h鍦板潃 rval=XWORD[0x0002];鎸囧悜澶朢AM鐨0002h鍦板潃 2. _at_鍏抽敭...
绛旓細EEPROM/IAP鎿嶄綔绀轰緥 EEPROM缂栫▼涓庢摝闄わ紝浣跨敤IAP鍔熻兘绀轰緥浠g爜寮濮 ```html涓荤▼搴忓惎鍔細```html```cPWM_init();PWM0_set(0x10);while(1);```浠ヤ笂浠g爜鎻愪緵浜嗗熀纭鐨51鍗曠墖鏈篊璇█缂栫▼妯℃澘锛屾兜鐩栦簡涓诲嚱鏁般佸熀鏈惊鐜佷腑鏂鐞嗐佸畾鏃惰鏁板櫒銆佷覆鍙i氫俊鍜孭WM鎺у埗鐨勬鏋躲傞氳繃杩欎簺妯℃澘锛屽紑鍙戣呭彲浠ュ揩閫熸瀯寤...
绛旓細瀵圭鍙h緭鍑烘搷浣滐紝鐩存帴閫傜敤璧嬪艰鍙ュ嵆鍙 姣斿 P1 = 0x03;瀵圭鍙璇诲彇鎿嶄綔锛岀洿鎺ヨ祴鍊肩粰灞閮ㄥ彉閲忓嵆鍙傚鏁扮爜绠℃搷浣滐紝闇瑕佸厛瀹氫箟 瀵瑰簲鐨 鐮佽〃锛 Tab[16] = {锛 }鍒嗗埆瀵瑰簲 0~F 鐨勭鍙h緭鍑哄笺佺偣浜浉搴旂殑LED浣嶏紱 鐒跺悗鐩存帴 鎿嶄綔绔彛杈撳嚭瀵瑰簲瀛楃鍗冲彲锛屾瘮濡侾1=Tab[3] 鏁扮爜绠¤緭鍑烘樉绀3 ...
绛旓細棣栧厛锛屼綘瑕佹槑纭湪C璇█涓璇诲彇鍐呭瓨鍦板潃鏄熀浜庢寚閽堢殑銆3.姣斿璇诲彇鍐呭瓨鍦板潃0x22涓殑鏁版嵁 C璇█涓浜庡唴瀛樼殑璁块棶鏄熀浜庢寚閽堢殑锛岃繖涓瘚搴哥疆鐤戯紝鍏蜂綋鎿嶅涓 unsigned int *p= 锛坲nsigned int*锛0x22 锛//瀹氫箟鎸囬拡锛屽苟涓斾娇鎸囬拡鎸囧悜浜0x22杩欎釜 鍐呭瓨鍦板潃锛涢偅涔*p灏辨槸鏈缁堜綘瑕佽鍙栫殑鏁版嵁浜嗐4.鑷充簬濡備綍閫氳繃...
绛旓細SBUF='C';while(TI==0);TI=0;break;} } for(i=250;i>0;i--){;} //寤舵椂 } include<reg51.h> /*涔欐満*/ sbit k=P1^0;sbit P00=P0^0;sbit P03=P0^3;unsigned char NO;void main() /*涓诲嚱鏁*/ { SCON=0x50; /*璁剧疆涓插彛涓烘柟寮3锛屽厑璁告帴鏀禦EN=1*/ TMOD...
绛旓細/ 鏂囦欢鍚 锛 娴佹按鐏.c 鎻忚堪 : 璇绋嬪簭瀹炵幇LED鐨勬祦姘寸伅鏄剧ず銆傝绋嬪簭鐢ㄤ簬瀛︿範 LED娴佹按鐏 鐨勬帶鍒舵柟娉曘傛湰渚嬩腑鏄皟鐢ㄧ殑 intrins.h 涓殑鍑芥暟瀹炵幇鐨勫惊鐜Щ浣嶃傚垱寤轰汉 锛 涓滄祦锛2009骞8鏈27鏃 鐗堟湰鍙 锛 1.0 / include<reg52.h> include<intrins.h> define uchar unsigned char define uint...
绛旓細鍒嗕笁娆¤鍒颁竴涓暟缁勯噷闈紝鐒跺悗鐢ㄩ暱鏁村舰鎸囬拡鐩存帴璇昏繖涓暟缁勫氨鍙互浜嗭紝娉ㄦ剰澶у皬绔殑闂锛C51閲岄潰搴旇鏄珮瀛楄妭鍦ㄥ墠銆