郭天祥十天学会单片机中的源程序.doc_第1页
郭天祥十天学会单片机中的源程序.doc_第2页
郭天祥十天学会单片机中的源程序.doc_第3页
郭天祥十天学会单片机中的源程序.doc_第4页
郭天祥十天学会单片机中的源程序.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lesson2-1#includesbit p1_1=P10unsigned int avoid main()while(1)a=51000;p1_1=0;while(a-);a=51000;while(a-);p1_1=1;a=51000;while(a-);a=51000;while(a-);Lesson2-2#include#define uint unsigned int #define uchar unsigned char sbit D1=P10;/void delay();void delay(uint);void main()while(1)D1=0;delay(100);D1=1;delay(100);/*void delay()uint x,y;for(x=100;x0;x-)for(y=600;y0;y-);*/void delay(uint z)uint x;uchar y;for(x=z;x0;x-)for(y=20;y0;y-);Lesson2-3#include#include #define uint unsigned int #define uchar unsigned char uchar temp,num,num1;sbit beep=P23;void delay(uint);void main() temp=0xfe;while(1)for(num1=0;num13;num1+)for(num=0;num8;num+)P1=temp;beep=0;delay(100);temp=_crol_(temp,1);P1=0xff;beep=1;delay(100);for(num1=0;num13;num1+)for(num=0;num0;x-)for(y=110;y0;y-);Lesson3-1#includesbit dula=P26;sbit wela=P27;void main()wela=1;P0=0xc0;wela=0;dula=1;P0=0x06;dula=0;while(1);Lesson3-2#include#define uint unsigned int #define uchar unsigned char sbit dula=P26;sbit wela=P27;uchar num;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z);void main()wela=1;/11101010P0=0xea;wela=0;while(1)for(num=0;num0;x-)for(y=110;y0;y-);Lesson3-3#include#define uint unsigned int #define uchar unsigned char sbit dula=P26;sbit wela=P27;sbit d1=P10;uchar num;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z);void main()EA=1;/开总中断EX0=1;/开外部中断0/IT0=1;TCON=0x01;wela=1;/11101010P0=0xea;wela=0;while(1)for(num=0;num0;x-)for(y=110;y0;y-);void exter0() interrupt 0d1=0;Lesson3-4#include#define uint unsigned int #define uchar unsigned char sbit dula=P26;sbit wela=P27;sbit d1=P10;uchar num,num1;tt;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z);void main()num=0;tt=0;TMOD=0x11;/设置定时器0为工作方式1TH0=(65536-10000)/256;TL0=(65536-10000)%256;TH1=(65536-20000)/256;TL1=(65536-20000)%256;/EA=1;/开总中断ET0=1;/开定时器0中断ET1=1;TR0=1;/启动定时器0TR1=1;wela=1;/11101010P0=0xea;wela=0;dula=1;P0=0x3f;dula=0;while(1)if(num1=25)num1=0;P1=P1;if(tt=100) tt=0;num+;if(num=16)num=0;dula=1;P0=tablenum;dula=0;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void time0() interrupt 1TH0=(65536-10000)/256;TL0=(65536-10000)%256;tt+;void time1() interrupt 3TH1=(65536-20000)/256;TL1=(65536-20000)%256;num1+;Lesson4-1#include#include#define uint unsigned int#define uchar unsigned charuchar temp,aa,num;sbit dula=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z);void main()num=0;aa=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;temp=0xfe;P1=temp;dula=1;P0=table0;dula=0;wela=1;P0=0xc0;wela=0;while(1)delay(1000);temp=_crol_(temp,1);P1=temp;/*if(aa=40)aa=0;num+;if(num=16)num=0;dula=1;P0=tablenum;dula=0;*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void timer0() interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;if(aa=40)aa=0;num+;if(num=16)num=0;dula=1;P0=tablenum;dula=0;Lesson4-2#include#include#define uint unsigned int#define uchar unsigned charuchar temp,aa,numdu,numwe;sbit dula=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code tablewe=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/void delay(uint z);void main()numdu=0;numwe=0;aa=0;TMOD=0x01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;while(1)/delay(1000);/temp=_crol_(temp,1);/P1=temp;if(aa=1)aa=0;numdu+;if(numdu=7)numdu=1;dula=1;P0=tablenumdu;dula=0;wela=1;P0=tablewenumwe;wela=0;numwe+;if(numwe=6)numwe=0;/*void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);*/void timer0() interrupt 1 TH0=(65536-5000)/256;TL0=(65536-5000)%256;aa+;Lesson4-3#include#define uint unsigned int#define uchar unsigned charuchar temp,aa,bai,shi,ge;sbit dula=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void display(uchar bai,uchar shi,uchar ge);void delay(uint z);void init();void main()init();/初始化子程序while(1)if(aa=20) aa=0;temp+;if(temp=100) temp=0; bai=temp/100;shi=temp%100/10;ge=temp%10; display(bai,shi,ge);void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void display(uchar bai,uchar shi,uchar ge) dula=1;P0=tablebai;dula=0; /送百位数P0=0xff; /打开瞬间一个都不亮,消影wela=1; P0=0xfe; /位选通百位数wela=0;delay(1);dula=1;P0=tableshi;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=tablege;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);void init() /*对所有数进行初始化*/wela=0;dula=0;temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;Lesson5-1#include #include #define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x79,0x38,0x3f,0;uchar temp,t0,t1,bai,shi,ge,flag,flag1;uint shu;void init();void display(uchar,uchar,uchar,uchar,uchar,uchar);void delay(uint z)uint t1,y;for(t1=z;t10;t1-)for(y=110;y0;y-);void main()init();while(1)if(flag1!=1)display(7,6,5,bai,shi,ge);elsedisplay(16,17,18,18,19,20);void init()shu=432;temp=0xfe;P1=temp;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0+;if(flag!=1)if(t0=10)t0=1;temp=_crol_(temp,1);P1=temp;elseif(t0%4=0)P1=P1;if(t0=60)TR0=0;P1=0xff;flag1=1;void timer1() interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;t1+;if(t1=2)t1=0;shu-;bai=shu/100;shi=shu%100/10;ge=shu%10;if(shu=398)TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;flag=1;t0=0;P1=0xff;TR1=0;void display(uchar aa,uchar bb,uchar cc,uchar ba,uchar sh,uchar g) dula=1;P0=tableaa;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1); dula=1;P0=tablebb;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1); dula=1;P0=tablecc;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1); dula=1;P0=tableba;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);dula=1;P0=tablesh;dula=0;P0=0xff;wela=1;P0=0xef;wela=0;delay(1);dula=1;P0=tableg;dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay(1);Lesson5-2#include#define uint unsigned int#define uchar unsigned charsbit d1=P10;sbit dula=P26;sbit wela=P27;sbit key1=P34;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar num;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void main()wela=1;P0=0xfe;wela=0;P3=0xff;while(1)if(key1=0)delay(5);if(key1=0)d1=0;num+;if(num=10)num=0;while(!key1);delay(5);while(!key1);elsed1=1;dula=1;P0=tablenum;dula=0;Lesson5-3#include#define uint unsigned int#define uchar unsigned charsbit dula=P26;sbit wela=P27;sbit key1=P34;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0;uchar num,temp,num1;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);uchar keyscan();void display(uchar aa);void main()num=17;dula=1;P0=0;dula=0;wela=1;P0=0xc0;wela=0;while(1)display(keyscan();void display(uchar aa)dula=1;P0=tableaa-1;dula=0;uchar keyscan()P3=0xfe;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xee:num=1;break;case 0xde:num=2;break;case 0xbe:num=3;break;case 0x7e:num=4;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;P3=0xfd;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xed:num=5;break;case 0xdd:num=6;break;case 0xbd:num=7;break;case 0x7d:num=8;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;P3=0xfb;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xeb:num=9;break;case 0xdb:num=10;break;case 0xbb:num=11;break;case 0x7b:num=12;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;P3=0xf7;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0)temp=P3;switch(temp)case 0xe7:num=13;break;case 0xd7:num=14;break;case 0xb7:num=15;break;case 0x77:num=16;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;return num;Lesson6-1#includesbit csda=P32;sbit wr=P36;void main()csda=0;wr=0;P0=0;while(1);Lesson6-2#include#define uchar unsigned char#define uint unsigned intsbit wr=P36;sbit rd=P37;void delay(uint z)uint t1,y;for(t1=z;t10;t1-)for(y=110;y0;y-);void init();void start();void main()init();while(1)start();delay(20);rd=0; delay(10);rd=1;delay(10);void init()P0=0;void start()wr=1;wr=0;wr=1;Lesson7#includeunsigned char flag,a;void main()TMOD=0x20;/设置定时器1为工作方式2TH1=0xfd;TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;while(1)/*if(RI=1)RI=0;P1=SBUF;*/if(flag=1)ES=0;flag=0;SBUF=1;/28;while(!TI);TI=0;SBUF=2;/28;while(!TI);TI=0;SBUF=3;/28;while(!TI);TI=0;ES=1;void ser() interrupt 4RI=0;/P1=SBUF;a=SBUF;flag=1;Lesson8#include#define uchar unsigned char#define uint unsigned intuchar code table=I LIKE MCU!;uchar code table1=WWW.TXMCU.COM;sbit lcden=P34;sbit lcdrs=P35;sbit dula=P26;sbit wela=P27;uchar num;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()dula=0;wela=0;lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80+0x10);void main()init();for(num=0;num11;num+)write_data(tablenum);delay(20);/write_com(1);write_com(0x80+0x53);for(num=0;num13;num+)write_data(table1num);delay(20);for(num=0;num16;num+)write_com(0x18);delay(20);while(1);Lesson9#include#define uchar unsigned charsbit sda=P20;sbit scl=P21;uchar a;void delay() ; void start() /开始信号sda=1;delay();scl=1;delay();sda=0;delay();void stop() /停止sda=0;delay();scl=1;delay();sda=1;delay();void respons() /应答uchar i;scl=1;delay();while(sda=1)&(i250)i+;scl=0;delay();void init()sda=1;delay();scl=1;delay();void write_byte(uchar date)uchar i,temp;temp=date;for(i=0;i8;i+)temp=temp1;scl=0; delay();sda=CY;delay();scl=1;delay();/scl=0; / delay();scl=0;delay();sda=1;delay();uchar read_byte()uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i8;i+)scl=1;delay();k=(k0;a-) for(b=100;b0;b-);void write_add(uchar address,uchar date)start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date);respons();stop();uchar read_add(uchar address)uchar date;start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;void main()init();write_add(23,0xaa);delay1(100);P1=read_add(23);while(1);Lesson10#include#define uchar unsigned char #define uint unsigned intsbit dula=P26;sbit wela=P27;sbit rs=P35;sbit lcden=P34;sbit s1=P30;sbit s2=P31;sbit s3=P32;sbit rd=P37;uchar count,s1num;char miao,shi,fen;uchar code table= 2007-7-30 MON;uchar code table1= 00:00:00;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()uchar num;dula=0;wela=0;lcden=0;/fen=59;/miao=53;/shi=23;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x40);for(num=0;num12;num+)write_date(table1num);delay(5);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;void write_sfm(uchar add,uchar date)uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);void keyscan()rd=0;if(s1=0)delay(5);if(s1

温馨提示

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

评论

0/150

提交评论