51单片机实验板原理图

1.流水灯实验

#include  void delay(unsigned int Cnt){unsigned int t;while(Cnt--){t = 120;while(t--);}}void main( )/*主程序*/{ P1=0xfe;delay( 400 ); /*500为延时参数,可根据实际需要调整*/P1=0xfd;delay( 500 );P1=0xfb;delay( 500 );P1=0xf7;delay( 500 );P1=0xef;delay( 500 );P1=0xdf;delay( 500 );P1=0xbf;delay( 500 );P1=0x7f;delay( 500 );}

2.数码管动态显示

#include#include#define uchar unsigned char#define uint unsigned intsbit duan=P2^6; sbit wei=P2^7; uchar code tab[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x00,0x40}; //uchar idata dis_buf[6]={17,17,17,17,17,17}; //void delayms(uint i) { uint j; for(;i>0;i--) for(j=120;j>0;j--) {;}}void main() { uchar k,m,n,bitcode,segcode; while(1) { for(n=0;n<17;n++) { dis_buf[0]=dis_buf[1];  dis_buf[1]=dis_buf[2]; dis_buf[2]=dis_buf[3]; dis_buf[3]=dis_buf[4]; dis_buf[4]=dis_buf[5]; dis_buf[5]=n; for(m=0;m<100;m++)  { bitcode=0xfe;  for(k=0;k<6;k++) { P0=0xff;  wei=1; wei=0; segcode=dis_buf[k];  P0=tab[segcode];  duan=1; duan=0; P0=bitcode;  wei=1; wei=0; delayms(1); bitcode=_crol_(bitcode,1);  } } } }}

3.数码管静态显示

#include  #define uchar unsigned char #define uint unsigned int sbit DUAN=P2^6;sbit WEI=P2^7;uchar code led[6]={0x00,0x01,0x02,0x03,0x04,0x05};uchar data ledwei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};uchar data displaytab[6]={ 0x06, 0x5b ,0x4f ,0x66 ,0x6d ,0x7d };void delay()  {uchar x,y;for(x=2; x>0; x--)for(y=250; y>0; y--);}void main( ) {uchar i;while(1){for (i=0;i<6;i++){P0=displaytab[led[i]];DUAN=1;DUAN=0;P0=ledwei[i]; WEI = 1;WEI = 0;delay();P0=0x00;DUAN = 1;DUAN = 0;} }}

4.数码管显示相同的内容

#include  #define uchar unsigned char #define uint unsigned int sbit DUAN=P2^6;sbit WEI=P2^7;uchar code led[6]={0x00,0x01,0x02,0x03,0x04,0x05};uchar data ledwei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};uchar data displaytab[6]={ 0x06, 0x5b ,0x4f ,0x66 ,0x6d ,0x7d };void delay()  {uchar x,y;for(x=2; x>0; x--)for(y=250; y>0; y--);}void main( ) {uchar i;while(1){for (i=0;i<6;i++){P0=displaytab[led[i]];DUAN=1;DUAN=0;P0=ledwei[i]; WEI = 1;WEI = 0;delay();P0=0x00;DUAN = 1;DUAN = 0;} }}

5.脉冲计数

#include  #define uchar unsigned char #define uint unsigned int sbit DUAN=P2^6;sbit WEI=P2^7;sbit K1=P3^4;sbit K2=P3^5;sbit K3=P3^6;sbit K4=P3^7;uint q=9999;uchar data led[6]={9,9,9,9,0,0};uchar data ledwei[6]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar data displaytab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay()  /*延时函数,约1mS*/{uchar x,y;for(x=2; x>0; x--)for(y=250; y>0; y--);}void display() /*主程序*/{uchar i;for (i=0;i<6;i++){P0=displaytab[led[i]];DUAN=1;DUAN=0;P0=ledwei[i]; WEI = 1;WEI = 0;delay(); P0=0xff;/*消影2,位选全部关断*/  WEI = 1;WEI = 0;P0=0x00;/*消影1,熄灭断码*/ DUAN = 1;DUAN = 0;} }void main(){TMOD=0x06;EA=1;ET0=1;ET1=1;TH0=0xff;TL0=0xff;TH1=0xff;TL1=0xff;TR0=1;TR1=1; PT0=1;while(1){display();}}void T0_int() interrupt 1{display();display(); if(K1==0) {q++;led[5]=q/100000;led[4]=q%100000/10000;led[3]=q%10000/1000;led[2]=q%1000/100;led[1]=q%100/10;led[0]=q%10/1;}top:while(!K1){display();}display(); display();while(!K1){ goto top;}} void T1_int() interrupt 3{display();display(); if(K2==0) {q--;led[5]=q/100000;led[4]=q%100000/10000;led[3]=q%10000/1000;led[2]=q%1000/100;led[1]=q%100/10;led[0]=q%10/1;}top:while(!K2){display();}display(); display();while(!K2){ goto top;}}

6.脉冲测量

#include  #define uchar unsigned char #define uint unsigned int sbit DUAN=P2^6;sbit WEI=P2^7;sbit K1=P3^4;sbit K2=P3^5;sbit pulse=P3^3;uchar count_high;uchar count_low;uint num;uchar data led[6]={0,0,0,0,0,0};uchar data ledwei[6]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar data displaytab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay()  /*延时函数,约1mS*/{uchar x,y;for(x=2; x>0; x--)for(y=250; y>0; y--);}void read_count(){count_high=TH1;count_low=TL1;num=count_high*256+count_low;}void display() /*主程序*/{uchar i;for (i=0;i<6;i++){P0=displaytab[led[i]];DUAN=1;DUAN=0;P0=ledwei[i]; WEI = 1;WEI = 0;delay();P0=0xff;/*消影2,位选全部关断*/ WEI = 1;WEI = 0;P0=0x00;/*消影1,熄灭断码*/ DUAN = 1;DUAN = 0;} }void main(){TMOD=0x06;EA=1;ET0=1;TR0=1;TH0=0xff;TL0=0xff;while(1){display();}}void T0_int() interrupt 1{display(); display(); if(K1==0) { TMOD=0X90; while(pulse==1); TR1=1; while(pulse==0); while(pulse==1); TR1=0; read_count();led[5]=num/100000;led[4]=num%100000/10000;led[3]=num%10000/1000;led[2]=num%1000/100;led[1]=num%100/10;led[0]=num%10/1;}top:while(!K1){display();}display(); display();while(!K1){ goto top;}}

51单片机50个实例代码_常用的51单片机代码相关推荐

  1. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...

    万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...

  2. 丹佛斯变频器al14故障代码_丹佛斯变频器故障代码和丹佛斯变频器报警详解

    一.丹佛斯变频器故障代码表现形式 丹佛斯变频器在出现故障代码时,一共有三种表现形式: 1.警告 当即将发生报警状况或存在异常运行条件并可能导致变频器发出报警时,将发出警告.异常状况消失时,警告会自行清 ...

  3. 一段堆栈溢出的代码_为什么堆栈溢出的代码片段会破坏您的项目

    一段堆栈溢出的代码 Stack Overflow has been the saviour of many programmers, including me. Some of us have nev ...

  4. 史上最烂代码_历史上最大的代码库

    史上最烂代码 Here's a diagram of the biggest codebases in history, as measured by lines of code: 这是历史上最大的代 ...

  5. python测验5 函数和代码_测验5: 函数和代码复用 (第5周)-单选题

    1.以下选项不是函数作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ A. 提 ...

  6. idea看更改过的代码_就是你把所有代码全写在一个类里的?

    来源 | https://urlify.cn/6jQRN3 最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了. 为了防止这样的惨剧 ...

  7. java测试性能代码_关于性能:Java代码内部的基准测试

    我最近一直在研究基准测试,我一直对记录程序数据等感兴趣.我想知道我们是否可以在程序中有效地实现自己的内存使用代码和实现自己的时间消耗代码.我知道如何检查代码运行所需的时间: public static ...

  8. vscode中怎样格式化js代码_如何在Visual Studio代码(VSCode)中格式化代码

    回答(30) 2 years ago 对于那些想要自定义要格式化的JavaScript文件的人,可以使用 JSfiles 属性上的任何扩展名同样适用于HTML . { "beautify.o ...

  9. 51单片机50个实例代码_【附代码】51单片机电子密码锁教程

    简介 大家好,这篇文章的内容是关于如何用51单片机来制作一个电子密码锁的教程,通过这篇教程可以让刚入门的朋友了解矩阵键盘.LCD1602的使用方法,以及密码输入和修改的程序介绍,我会对每个部分进行详细 ...

最新文章

  1. 201110阶段二qt事件
  2. 抓取html中用到的css_如何使用HTML和CSS制作像《星球大战》一样的抓取文字
  3. java聊天系统异常问题_【图片】写的socket编程实现窗口聊天出现空指针错误 在自己电脑没事【java吧】_百度贴吧...
  4. 年货怎么到家早?华为云+AI 告诉你!
  5. wpf menuitem 点击控件元素_一招教你如何在WPF界面开发时自定义外观,快来Get
  6. 【HeadFirst 设计模式学习笔记】9 迭代器模式
  7. 共享文件夹只能连接20人_英语正能量 | 快乐可以与人共享,苦难却只能自己坚强...
  8. [安全防护]诺顿产品之Symantec Endpoint Protection
  9. 数据库技术与应用知识点小结(上)
  10. 基于Python的坦克大战小游戏
  11. 可口可乐中国联袂青年志发布《中国青年「在乎力」报告》
  12. Linux服务器出现方向键、退格键乱码等现象解决
  13. RT-Thread studio配置can hal库 驱动GM6020
  14. javaWeb期末复习实验专题
  15. 液体之火,酒,写的真好 ~~
  16. 云中漫步,做个公众号方便生活、取悦自己
  17. DIVA系列前期环境
  18. 详细介绍知识图谱技术
  19. MVG读书笔记——相机模型
  20. 大数据Spark超经典视频链接全集

热门文章

  1. QT-子线程或自定义类操作访问主界面UI控件的几种方法
  2. C#类的属性遍历及属性值获取
  3. python选取元音开头的单词_一学生易错词汇aan的选择元音字母开头的单词用an辅音字母...
  4. 2、AD工程创建步骤
  5. powerdesigner显示工具面板_10分钟看懂Photoshop 绘画(画笔面板1-3)
  6. 《深入浅出数据分析》第九章——R语言
  7. Error:Could not resolve all files for configuration ':app:preDebugCompileClasspath'. Could not fin
  8. Android开发之ListView子布局item高度的问题
  9. 计算机四年级下册教案泰山版,泰山版信息技术四年级下册4、制作作息时间表教案设计...
  10. 211计算机实力末尾的学校,实力最弱的十所985大学是哪几所?选择末尾985好还是选211好?...