




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一些实用的单片机c程序发布: 2009-4-13 08:19|作者: hnrain| 查看: 324次/16进制10进制互换程序电子园51单片机学习网ofS9x j(Q 电子园51单片机学习网|.T.YK9_+Punsigned char d10; /用于显示的10位显示缓存3m2p4r1Q n-|41921 ZLoRs L41921/=rZz80D0|?41921 /16进制to10进制输出子程序:显示数据,起始位,结束位,有无小数点Rd q*i41921/=L/$m8jsqOV9L 41921void output(unsigned long dd,unsigned char s,unsigned charodxj T41921e,unsigned char dip) )o4N eQTU y Q41921 unsigned long div;-? qI4qK*q41921 unsigned char tm8,i,j;电子园51单片机学习网:Kd (PYW/I2E div=10000000;8)h|:i q41921 for (i=0;i8;i+) 电子园51单片机学习网,)?6aGY+S6e3z tmi=dd/div;+jZ,F|1S V6V41921 dd%=div;R U-M.Dw IS41921 div/=10;31HQ%R?:L1n41921 电子园51单片机学习网_9N-B8T for (i=0;i6;i+) vsQZ5b_#z-T41921 if (tmi!=0) break;VKb$eN)P_$o41921 tmi=nul;电子园51单片机学习网ATqI 电子园51单片机学习网SS._5 Sum tm5|=dip; /小数点控制,请看“串行LED数码管显示驱动程序”电子园51单片机学习网n zy7t j=7;电子园51单片机学习网P%k L!yR*B for (i=s;ie;i+) #|p o&t41921 di=tmj;h-_uG8U9E(w|41921 j-;电子园51单片机学习网( qsphsG1Z#_ 电子园51单片机学习网%7N2q1OBsPH:d%F1R41921 1 yP9X|;U m41921/把显示位5-9位的10进制数转换成为16进制数电子园51单片机学习网DVHsb,Uunsigned int input(void) 8YB+P(X|5B41921 unsigned int dd,dat;电子园51单片机学习网Qzz dd=10000;dat=0;电子园51单片机学习网G6/M4WC for (i=5;i10;i+) +d E3srDzxR41921 dat+=dd*temp;电子园51单片机学习网:I,t6$i? dd/=10;0Q%y)ybB51lcTg41921 ,a g:r)Q-r+GkD41921 return(dat);9kJiMs(K_;:V41921电子园51单片机学习网O-o jE Q7n*GzU/* 89C51系列CPU编程器接收CPU程序*/I9P.B1R:f41921 #A/6L+G$M41921i nclude 电子园51单片机学习网8pKiB$Ri nclude 电子园51单片机学习网-A?8a:r4M:m( ti nclude o!pH0p z9S41921 4Km5tf-j41921#define e 8W R4Qc1J#Xk_T6FU41921#define p 9vZO)Bb.i9r+e41921#define l 10电子园51单片机学习网b+xc+ci)l电子园51单片机学习网A7 D8e dD sbit led=P32;电子园51单片机学习网+Eu#T sbit p27=P27;电子园51单片机学习网k3is&U2s.nsbit p26=P26;&hy|hZV g41921sbit p36=P36;电子园51单片机学习网8S3O T u/UGsbit p37=P37;c8 YG4tt)Ks41921sbit rst=P33;+F2Zj &d0CQ41921sbit ale=P35;电子园51单片机学习网p$R-i ij0 m_xsbit vpp=P34;xz2R9N-L(41921电子园51单片机学习网 Y2SJZ$uMc bit b_break;8a!KEvI_,X41921unsigned int adds;!?:yFal ?41921 6J1_V0pe41921电子园51单片机学习网B _%ezp!g(X/ 13.8mS电子园51单片机学习网 H3lR:tmuY MTvoid int_t0(void) interrupt 1 电子园51单片机学习网z-D)V#R7jkC1e TH0=-100;g ,m:U41921 b_break=1;95?$k2C T+F41921电子园51单片机学习网u3X7hpz电子园51单片机学习网6b)T%l d0f void wait(unsigned char w) H4q%k Q-V+v41921 unsigned int t=w*184;FY#OO,P_+N7j41921 b_break=0;电子园51单片机学习网:Sv:E7gK9 TL0=-t%256-1;TH0=-t/256;电子园51单片机学习网,x8CV2O!x$w3g while (b_break=0) :z+v T5v/|1uI L41921电子园51单片机学习网 M6cU(D:?2ek- e W lg41921void nop(void) 电子园51单片机学习网r/cT+.Qp; i _nop_();_nop_();_nop_();_nop_();5I sTO2$K41921 _nop_();_nop_();_nop_();_nop_();#pJ.D*T-t .w41921 _nop_();_nop_();_nop_();_nop_();tDzM$3L1A41921 _nop_();_nop_();_nop_();_nop_();dU(K#y%Xb#n41921 _nop_();_nop_();_nop_();_nop_();电子园51单片机学习网mrwA a|电子园51单片机学习网.G*zY1EwJ6u_yFtr n(H3p41921unsigned char command(void) /bwM!KD%,?+U41921 TH0=-100;b_break=0;3g y2qVm41921 while (RI=0) if (b_break=1) return(0);电子园51单片机学习网k&y /r4PJ d RI=0;yI:i:d Pv!t0m?%YxVz41921 return(SBUF);电子园51单片机学习网 d YkMiYb(V电子园51单片机学习网r*ISnEYH电子园51单片机学习网(y w9,z9c S!YN+go void earsure(unsigned char cpu) 电子园51单片机学习网:TV uvi q8f switch (cpu) 电子园51单片机学习网2q&_by.Y case 1: /89C51-vC*aL%uz0S41921 case 2:rst=p26=1;p27=p36=p37=0;nop();vpp=1;nop();3Ao+z$h(D41921 ale=0;wait(110);ale=1;nop();电子园51单片机学习网4Z L(2E&n_AT/H break;电子园51单片机学习网w-N;K)r b| Tm+Z case 3:电子园51单片机学习网&.Ajj4Z case 4:break;Ll1vR#lQ4G41921 case 5:电子园51单片机学习网H:V#d G|4 case 6:break;m#Lg,R+X)n*E7j(V41921 aUH!MAJPYs41921电子园51单片机学习网yxK电子园51单片机学习网F |AV&y,v void program(unsigned char cpu) 电子园51单片机学习网(wyT(i0f8B_l(T unsigned int bdata adds=0;xT1dVyR41921 unsigned char d;电子园51单片机学习网pMT0|D(os P switch (cpu) 电子园51单片机学习网8i.Zv:N,Wl dg case 1: /89C51电子园51单片机学习网2if-n3a3S case 2:电子园51单片机学习网pU5? D;eEs p36=p37=1;rst=1;电子园51单片机学习网 a2Xu;HU#Zs3qv1P while (1) 电子园51单片机学习网*UZ;H- TH0=-100;b_break=0;6Xw2C0j:fg| ny41921 while (RI=0) if (b_break=1) return;电子园51单片机学习网 WL0_%M6ID RI=0;电子园51单片机学习网 9Zg5EK d=SBUF;电子园51单片机学习网%?t$|p:? /address电子园51单片机学习网(S,_n1V P0=adds%256;电子园51单片机学习网 P.s)j w Vy)Z P2=adds/256;T vRcX_41921 p27=1;hhR)&S&n41921 /dataA7S%yhTLj EP#e)j0t41921 P1=d;电子园51单片机学习网.x:uVcy;O$tJ nop(); /48clcl/j bJ;U!X41921 /vpp电子园51单片机学习网6 _g8l vpp=1;电子园51单片机学习网x(#gKC2Ws2R nop(); /48clclh 9YlY)Ax #L |41921 /ale电子园51单片机学习网g,Ydv0R-jQ1L ale=0;电子园51单片机学习网*Rd5q V/J Vd wait(1);/100uSc&Zjl.d_2h*b.B41921 ale=1;,?/f&L4Ts:mJ41921 nop(); /10uS2f u5sbh%SSW41921 vpp=0;电子园51单片机学习网;iPD;s nop(); /48clcl电子园51单片机学习网3D0c tt(J p27=0;RCl7U q.mr41921 nop(); /48clcl&N D$Q9_7MhXI(YP7X+U5l9t41921 P1=0xff;电子园51单片机学习网4l%K-OmbGuH TH0=-100;b_break=0;电子园51单片机学习网0t. U zQ while (d!=P1) if (b_break=1) return; /data电子园51单片机学习网#s:uo h7tpolling#z5E/?%Wa9;_1F41921 SBUF=d;电子园51单片机学习网7u7f1 adds+;6Sk/R&c:EK*C3I41921 G(m*HL.L%|41921 break;电子园51单片机学习网ZJ-sEEg K;U B case 3:T&O,i|41921 case 4:电子园51单片机学习网Q ac4g(jL6v case 5:电子园51单片机学习网pSnDK|1m case 6:break;电子园51单片机学习网EE W2GN F Zh5x D9HY419212F1Zzw+G4,R(k:J41921 ;tc c;o-d2k41921void lock(unsigned char cpu) 电子园51单片机学习网Q aC,vv)f/H+d unsigned char i;He+?r-m6r+I#H41921 switch (cpu) 电子园51单片机学习网VG30t case 1: /89c51Or1Z%L,AN41921 case 2:电子园51单片机学习网grS-T%xM /lock 1A&WHC*u41921 rst=p26=p36=p27=p37=1;nop();sW%_41921 vpp=1;电子园51单片机学习网5T N.RH)TY nop();Mz6tggV)P!P7I#CP!e41921 ale=0;电子园51单片机学习网+iL yonV / for (i=0;i6;i+) wait(100);电子园51单片机学习网WqI_o:B;g wait(1);电子园51单片机学习网 P S17q#U:/K3u ale=1;r cD j(Z#XI c41921 nop();,)G/M)b+M%bVXpV*41921 vpp=0;!N$Ih6g_ q.t*M;gz41921 nop();+b*f LU41921CA w-jWq+W$I41921 /lock 2电子园51单片机学习网eD6q$(C z rst=p26=p27=1;p36=p37=0;nop();电子园51单片机学习网c)F6O B4b vpp=1;电子园51单片机学习网 f(pVmC8m2v nop();电子园51单片机学习网9l |v;4G_5GGN)c ale=0;6gde &vd41921 / for (i=0;i6;i+) wait(100);电子园51单片机学习网)|2N.d.p wait(1);电子园51单片机学习网 hw!)j)o1IT3o ale=1;R.S8W&B41921 nop();电子园51单片机学习网xyf6O5q M vpp=0;$Woroy3_41921 nop();eH3CBVx:u41921电子园51单片机学习网8Jv:OVBQ7E&LlS%A /lock 3电子园51单片机学习网!zC1D CD rst=p26=p36=1;p27=p37=0;nop();电子园51单片机学习网K!t:l6#? vpp=1;Mhy;s x9k*tl41921 nop();电子园51单片机学习网/nQ0TUKu.T ale=0;电子园51单片机学习网yB9nz!X:JR1D$x / for (i=0;iflash) disp=0;led=!led;电子园51单片机学习网!4Al L3N|*IL)O 电子园51单片机学习网VNe$B o3N!U_T1K +Ez41921/HT1380实时时钟驱动程序电子园51单片机学习网JPj Cp-Slz电子园51单片机学习网HTcHk8Y v sbit clock_dat=P01;电子园51单片机学习网e7kM.q-r nY,s9asbit clock_clk=P02;电子园51单片机学习网ZF*pB;b T3yu:sbit clock_rst=P03;电子园51单片机学习网6V4Es_e-w0d9p&hy JxZbD41921sbit a0=ACC0;电子园51单片机学习网4PpQ G4T$_%sbit a1=ACC1;电子园51单片机学习网Jt ZJ P %Upsbit a2=ACC2;电子园51单片机学习网D%7t hW/5oRsbit a3=ACC3; X:Ul+ht D41921sbit a4=ACC4;k m9mO41921sbit a5=ACC5;电子园51单片机学习网+uH3c*Wq5jXsbit a6=ACC6;KvV C41921sbit a7=ACC7;fR;(nb:j*H%PR41921电子园51单片机学习网#G;pRSV void clock_out(unsigned char dd) (XYv5d U9k#e41921 ACC=dd;upV#xM9n41921 clock_dat=a0;clock_clk=1;clock_clk=0;电子园51单片机学习网5Ykid6p$j*0w clock_dat=a1;clock_clk=1;clock_clk=0;电子园51单片机学习网4v2cV6xQw clock_dat=a2;clock_clk=1;clock_clk=0;电子园51单片机学习网#O!Unp$dv2C clock_dat=a3;clock_clk=1;clock_clk=0;&b H/wg1u41921 clock_dat=a4;clock_clk=1;clock_clk=0;电子园51单片机学习网)Y T n!_t-WmS&w,G l clock_dat=a5;clock_clk=1;clock_clk=0;O*R!p(Pl oVy41921 clock_dat=a6;clock_clk=1;clock_clk=0;电子园51单片机学习网R9lG8y!LR w clock_dat=a7;clock_clk=1;clock_clk=0;电子园51单片机学习网eq:z| I7Z/T%Lq,sl+k41921unsigned char clock_in(void) 电子园51单片机学习网jD ?(e:S N3xp(w&z clock_dat=1;电子园51单片机学习网lOZ-i.I4h7Lw65t a0=clock_dat;XNn 6a4V41921 clock_clk=1;clock_clk=0;a1=clock_dat;2-x7Cj_#yZ c41921 clock_clk=1;clock_clk=0;a2=clock_dat;WDcv:aZ:o41921 clock_clk=1;clock_clk=0;a3=clock_dat;电子园51单片机学习网aH4tpxW%m clock_clk=1;clock_clk=0;a4=clock_dat;电子园51单片机学习网$p7u h ZD4sl clock_clk=1;clock_clk=0;a5=clock_dat;电子园51单片机学习网;S7Egb92M6vP7s clock_clk=1;clock_clk=0;a6=clock_dat;A3o ifb4s41921 clock_clk=1;clock_clk=0;a7=clock_dat;电子园51单片机学习网(J(D8J-gBT return(ACC);电子园51单片机学习网5F7t!MU Sl&g电子园51单片机学习网t3m hyqZ!A;Funsigned char read_clock(unsigned char ord) /l7R:jZXE y2A ?F41921 unsigned char dd=0;电子园51单片机学习网m9pqp3NN:i6d clock_clk=0;电子园51单片机学习网F?N1o 2sS!V clock_rst=0;电子园51单片机学习网m QF*H8U clock_rst=1;电子园51单片机学习网 v;S4Y d clock_out(ord);4P I 9I;ji3z/h41921 dd=clock_in();$l V!A%y f*B#_1G41921 clock_rst=0;电子园51单片机学习网IA$V9Sxo4iq clock_clk=1;电子园51单片机学习网R&d1D*m8G ?|-as return(dd);s&q0v4Si0y41921电子园51单片机学习网&f0mgiWj P1zFu*tvoid write_clock(unsigned char ord,unsigned char dd) |e4r ?y41921 clock_clk=0;T6Ysml5mO jY41921 clock_rst=0;SFM JZm9WKh41921 clock_rst=1;电子园51单片机学习网4q.b-Xj#I(m clock_out(ord);电子园51单片机学习网T4Ge5eaS clock_out(dd);2h*Cy-u)g I.s7R/WqR41921 clock_rst=0;电子园51单片机学习网Pe-zJ:D)?!Gj clock_clk=1;电子园51单片机学习网hb Nu电子园51单片机学习网7G$.Z)e7w8U/*单个汉字库字摸提取程序,tc2.0编译*/buy ;O41921i nclude stdio.hW!f-R9vXB g.n41921i nclude dos.h电子园51单片机学习网L rU2f si nclude process.h电子园51单片机学习网#m w1R&hd!?i nclude string.h电子园51单片机学习网4Wa _:DVA9X#nH%J6f41921mm#o2D7iZ41921void main(void) 电子园51单片机学习网0CL,Ix2BT#Ye long int num_bytes,qm,wm;电子园51单片机学习网4A r A6E(r2vT unsigned char d,i,j,k,a132,b132;H)L/g&tu(R4c5T41921 unsigned char * data;6W9jT6MMs T#b41921 unsigned char * hz;电子园51单片机学习网,_Bg4_Xno%f c;e static unsigned char dd103;电子园51单片机学习网oWe;JPJ FILE *fp;l p-Y)f3I.Rp6w!v O41921 BCIEL5X!S41921 if (fp=fopen(hzk16f,rb)=NULL) 电子园51单片机学习网 AFf l1b X! printf(cant open hzk16n);电子园51单片机学习网.L$D_4n!i 7N exit(1);电子园51单片机学习网,eSR&|:x y;L 电子园51单片机学习网W$iIE7E$x clrscr();|:dj#g41921 while (1) 电子园51单片机学习网 ja-Q8Pz e4kKL+sw%iW1d41921 data=(unsigned char *) malloc(33);电子园51单片机学习网Bz nks+% printf(please input:n);电子园51单片机学习网wqdKS7c R!: a scanf(%s,dd); /*输入一个汉字*/f r%R,U/u5iW41921 Y-q(pPILd4?41921 qm=* dd; /*通过区位码计算其在hzk16f文件中的偏移地址*/lPM|a3YXe41921 qm=qm-161;)|c.P ?bh41921 if (qm87) exit(0);电子园51单片机学习网XE&um1i,FO wm=* (dd+1);&g_:A jx-d$N41921 wm=wm-161;Ywc5Y0iN7_$N?41921 if (wm94) exit(0);电子园51单片机学习网4:xj:D7G T5 num_bytes=(long)qm*94+wm)*32;电子园51单片机学习网&UI-1u q&E B ac fseek(fp,num_bytes,SEEK_SET);电子园51单片机学习网7*n P um-K$K5H) fgets(data,33,fp);电子园51单片机学习网g,1H8A!PL for (i=0;i32;i+) bi=* data+;电子园51单片机学习网l1W9mYN for (i=0;i32;i+=2) ai/2=bi; T GwBwj*ie41921 for (i=0;i32;i+=2) ai/2+16=bi+1;电子园51单片机学习网 y c(p*Q,Q/d*a for (i=8;i16;i+) bi=ai;n l cU5D41921 for (i=8;i16;i+) ai=ai+8;电子园51单片机学习网 gi_ h1a$I4#K0mP for (i=8;i16;i+) ai+8=bi;电子园51单片机学习网I%L H2qCb.电子园51单片机学习网eMT7a)j4Wl/T:S8dG9K /*转换,hzf16f在电脑的储存格式是以行为字节计算的,一般的lcd都采用以列为字节计算*/A5E0G RJY41921 for (k=0;k32;k+=8) iE!s_ UOUCv41921 for (j=0;j8;j+) 电子园51单片机学习网S7U _*#g d=0;vA y/Gs;h+C&41921 for (i=0;i=0x80) 电子园51单片机学习网Tx PSz Y eH0H switch (i) L oY3-mA0Wt/PpOx/h41921 case 0:d+=1;break;1hC.e 4mu%A41921 case 1:d+=2;break;S NWg#R V41921 case 2:d+=4;break;f-Z47Kt%e41921 case 3:d+=8;break;!n vzFO+p0/,WS41921 case 4:d+=0x10;break;电子园51单片机学习网6w XtP6c+E!Z4J case 5:d+=0x20;break;电子园51单片机学习网V)Q%o)vwE YYBf case 6:d+=0x40;break;电子园51单片机学习网$P,2F1rd|K case 7:d+=0x80;break;电子园51单片机学习网B5 S/i 4WZOvT;L:y41921 电子园51单片机学习网fubm V3Z+vm1j1e: ,S&uF riF41921 for (i=0;i8;i+) ai+k=1;电子园51单片机学习网EQ;bb?N$L6m2S bj+k=d;v0g8JLgge41921 am j;H_V41921 电子园51单片机学习网(rgX89O clrscr();7?!ZX(l8u9N v41921 printf(/*%s:*/n,dd); /*输出0x00格式的16进制数*/y!h-W$0e GJA E3M41921 for (k=0;k32;k+=8) 8Q8c,z$_3CjxS I41921 for (j=0;j30)&(key_l30) 3Rs|1X u9|K41921/释放按键,如果之前按键时间少于1秒,读入键值电子园51单片机学习网Y+_5y LSk1Ri key=kpush;z*mk-n,E3|/|K41921 电子园51单片机学习网O1uEuge if (+key_h)200) key_h=200;?W-pA41921 key_l=0;电子园51单片机学习网,zTjZT_ if (key=0x80) key=0;6j$VnW1Vj:Nt41921/如果之前的按键为长按1秒,清除键值电子园51单片机学习网L P1nQl6 Hl else 7l(q.B J41921 kpus
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国隔离霜化妆品行业市场分析及投资价值评估前景预测报告
- 2025年绿色供应链管理在航空航天零部件制造业的应用与推广分析报告
- 教育行业2025年人才流失问题与吸引机制创新策略报告
- 2024-2025年太阳能硅片硅碇行业光伏产品市场拓展策略报告
- 第一课 工业革命教学设计-2025-2026学年初中历史与社会(人文地理)八年级下册人教版(新课程标准)
- 2025年光伏建筑一体化项目经济效益与建筑智能化发展关系报告
- 2025年电动汽车电池回收利用技术与政策研究评价报告
- 2024年四年级英语下册 Module 4 Things we enjoy Unit 12 The ugly duckling第2课时说课稿 牛津沪教版(三起)
- 2025年中国高级电动拖把行业市场分析及投资价值评估前景预测报告
- 2025年中国高端瑜伽服饰行业市场分析及投资价值评估前景预测报告
- 河堤护坡方案范本
- 2024年公路水运工程试验检测师交通工程真题及答案
- 2025机械设备购销合同样本模板
- 2025-2030固态储氢技术材料突破与商业化应用路径分析
- 农机农艺融合培训课件
- 张掖辅警考试题目及答案
- 绩效考核模板:物流企业客户服务、仓储管理、运输配送绩效指标
- 施工吊篮专项施工方案
- 2025年时事政治考试题库及参考答案(100题)
- 护士输液PDA扫码流程课件
- 2025成人高考专升本政治考试模拟试题及答案
评论
0/150
提交评论