单片机程序总结

上传人:zou****hua 文档编号:199343864 上传时间:2023-04-10 格式:DOCX 页数:9 大小:246.41KB
收藏 版权申诉 举报 下载
单片机程序总结_第1页
第1页 / 共9页
单片机程序总结_第2页
第2页 / 共9页
单片机程序总结_第3页
第3页 / 共9页
资源描述:

《单片机程序总结》由会员分享,可在线阅读,更多相关《单片机程序总结(9页珍藏版)》请在装配图网上搜索。

1、键控流水灯2#in cludeunsigned int led=0x01,0x02,0x04,0x08; void delay(unsigned int time)unsigned int j;for(;time0;time-) for(j=0;j255;j+);char getkey(void)/ 消抖char k=0;P2=0xff;delay(200);if(PO!=OxOf)k=PO;delay(200);if(PO=k)P0=0x0f;Delay(200);void main()bit dir=0,run=0;unsigned int i;while(l)switch(P0&OxOf

2、)读取键值case OxOe :run=l;break;/kl 动作,设 run=lcase OxOd :run=O,dir=O;break;/k2 动作,设 run=dir=lcase OxOb :dir=l;break;k3动作,设dir=lcase 0x07 :dir=O;break;k4动作,设dir=Oif(run) if(dir)若run=dir=l,自上而下流动for(i=0;i=0;i-)P2=lesi; delay(200);else P2=0;14心WDO01/A DIJCTAuipaVAniMrwkr/Zoy2 QMS?2. VAn 吃Ail吃山心s社沁24 7/A 2n

3、.o怙3耿D22.42.4/2USU.S丿 qPIOIQ11Lt OYtLlOW . . . . r c r lx C .串行静态数码显示实验“89c51” -3#in clude#inelude ft define uchar unsig ned charft define uint unsig ned int sbit din=PlAO;sbit clk=PlAl;unsigned char table0x7F,0x6F,0x39,0x600X06;void write(uchar dat)uchar i;for(i=0;i 0 ; i-)for(j = 110;j0;j-);void m

4、ain()while(l)write(tableO); write(tablel); write(table2);write(table3);write(table4); delay_ms(10);ir Ua_XMulRp心MAS_PEor临必询SrMlMeMenoncrao“ fAGo2nrn.rr:Iu ar;动态扫描数码显示实验” 168168 -4#in clude unsignedchartab0x7F,0x7d,0x06,Ox7f,OX7d,0x06; unsignedcharledunsigned int j=0;for(;time0;time) for(j=0;j125;j+)

5、; void main () while(l) int i;for(i=0;i6;i+)0x01,0x02,0x04,0x08,0X10,0x20; void delayfunsigned int time)P0=ledi;Pl=tabi;delay(5);继电器6继电器的开合控制灯的亮灭。#in clude unsigned chart;sbit control=PlA0;void delayfunsigned int time) unsigned int j=0;for(;time0;time)for(j=0;j125;j+);main()延时子程序方法while(l)control=0;

6、delay(500); con trol=l;delay(SOO);定时中断方法#inelude unsigned int i;sbit control = P1AO;timerl () interrupt 1i+;if(1000 = i)/i=100 时,为 1 秒。10 I I反转,继电器断开i=0;control = control;main()control = 1; /三极管(PNP)导通,继电器闭合。(用NPN,则MOTOR = 1) TMOD = 0x01;THO = OxFC;TLO=0x18;EA=1;ETO=1;TRO = 1;while(l);THO = OxFC; /灯

7、亮 1 秒TLO=0x18;U1X7AL1XTAL2R57IWTALCnxrvAtxj fYLVAO) nX2/AO2 RXVAC*J RXVACMrA12rz_y八 2 P2ZVA14Pi7/A15PXO/A5CD PX1TXO pjt-a/prnr rij/TRrr pxvragw;i;i1.7ppprprprpjuiwn-预期实验现象:发光二极管先右移动两次,再左移动两次,然后闪烁两次。#in cludeunsigned char table= 0x01,0x02,0x04,0x0& 0x10,0x20,0x40,0x80;void delay_ms(unsigned int xms)u

8、nsigned int j=0;for(;xms0;xms-)for(j=0;j125;j+);void main()unsigned int i;SCON =0;设置 UARTI 作方式MODEOEA = 1;开总中断ES=1;开串口中断TI = 0 ;串I I发送标志位for(i = 0 ;i 8 ; i+)SBUF=(tablei);delay_ms(500 );左移for(i = 0 ;i 8 ; i+)SBUF=(tablei) delay_ms( 500 ); 左移 for(i =0 ;i 8; i+)SBUF = (table7-i) delay_ms( 500); 右移for(

9、i =0 ;i 8; i+)SBUF = (table7-i); delay_ms( 500); 右移SBUF = OxOO; delay_ms(500);SBUF = Oxff; delay_ms(500);SBUF = OxOO; delay_ms(500);SBUF = Oxff; delay_ms(500);闪烁void serO() interrupt 4 TI = 0; 19iaJ1XTAllXTAL2tnSHX) mi/poi 2畑2*UrX*D42畑$UPD6ML7/MJ7CIA-sDI3a31iy丰2ZhitW ALE aM*aP2i%llP2A畑呜畑PIjWS心”1恪fi2

10、XTOF2J/RTTPiATDpx&nipjiyKffnW?10me.饷4.秒表8设计一个秒表,开始显示“00”,按一下按键,计时开始。在按一下(第2次), 计时停止,在按一下(第3次)计时归零。#include | unsignedcharcodedispcodeJ=0x3f,0x06,0x5b/0x4f/0x66/0x6d/0x7d,0x07z0x7f,0x6f;unsigned char second;unsigned char keycnt;unsigned int tent;void main(void) unsigned char izj;TMOD=0x02;ETO=1 ;EA=1

11、;sec on d=0;PO=dispcodesecond /10;P2=dispcodesecond%10;while(l)if(P3_5=O) 一消抖程序 for(i=20;i0;i-)for(j=248;j0;j-);if(P3_5=O)keyc nt+;switch(keycnt)case 1:TH0=0x06;TL0=0x06;TRO=1;break;case 2:TRO=O; break;case 3:keycnt=O;second=0;P0=dispcodesecond/10;P2=dispcodesecond%10; break;while(P3_5=0);void tO(vo

12、id) interrupt 1 using 0tcnt+;if(tcnt=400)tcnt=O;sec on d+;if(second=100)second=0;P0=dispcodesecond/10;P2=dispcodesecond%10;XTAll 灯应RHPOOXM pa vxd i 吨他 POW POXMPOXM pqxp?Alfno2nsf20*l23 P3JVAM PllAn 伦4M2 WAI) fUfU f2?A!5-X.Z-8*8led 点阵显示 10#in cludeun signedchartabl=0xff,0xff/0x06/0xd6,0xd0,0xd6z0xd6z

13、0xff; 显示th/unsignedcharlin=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /显示 thun signedchartab=0xff,0xd7/0x81/0x77/0xcl,0xf7,0x80,0xf f;显示生un signedcharlin=0x01/0x02/0x04,0x0&OxlO,0x20,0x40,0 x80;显示,生/unsig nedchartab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf/0xbf/0x7f; 单列左移/unsig nedcharlin=0xff,0xff/0xff/0xff,0xf

14、f,0xff,0xff/0xff; 单 列左移void delay(int x)int ij; for(i=0;ix;i+); /for(j=0;j200;j+);main() unsigned int z;while(l)for(z=0;z&z+)P2=linz;PO=tabz;delay(lO);/单列左移是设置为5000while(l)int mJJ,n=0;for(i=0;i28;i+) for(l=0;l100;l+) for(m=0;m8;m+) P2=ledlm;P0=led2m+n; delay(lO);n+;delay(50);汉字移动11 实现汉字“一生一世m并右移。#in

15、 cludecharledl=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;charIed2=OxetOxetOxetOxetOxetOxetOxetOxetOxff,0x44,0x54,0x54,0x70x54,0x56,0x44z0x480xff/OxetOxetOxetOxefOxetOxetOxetOxetOxff,0xfb,0x80,0xbb,0xa:L0xab0xa:L0xbb0xbb;void delay(unsigned int z)unsigned int j;for(;z0;z-)for(j=0;jXTAL1KLOTACO PCLKAD1X

16、TAL2IGIBUTALERLyAD2 RUTAKS KL29313TNAl2J21aj25亞aSZT-752917pwm 直流驱动机 12#in cludesbit Pl_0二P0;void delay (unsigned int time) int j;for(;time0;time-) for(j=0;j255;j+);void main() Pl_0=l; delay(200);Pl_0=0; delay(800);串行工作方式2接受程序TI=0;#in clude#define uchar unsigned char void delay(unsigned int time) unsigned int j=0; for(;time0;time-) for(j=0;j15) counter=0; delay(5000);#in clude发送程序#define uchar unsigned charACC= receiv; if(P!=RB8) TB8=1;else TB8=0;SBUF=receiv; while(TI=0); TI=0;P2= receiv;void main(void) uchar receiv; P2=Ox3f; PCON=0x80; SCON=0x90;while(l) while(RI=l) RI=0; receiv=SBUF;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!