51单片机通过建立4x4矩阵按键在8段数码管上面显示0~F,十六个按键值。
有两种扫描方法可用。
1
本文设计了一套成本低廉,通过书写笔可以轻松、简便地输入信息并显示的装置,以单片机为微控制器,以16×16点阵LED组成显示模块,结合行、列扫描驱动逻辑电路,编写程序控制所有LED点工作在扫描微亮和稳定点亮两种状态,用光敏三极管和比较器组成新型光笔,通过光笔检测笔尖下方LED的扫描微亮光线使控制器进入中断并记录当前扫描点的坐标编号,从而实现信息输入和LED屏显示控制。
所设计的LED显示屏无需数据传输通信,以光笔书写方式输入信息,不需要触控器件,能够实现2s内划亮40点满足书写流畅的要可广泛应用于需要频繁更改发布内容的广告显示场合。
2025/12/24 0:02:51 383KB 点阵显示屏 书写屏
1
STC89C52_51单片机_例程4_交通灯_C语言代码_STC89C52_51单片机_例程4_交通灯_C语言代码_STC89C52_51单片机_例程4_交通灯_C语言代码_
2025/12/22 5:19:22 24KB STC89C52 51单片机 C语言代码
1
51单片机制作的贪吃蛇小游戏,含有程序,原理图,pcb,及其仿真!!!
2025/12/22 3:39:02 11.26MB 贪吃蛇
1
51单片机光对管模拟进教室人数控制开多少个灯1602显示附带源代码原理图PCB材料清单仿真图附带开题报告参考论文
2025/12/21 17:44:30 13.72MB 51单片机 光对管 教室人数
1
此程序为16x16的点阵显示程序,他可以显示汉字,并实现汉字的上下滚动和左右滚动
2025/12/19 17:24:22 177KB 16x16点阵
1
#include#defineucharunsignedchar#defineuintunsignedintsbitled=P2^5;sbitwei=P2^7;sbitduan=P2^6;sbitDQ=P2^2;ucharmazhi_duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};ucharmazhi_wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xff};voiddelayl(uintn){uinti,j;for(i=n;i>0;i--)for(j=114;j>0;j--);}voiddelays(uchari){while(i--);}bitinit_DS18B20()//DS8B20初始化{bitx;DQ=1;//DQ复位delays(8);DQ=0;//单片机将DQ拉低delays(75);DQ=1;//拉高总线delays(15);x=DQ;//延时过后若x=0则初始化成功若x=1则初始化失败delays(5);returnx;}voidwrite_data(uchardat){uchari,temp;temp=dat;DQ=1;for(i=0;i>=1;}}ucharread_data(){uchari,dat;DQ=1;for(i=0;i>=1;DQ=1;//配置为输入if(DQ)dat|=0x80;delays(4);}returndat;}uintreadtemp(){uchartemph,templ;uinttemp;floatwendu;init_DS18B20();write_data(0xcc);//跳过ROMwrite_data(0x44);//启动温度转换//delayl(100);init_DS18B20();write_data(0xcc);//跳过ROMwrite_data(0xBE);//读温度//以下读温度,低八位在前//高8位在后templ=read_data();temph=read_data();temp=(temph<<8)|templ;wendu=temp*0.625+0.5;//温度扩大10倍,四舍五入temp=wendu;//10倍温度returntemp;}voidSTC_init(){P1=0x00;//关闭ledled=0;//锁存wei=0;duan=0;}voiddisplay(ucharweil,ucharduanl,bitdp){wei=1;P0=mazhi_wei[weil-1];wei=0;duan=1;if(dp==1)P0=(mazhi_duan[duanl]|0x80);elseP0=mazhi_duan[duanl];duan=0;}voidmain(){uchari;uintwendu;STC_init();wendu=readtemp();delayl(500);wendu=readtemp();delayl(500);while(1){wendu=readtemp();for(i=0;i<80;i++){display(1,wendu/100,0);delayl(3);display(2,wendu0/10,1);delayl(3);display(3,wendu,0);delayl(3);}}}
2025/12/13 3:17:02 2KB 温度传感
1
51单片机与蓝牙模块的串口51单片机与蓝牙模块的串口通信C程序通信C程序
1
51MCU读写W25X16W25Q16
2025/12/7 13:55:08 3KB W25Q16 51 MCU
1
采用中断计时方式,通过二位共阴极数码管进行显示。
一个功能按键,负责启动,终止及清零功能。
2025/12/7 4:28:49 4.03MB 单片机
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡