
51实验
1-0-1 C
信息与通信工程
展开
-
基于51单片机秒表设计,独立按键实现启动、复位、暂停功能
基于51单片机秒表设计,独立按键实现启动、复位、暂停功能功能说明:按键功能K1开始K2暂停K3复位#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;sbit K1=P3^1; //开始原创 2020-07-20 23:03:34 · 31787 阅读 · 17 评论 -
基于51单片机的LED呼吸灯设计(定时器)
定时器实现led呼吸灯实验原理: 灯在高速闪烁时,光信号传入大 脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失。每次循环时,前半部分先让亮的时间逐渐增加,暗的时间逐渐减小;后半部分先让亮的时间逐渐减小,暗的时间逐渐增加,如此循环即可#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;#define原创 2020-07-20 20:04:55 · 6776 阅读 · 10 评论 -
51任务17:定时器控制数码管从00-59,1秒增一
51任务17:定时器控制数码管从00-59,1秒增一#include "reg52.h" //数据类型声明typedef unsigned int u16; typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;//数码表u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7原创 2020-07-20 18:55:39 · 6286 阅读 · 2 评论 -
51实验14.数码管从 000 显示到999
51实验14.数码管从 000 显示到999#include "reg52.h" typedef unsigned int u16; typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79原创 2020-07-19 10:34:57 · 9000 阅读 · 3 评论 -
实验13.数码管从0显示到9(然后又是0-9一直循环)
实验13.数码管从0显示到9(然后又是0-9一直循环)/**************************************************************************************实验现象:下载程序后"动态数码管模块"第5位循环显示0-9***************************************************************************************/#include "reg52.h"原创 2020-07-19 09:01:50 · 7867 阅读 · 0 评论 -
51实验12:数码管显示12345678
51实验12:数码管显示12345678/**************************************************************************************实验现象:下载程序后"动态数码管模块"从左至右显示1-8 ***************************************************************************************/#include原创 2020-07-19 08:40:44 · 8738 阅读 · 1 评论 -
51实验11:矩阵键盘16个按键分别代表0-9,a-f,用最后一位数码管显示
51实验11:矩阵键盘16个按键分别代表0-9,a-f,用最后一位数码管显示#include<reg52.h>#include<intrins.h>typedef unsigned int u16;typedef unsigned char u8;#define GPIO_DIG P0#define GPIO_KEY P1//数码管sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;//数码表u8 code smgduan原创 2020-07-19 07:54:00 · 6121 阅读 · 5 评论 -
51实验10: 独立按键控制一个数码管显示0-9,按一次只加1.
AT89c52实验10:独立按键控制一个数码管显示0-9,按一次只加1.#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;//位定义sbit led=P2^0;sbit K1=P3^1;sbit beep=P1^5;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;//全局变量u16 n=0;//共阴数码表u8 code smgduan[16原创 2020-07-18 21:34:02 · 33688 阅读 · 13 评论 -
51实验9:独立按键控制led的亮灭,按一次亮,按一次灭
51实验9:独立按键控制led的亮灭,按一次亮,按一次灭#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit led=P2^0;sbit K1=P3^1;void delay(u16 i){ while(i--);}void keypros(){ if(K1==0) { delay(1000); if(K1==0) { led=~led; }原创 2020-07-18 21:48:46 · 11108 阅读 · 1 评论 -
51实验8:数码管最后三位显示123
51实验8:数码管最后三位显示123#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;void delay(u16 i){ while(i--);}u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x原创 2020-07-18 21:47:20 · 1757 阅读 · 1 评论 -
51实验7:所有的数码管都显示同一个数字(0-9随意)
51实验7:所有的数码管都显示同一个数字(0-9随意)#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;void delay(u16 i){ while(i--);}u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x原创 2020-07-18 21:46:09 · 1889 阅读 · 4 评论 -
51实验6:最后一个数码管显示0-9的任意一个数(不要求会变)
51实验6:最后一个数码管显示0-9的任意一个数(不要求会变)#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;void delay(u16 i){ while(i--);}u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0原创 2020-07-18 21:44:51 · 720 阅读 · 0 评论 -
51实验5:蜂鸣器的简单使用
51实验5:蜂鸣器的简单使用#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit beep=P1^5;void delay(u16 i){ while(i--);}void main(){ u16 i,j; while(1) { for(i=1;i<200;i++) { beep=~beep; delay(i); } fo原创 2020-07-18 21:43:31 · 603 阅读 · 0 评论 -
51实验4:总线法写流水灯
51实验4:总线法写流水灯#include<reg52.h>#define led P2typedef unsigned int u16;void delay(u16 i){ while(i--);}void main(){ u16 n; while(1) { for(n=0;n<8;n++) { led=~(0x01<<n); delay(10000); } for(n=0;n<8;n++) {原创 2020-07-18 21:42:22 · 873 阅读 · 1 评论 -
51实验3:总线法写闪烁灯
51实验3:总线法写闪烁灯#include <reg52.h>void delay300ms(void) { unsigned char a,b,c; for(c=123;c>0;c--) for(b=116;b>0;b--) for(a=9;a>0;a--);}void main(){ while(1) { P2=0x55; delay300ms(); P2=~P2;原创 2020-07-18 21:41:04 · 4587 阅读 · 0 评论 -
51实验2:通过总线法控制任意灯的亮灭
AT89C52实验2:通过总线法控制任意灯的亮灭#include<reg52.h>typedef unsigned int u16;void delay(u16 i){ while(i--);}void main(){ P2=0xb5; delay(100000); P2=0xff; delay(100000);}原创 2020-07-18 21:39:33 · 954 阅读 · 0 评论 -
51实验1:通过位定义控制任意灯的亮灭
AT89C52实验1:通过位定义控制任意灯的亮灭#include<reg52.h>sbit d1=P2^0;sbit d2=P2^1;sbit d3=P2^2;sbit d4=P2^3;sbit d5=P2^4;sbit d6=P2^5;sbit d7=P2^6;sbit d8=P2^7;void delay(int t){ while(t--);}void main(){ while(1) { //d1 d5同时闪 d1=0; d5原创 2020-07-18 21:37:28 · 1130 阅读 · 0 评论