已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机入门小程序 51单片机的学习是一个动手实践的过程,很多同学在学习单片机的初期总是觉得很难,无法入门。 本人根据自己的学习经历,结合自己刚学习单片机的体验,写下几个小的程序供大家参考,如能掌握如下几个小程序的思想与精髓,那么就已经探踏入了单片机的大门。 学习单片机的核心就是动手实践,当我们通过自己的努力把第一个LED点亮时,我们就会信心加倍,之后的学习就会变得轻松!希望对大家有所帮助。 一个LED闪烁#includesbit led=P03;unsigned inta;void main()P0=0x00;while (1)a=100000;led=1;while(a-);a=10000;led=0;while(a-);两个led闪烁#include#define ucharunsigned char#define uintunsigned intvoid delay();void main()while (1)P0=0xaa;delay();P0=0x00;delay();void delay()uchar x,y;for(x=110;x0;x-)for(y=120;y0;y-);流水灯#include#includevoid delay();void main()unsigned chartemp;P0=0xef;temp=P0;delay();while (1)temp=_crol_(temp,1);delay();void delay()unsigned charx,y;for(x=40;x0;x-)for(y=200;y0;y-);键控移位信号灯#include#include#define ucharunsigned char#define uintunsigd neintsbit k1=P10;sbit k2=P11;void delay(uchar z);void main()P0=0X18;while (1)if(k1)P0=_crol_(P0,1);if(k2)P0=_cror_(P0,1);void delay(uchar z)uchar x,y;for(x=z;x0;x-)for(y=120;y0;y-);中断的简单应用1.利用定时器中断实现LED闪烁#include#define ucharunsigned char#define uintunsigned intsbit led1=P10;uchar num;void main()P1=0x00;TMOD=0x01;TH0=(65536-45872)/265;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;while (1);void T0_time()interrupt1TH0=(65536-45872)/256;TL0=(65536-45872)%256;num+;if(num=20)num=0;led1=led1;2.数码管记录LED闪的次数#include#define ucharunsigned char#define uintunsigned intsbit led=P12;void display(uchar,uchar);uchar num=0,num1=0,num2=0,shi=0,ge=0;uchar codearray10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07;void main()TMOD=0x11;TH0=(65536-45872)/256;TL0=(65536-45872)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while (1);display(shi,ge);void display(uchar shi,uchar ge)P2=0x03;/P10=arrayshi;/P11=arrayge;/*void delay(z)uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);*/void Time0()interrupt1TH0=(65536-45872)/256;TL0=(65536-45872)%256;num+;if(num=4)num=0;led=led;void Time1()interrupt2TH1=(65536-45872)/256;TL1=(65536-45872)%256;num1+;if(num1=20)num1=0;num2+;if(num2=60)num2=0;shi=(num2)/10;ge=(num2)%10;数码管的动态显示#include#define ucharunsigned char#define uintunsigned intuchar codeduan9=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07;void delay();void main()while (1)P2=0x7f;P0=0x3f;delay();P2=0xbf;P0=0x06;delay();P2=0xdf;P0=0x5b;delay();P2=0xef;P0=0x4f;delay();P2=0xf7;P0=0x66;delay();P2=0xfb;P0=0x6d;delay();P2=0xfd;P0=0x7d;delay();P2=0xfe;P0=0x07;delay();void delay()uint x,y;for(x=10;x0;x-)for(y=10;y0;y-);数码管的静态显示#include#define ucharunsigned char#define uintunsigned intuchar codearry10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(uint z);void main()P2=0x00;while (1)uchar i;for(i=0;i0;x-)for(y=110;y0;y-);数码管显示8#includevoid main()P2=0x7f;/位选端低电平有效P0=0x7f;/段选高电平有效(共阴)while (1);AD转换#include#include#define ucharunsigned charsbit wr=P36;sbit rd=P37;sbit dula=P26;sbit wela=P27;uchar codeshuma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uchar z)uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);void display(uchar bai,uchar shi,uchar ge)dula=1;P0=shumabai;dula=0;P0=0xff;wela=1;P0=0x7e;wela=0;delay (10);dula=1;P0=shumashi;dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;delay (10);dula=1;P0=shumage;dula=0;P0=0xff;wela=1;P0=0x7b;wela=0;delay (10);void main()uchar A,B,C,i,adresult;float wela=1;P0=0x7f;/开ADCS wela=0;while (1)wr=1;_nop_();wr=0;_nop_();wr=1;_nop_();for(i=0;i0;x-)for(y=120;y0;y-);void write_data(uchar Data)/写数据lcden=0;lcdrs=1;lcden=1;delay (10);lcd=Data;lcden=0;delay (10);void write_mend(uchar )/写命令lcden=0;lcdrs=0;lcden=1;delay (10);lcd=;lcden=0;delay (10);void initial()/初始化函数、write_mend(0x01);/清屏write_mend(0x38);write_mend(0x0c);write_mend(0x06);void main()uchar i,j;uchar fei=wudian;uchar benfei=jia you!;/lcdrw=0;initial();/while (1);write_mend(0x80);/write_data(f);/write_data(e);/write_data(i);/write_data(f);/write_data(e);/write_data(i);/write_data(f);/write_data(l);for(j=0;j6;j+)write_data(feij);write_mend(0xc2);for(i=0;i0;x-)for(y=120;y0;y-);void write_data(uchar Data)/写数据lcden=0;lcdrs=1;lcden=1;delay (10);lcd=Data;lcden=0;delay (10);void write_mend(uchar )/写命令lcden=0;lcdrs=0;lcden=1;delay (10);lcd=;lcden=0;delay (10);void initial()/初始化函数、write_mend(0x01);/清屏write_mend(0x38);write_mend(0x0c);write_mend(0x06);void main()uchar i,j;uchar fei=wudian;uchar benfei=jia you!;/lcdrw=0;initial();/while (1);write_mend(0x80);/write_data(f);/write_data(e);/write_data(i);/write_data(f);/write_data(e);/write_data(i);/write_data(f);/write_data(l);for(j=0;j6;j+)write_data(feij);write_mend(0xc2);for(i=0;i0;x-)for(y=120;y0;y-);void display(uchar shi,uchar ge);void initial();void main()uchar num=0;initial();csda=0;wr=0;P0=0x00;while (1)wr=0;if(s1=0)delay (10);if(s1=0)num+;P0=shudunum;if(s1=0);delay (10);if(num=4)num=0;P0=0x00;void initial()TMOD=0X01;TH0=0x3c;/50ms TL0=0xb0;EA=1;ET0=1;TR0=1;IT0=1;EX0=1;void T0_time()interrupt1num2+;void INT0_count()interrupt0num1+;if(num2=20)n=num1/k;A2=n/10;A3=n%10;display(A2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生安全教育主题班会
- 2025年度湖南省继续教育公需科目练习题及答案
- 2025年执业药师继续教育真题试卷+解析及答案
- 医保医师知识试题及答案
- 国开高级财务会计第2章综合练习试题及答案
- 2022年9月北海市税务系统遴选面试真题回忆版
- 六年级下册《古诗词背诵》专题练习(含答案)
- 2025年茶艺师鉴定模拟试题-茶叶选购与存储方法
- 大学计算机基础考试真题3
- 妇科肿瘤医师专业资格试卷与答案
- 冒菜店营销方案
- 挂靠安装项目合同协议
- 2025至2030中国创意玩具行业项目调研及市场前景预测评估报告
- 2025年人教版小学语文五年级上册同步阅读练习及答案
- 2025年特殊教育师职业资格考试题及答案
- 2025年山西省教师职称考试(理论知识)复习题及答案(新课标)-山西教师
- 妇产科学(甲)知到智慧树章节测试课后答案2024年秋浙江大学
- 工业互联网行业分析研究报告
- 毛衫吓数工艺
- 中频炉停水、漏炉演练方案
- 昆明理工大学招收飞行技术专业学生报名表
评论
0/150
提交评论