stc89c52单片机开发板电路原理图。
主要包括模仿量采集ADC,AD/DA转换。
485传输,点阵模块接口,红外发送,温湿度传感器,蜂鸣器,超声波模块,按键,指示灯,最小系统,外扩接口,USB供电以及串口传输,4位七段数码管显示,矩阵键盘,电源输入的模块分布。
2015/1/10 8:44:10 110KB 89c52 原理图
1
前段灌音代码
2021/8/25 8:15:48 43KB html js
1
前段灌音代码
2019/10/10 6:48:50 43KB html js
1
单片机数模转换程序将da#include//52系列单片机头文件#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;//申明U1锁存器的锁存端sbitwela=P2^7;//申明U2锁存器的锁存端sbitadwr=P3^6;//定义AD的WR端口sbitadrd=P3^7;//定义AD的RD端口sbitled=P2^5;sbitDAC0832_CS=P3^2;sbitDAC0832_WR=P3^6;sbitAD_CS=P0^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharweima[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=110;j>0;j--);}voiddisplay(ucharbai,ucharshi,ucharge)//显示子函数{dula=1;P0=table[bai]|0x80;//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x7e;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;delayms(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0x7b;wela=0;delayms(1);}/*voiddisplays(uchara,ucharb,ucharc)//显示子函数{dula=1;P0=table[a];//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x77;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[b];dula=0;P0=0xff;wela=1;P0=0x6f;wela=0;delayms(1);dula=1;P0=table[c];dula=0;P0=0xff;wela=1;P0=0x5f;wela=0;delayms(1);}*/voiddisplays(ucharshuzi,ucharweizhi,bitdp){dula=1;if(dp)P0=table[shuzi]|0x80;elseP0=table[shuzi];dula=0;wela=1;P0=weima[weizhi];wela=0;}voidmain()//主程序{uintad;ucharA1,A2,A3,adval;AD_CS=1;//置CSAD为0,选通ADCS以后不必再管ADCSDAC0832_CS=0;DAC0832_WR=0;while(1){wela=1;P0=0x7f;wela=0;adwr=1;_nop_();adwr=0;//启动AD转换_nop_();adwr=1;P1=0xff;//读取P1口之前先给其写全1adrd=1;//选通ADCS_nop_();adrd=0;//AD读使能_nop_();
2018/2/21 19:13:45 3KB 51数模转换
1
单片机数模转换程序将da#include//52系列单片机头文件#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;//申明U1锁存器的锁存端sbitwela=P2^7;//申明U2锁存器的锁存端sbitadwr=P3^6;//定义AD的WR端口sbitadrd=P3^7;//定义AD的RD端口sbitled=P2^5;sbitDAC0832_CS=P3^2;sbitDAC0832_WR=P3^6;sbitAD_CS=P0^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharweima[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=110;j>0;j--);}voiddisplay(ucharbai,ucharshi,ucharge)//显示子函数{dula=1;P0=table[bai]|0x80;//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x7e;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;delayms(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0x7b;wela=0;delayms(1);}/*voiddisplays(uchara,ucharb,ucharc)//显示子函数{dula=1;P0=table[a];//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x77;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[b];dula=0;P0=0xff;wela=1;P0=0x6f;wela=0;delayms(1);dula=1;P0=table[c];dula=0;P0=0xff;wela=1;P0=0x5f;wela=0;delayms(1);}*/voiddisplays(ucharshuzi,ucharweizhi,bitdp){dula=1;if(dp)P0=table[shuzi]|0x80;elseP0=table[shuzi];dula=0;wela=1;P0=weima[weizhi];wela=0;}voidmain()//主程序{uintad;ucharA1,A2,A3,adval;AD_CS=1;//置CSAD为0,选通ADCS以后不必再管ADCSDAC0832_CS=0;DAC0832_WR=0;while(1){wela=1;P0=0x7f;wela=0;adwr=1;_nop_();adwr=0;//启动AD转换_nop_();adwr=1;P1=0xff;//读取P1口之前先给其写全1adrd=1;//选通ADCS_nop_();adrd=0;//AD读使能_nop_();
2019/5/4 18:48:13 3KB 51数模转换
1
经典论文《HistogramsofOrientedGradientsforHumanDetection》的解读,内附一小段示例代码(Python),著名的HOG方式就源于这篇论文
2020/2/14 21:15:08 948KB hog
1
红外额温枪源码,包含原理图,pcb,源程序。
原理图pcb为AD的格式单片机C言语程序段码屏显示
2019/11/3 6:02:38 830KB 额温枪 段码屏
1
红外额温枪源码,包含原理图,pcb,源程序。
原理图pcb为AD的格式单片机C言语程序段码屏显示
2021/7/27 2:14:02 830KB 额温枪 段码屏
1
卡巴斯基专家对前段工夫出现的被称为是最聪明的木马OBAD的深度分析,内附源代码,以及对OBAD侵入手机和其运作原理做了分析
2019/10/10 18:21:48 1.8MB 安卓 木马
1
操作系统实验指导书,一个nesC应用程序有三个部份。
:一连串的C声明和定义,一组接口类型,和一组组件。
nesC应用程序命名环境构造如下:最外层的全局命名环境,包含三个命名域:一个C变量,一个用于C声明和定义的C标签命名域,和一个用于组件和接口类型的组件和接口类型命名域。
通常,C声明和定义可以在全局命名环境内部引入自己的嵌套命名域(用于函数声明和定义的函数内部代码段,等等)。
每个接口类型引入一个命名域,用于保存接口的指令或事件。
这种命名域是嵌套于全局命名环境的,所以指令和事件定义能影响全局命名环境中的C类型和标签定义。
每个组件引入二个新命名域。
规格命名域,嵌套于全局命名环境,包含一变量命名域用于存放组件规格元素。
实现命名域,嵌套于规格命名域,包含一个变量和一个标签命名域。
对于结构,作用范围变量命名域包含组件用以引用其包含组件的名字(7.1节).对于模块,作用范围保存作业,以及模块体中的C声明和定义。
这些声明,及其它可能引入自己的嵌套在作用范围内的命名域(比如函数体,代码段等等).由于这种命名域的嵌套结构,模块中的代码可以访问全局命名环境中的C声明和定义,但是不能访问其他组件中的任何声明或定义.。
构成一个nesC应用程序的C声明和定义,接口类型和组件由一个随选的装载程序决定。
nesC编译器的输入是一个单独的组件K。
nesC编译器首先装载C文件(第9.1节),然后装载组件K(9.2节)。
程序所有代码的装载是装载这两个文件的过程的一部分。
nesC编译器假定所有对函数,指令及事件的调用不以自然的属性(第10.3节)都发生被装载的代码中(例如.,没有对非自然的函数"看不见的"调用)。
在装载文件预处理的时候,nesC定义NESC符号,用于识别nesC语言和编译器版本的数字XYZ。
对于nesC,XYZ至少为110。
装载C文件,nesC组件及接口类型的过程包括定位对应的资源文件。
文件定位的机制不是本参考手册中所要讨论的。
要详细了解通用编译器是如何作业的,请阅读《thenccmanpage.》装载C文件X如果X已经被装载,就不用再做什么。
否则,就要定位并预处理文件X.h。
C宏定义(由#define和#undef)的改变会影响到所有的后面的文件预处理。
来自被预处理的文件X.h的C声明和定义会进入C全局命名环境,因而对所有的后来的C文件加工,接口类型和组件是有影响的。
2015/2/14 1:08:24 1.18MB 指导书
1
共 870 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡