51单片机C语言应用程序设计实例精讲.pdf 介绍了关于51单片机C语言应用程序设计实例精讲的详细说明,提供单片机的技术资料的下载。
1
基于51单片机的交通灯控制系统设计.doc
1
本文介绍了一种基于单片机技术的交通灯控制系统,使用AT89C51作为核心元件,通过信号灯对路面交通进行控制。该系统已经成为一种比较成熟的技术,并在生活、工作、科研等各个领域得到广泛应用。本文详细介绍了该系统的设计原理、硬件电路、软件设计等方面的内容。
2023-04-05 00:17:36 488KB 基于51单片机交通灯控制系统
1
基于51单片机的电子琴,使用汇编语言编写方便初学者参考学习,含在protuse上的仿真。
2023-04-04 22:47:23 45KB 电子琴 51单片机 汇编
1
开发环境KEIL5;Proteus仿真软件; STC89C52RC单片机IO口模拟IIC采集二氧化碳、甲醛数据,将数据显示在LCD602上,第一行显示二氧化碳浓度 ,第二行显示TVOC浓度。设定的报警值可通过按键调节。 本资源包含硬件代码,和模拟电路图。
2023-04-04 18:31:27 92KB 51单片机. c语言 传感器
1
在51单片机中使用PS2键盘,提供在Keil C51 下能编译通过的C程序源代码
2023-04-04 17:10:50 195KB Keil-C51 PS2键盘 C源代码
1
硬件:51单片机+LCD1602显示屏-DS1302-DS18B20 6017 可以显示万年历时间,当前温度 带整点报时,和设置闹铃
2023-04-04 14:51:57 13.66MB 51单片机
1
前几天,51单片机课设写的,保证好使,如不会操作,可联系,文档有联系方式.通过按键输入密码,通过数码管显示当前输入的密码,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,密码输入正确,蜂鸣器提示。若密码不正确,则可以从新输入密码。如连续三次输入错误,则禁止输入,蜂鸣器长鸣报警。
1
#include #define uchar unsigned char #define uint unsigned int uchar buff,times,j; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3 0x66,0x6d,0x7d,0x07, //4,5,6,7 0x7f,0x6f,0x77,0x7c, //8,9,A,B 0x39,0x5e,0x79,0x71,0x00}; //C,D,E,F,null unsigned char idata value[8]; void delay1ms(void) //消抖动 { uchar i; for(i=200;i>0;i--); } void delay5ms(void) //延时5ms { unsigned char i,j; for(i=5;i>0;i--) for(j=248;j>0;j--); } void key_scan(void) //键盘输入扫描函数 { uchar hang,lie,key; P3=0xf0; if((P3&0xf0)!=0xf0) //行码为0,列码为1 { delay1ms(); if((P3&0xf0)!=0xf0) //有键按下,列码变为0 { hang=0xfe; //逐行扫描 times++; if(times==2) times=1; while((hang&0x10)!=0) //扫描完4行后跳出 { P3=hang; if((P3&0xf0)!=0xf0) //本行有键按下 { lie=(P3&0xf0)|0x0f; buff=((~hang)+(~lie)); switch(buff) { case 0x11: key=0;break; case 0x21: key=1;break; case 0x41: key=2;break; case 0x81: key=3;break; case 0x12: key=4;break; case 0x22: key=5;break; case 0x42: key=6;break; case 0x82: key=7;break; case 0x14: key=8;break; case 0x24: key=9;break; case 0x44: key=10;break; case 0x84: key=11;break; case 0x18: key=12;break; case 0x28: key=13;break; case 0x48: key=14;break; case 0x88: key=15;break; } value[times-1]=key; //按下的键值 } else hang=(hang<<1)|0x01; //下一行扫描 } } } } void main(void) { uchar key; while(1) { key_scan(); P0=0; for(j=times;j>0;j--) { P2=j-1; //数码管列扫描 P0=dispcode[value[times-j]]; //A-G数据 delay5ms(); } } }
2023-04-04 03:08:28 84KB 51单片机 键盘 数码管
1
基于51单片机音乐盒课程设计报告书.doc
1