单片机数模转换程序将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
柯达高扫软件smarttouch官网下载不到,售后给的版本ST_i2000_v1.7.116.exe补钉ST-i2000-patch-T1.8.22.124.exe
2015/8/11 10:48:21 192.19MB 柯达 高扫 smart touch
1
这个里面的都是测试数据,总共得分5分。
从控制台输入,不能从文件中读取。
实现了基本功能,加分项目都没有去实现,没有函数数组这些的实现。
这是用C++语言写的,新建parser类别要选C++,其他对于VS的配置和C语言一样。
for语句用的是枚举所有情况,你可以自行修改。
对预备工作中自然语言描述的简化C编译器的语言特性的语法,设计上下文无关文法进行描述借助Yacc工具实现语法分析器考虑语法树的构造:1.语法树数据结构的设计:节点类型的设定,不同类型节点应保存哪些信息,多叉树的实现方式2.实现辅助函数,完成节点创建、树创建等功能3.利用辅助函数,修改上下文无关文法,设计翻译模式4.修改Yacc程序,实现能构造语法树的分析器考虑符号表处理的扩充1.完成语法分析后,符号表项应添加哪些标识符的属性,保存语法分析的结果2.如何扩充符号表数据结构,Yacc程序如何与Lex程序交互,正确填写符号表项以一个简单的C源程序验证你的语法分析器,可以文本方式输出语法树结构,以节点编号输出父子关系,来验证分析器的正确性,如下例:main(){ inta,b; if(a==0) a=b+1;}可能的输出为:0:TypeSpecifier,integer,Children:1:IDDeclaration,symbol:aChildren:2:IDDeclaration,symbol:bChildren:3:VarDeclaration,Children:0124:IDDeclaration,symbol:aChildren:5:ConstDeclaration,value:0,Children:6:Expr,op:==,Children:457:IDDeclaration,symbol:aChildren:8:IDDeclaration,symbol:bChildren:9:ConstDeclaration,value:1,Children:10:Expr,op:+,Children:8911:Expr,op:=,Children:71012:ifstatement,Children:61113:compoundstatement,Children:3 12
2015/5/4 5:41:12 3.77MB LEX YACC 南开 王刚
1
第一部分简介  第1章简介2  1.1概述2  1.2进程、线程与信息共享3  1.3IPC对象的持续性4  1.4名字空间5  1.5fork、exec和exit对IPC对象的影响7  1.6出错处理:包裹函数8  1.7Unix标准9  1.8书中IPC例子索引表11  1.9小结13  习题13  第2章PosixIPC14  2.1概述14  2.2IPC名字14  2.3创建与打开IPC通道16  2.4IPC权限18  2.5小结19  习题19  第3章SystemVIPC20  .3.1概述20  3.2key_t键和ftok函数20  3.3ipc_perm结构22  3.4创建与打开IPC通道22  3.5IPC权限24  3.6标识符重用25  3.7ipcs和ipcrm程序27  3.8内核限制27  3.9小结28  习题29  第二部分消息传递  第4章管道和FIFO32  4.1概述32  4.2一个简单的客户-服务器例子32  4.3管道32  4.4全双工管道37  4.5popen和pclose函数39  4.6FIFO40  4.7管道和FIFO的额外属性44  4.8单个服务器,多个客户46  4.9对比迭代服务器与并发服务器50  4.10字节流与消息51  4.11管道和FIFO限制55  4.12小结56  习题57  第5章Posix消息队列58  5.1概述58  5.2mq_open、mq_close和mq_unlink函数59  5.3mq_getattr和mq_setattr函数61  5.4mq_send和mq_receive函数64  5.5消息队列限制67  5.6mq_notify函数68  5.7Posix实时信号78  5.8使用内存映射I/O实现Posix消息队列85  5.9小结101  习题101  第6章SystemV消息队列103  6.1概述103  6.2msgget函数104  6.3msgsnd函数104  6.4msgrcv函数105  6.5msgctl函数106  6.6简单的程序107  6.7客户-服务器例子112  6.8复用消息113  6.9消息队列上使用select和poll121  6.10消息队列限制122  6.11小结124  习题124  第三部分同步  第7章互斥锁和条件变量126  7.1概述126  7.2互斥锁:上锁与解锁126  7.3生产者-消费者问题127  7.4对比上锁与等待131  7.5条件变量:等待与信号发送132  7.6条件变量:定时等待和广播136  7.7互斥锁和条件变量的属性136  7.8小结139  习题139  第8章读写锁140  8.1概述140  8.2获取与释放读写锁140  8.3读写锁属性141  8.4使用互斥锁和条件变量实现读写锁142  8.5线程取消148  8.6小结153  习题153  第9章记录上锁154  9.1概述154  9.2对比记录上锁与文件上锁157  9.3Posixfcntl记录上锁158  9.4劝告性上锁162  9.5强制性上锁164  9.6读出者和写入者的优先级166  9.7启动一个守护进程的独一副本170  9.8文件作锁用171  9.9NFS上锁173  9.10小结173  习题174  第10章Posix信号量175  10.1概述175  10.2sem_open、sem_close和sem_  unlink函数179  10.3sem_wait和sem_trywait函数180  10.4sem_post和sem_getvalue函数180  10.5简单的程序181  10.6生产者-消费者问题186  10.7文件上锁190  10.8sem_init和sem_destroy函数191  10.9多个生产者,单个消费者193  10.10多个生产者,多个消费者19
2017/1/14 5:24:31 42.17MB 操作系统
1
CISCOaironet1130AGseriesAPLatestReleasesMD5:db9b6d88cb8f21fba55683b41237f72bhttp://software.cisco.com/download/release.html?mdfid=279537722&softwareid=284180979&release=12.4.25d-JA2&flowid=6775
2018/5/15 4:23:22 5.51MB cisco ap 1130AG
1
完整版报告共计108页,约54000字,124份图表,包括全球IDC业务市场与中国IDC业务市场的分析。
中国IDC业务市场分析是报告呈现重点,从行业全体环境、供给侧及需求侧三大维度对中国IDC行业进行全景扫描。
在此基础上,三大维度下又分别细分出政策、技术、行业发展、竞争格局、供需双方现状、IDC资源现状、客户需求差异等多个细分维度,在对行业宏观现状扫描的基础上,条分缕析,基于数据与行业经验得出观点,权威呈现2018年度IDC业务市场的变化与未来发展趋势。
2021/11/26 1:29:36 1.23MB IDC报告 数据中心 IDC市场报告 云计算
1
这个是我的毕业设计五个模块包括:个人信息管理模块,公告模块,基本信息管理模块,奖学金管理模块,成绩管理模块角色:学生,教师,管理员目录1引言11.1课题的研究目的与意义11.2课题的创新点11.3课题的实用价值22业务概述22.1传统业务处理模式介绍22.2现有信息系统应用情况23可行性研究33.1系统粗略分析33.2系统数据流图43.2.1顶层数据流图43.2.2一层数据流图53.3系统可行性分析53.3.1技术可行性63.3.2经济可行性63.3.3操作可行性63.3.4法律可行性64需求分析74.1系统功能需求74.1.1个人信息管理模块74.1.2公告管理模块84.1.3基本信息管理模块84.1.4奖学金管理模块94.1.5成绩管理模块图104.2系统功能需求114.3系统数据需求114.3.1学生基本信息实体图114.3.2教师基本信息实体图124.3.3管理员基本信息实体图124.3.4公告基本信息实体图134.3.5期末成绩基本信息实体图134.3.6德育成绩基本信息实体图134.3.7奖学金申请基本信息实体图144.4其他需求144.4.1可靠性和可用性145总体设计155.1系统功能结构分析155.1.1学生综合素质测评系统上层功能结构图155.1.2学生综合素质测评系统模块功能结构图155.2系统应用架构设计195.3系统安全性分析196数据库设计206.1系统数据库设计环境配置说明206.2数据库模型设计206.3数据表及其结构217详细设计277.1程序流程图277.1.1奖学金审核程序流程图287.1.2公告管理程序流程图297.2详细说明297.2.1登录界面307.2.2管理员主界面317.2.3添加管理员界面327.2.4添加学生界面337.2.4修改综合素质测评成绩系数347.2.5管理员管理公告357.2.7教师个人信息管理357.2.8教师录入学生加减分377.2.9教师管理学生综合素质测评成绩407.2.10学生查看公告427.2.11学生奖学金申请438系统使用说明458.1系统运行环境和配置458.1.1硬件环境458.1.2软件环境458.2系统操作说明458.2.1用户登录说明468.2.2管理员子系统说明478.2.3学生子系统说明538.2.4教师子系统说明589总结66参考文献67致谢68
2018/1/3 17:07:13 6.92MB asp.net sql 毕业设计
1
《openssl编程》当前版本,在以前的基础上增加了椭圆曲线补充。
第一章 基础知识 81.1 对称算法 81.2 摘要算法 91.3 公钥算法 91.4 回调函数 11第二章 openssl简介 132.1 openssl简介 132.2 openssl安装 132.2.1 linux下的安装 132.2.2 windows编译与安装 142.3 openssl源代码 142.4 openssl学习方法 16第三章 堆栈 173.1 openssl堆栈 173.2 数据结构 173.3 源码 183.4 定义用户自己的堆栈函数 183.5 编程示例 19第四章 哈希表 214.1 哈希表 214.2 哈希表数据结构 214.3 函数说明 234.4 编程示例 25第五章 内存分配 275.1 openssl内存分配 275.2 内存数据结构 275.3 主要函数 285.4 编程示例 29第六章 动态模块加载 306.1 动态库加载 306.2 DSO概述 306.3 数据结构 316.4 编程示例 32第七章 抽象IO 347.1 openssl抽象IO 347.2 数据结构 347.3 BIO函数 367.4 编程示例 367.4.1 membio 367.4.2 filebio 377.4.3 socketbio 387.4.4 mdBIO 397.4.5 cipherBIO 407.4.6 sslBIO 417.4.7 其他示例 42第八章 配置文件 438.1 概述 438.2 openssl配置文件读取 438.3 主要函数 448.4 编程示例 44第九章 随机数 469.1 随机数 469.2 openssl随机数数据结构与源码 469.3 主要函数 489.4 编程示例 48第十章 文本数据库 5010.1 概述 5010.2 数据结构 5110.3 函数说明 5110.4 编程示例 52第十一章 大数 5411.1 引见 5411.2 openssl大数表示 5411.3 大数函数 5511.4 使用示例 58第十二章 BASE64编解码 6412.1 BASE64编码引见 6412.2 BASE64编解码原理 6412.3 主要函数 6512.4 编程示例 66第十三章 ASN1库 6813.1 ASN1简介 6813.2 DER编码 7013.3 ASN1基本类型示例 7013.4 openssl的ASN.1库 7313.5 用openssl的ASN.1库DER编解码 7413.6 Openssl的ASN.1宏 7413.7 ASN1常用函数 7513.8 属性证书编码 89第十四章 错误处理 9314.1 概述 9314.2 数据结构 9314.3 主要函数 9514.4 编程示例 97第十五章 摘要与HMAC 10015.1 概述 10015.2 openssl摘要实现 10015.3 函数说明 10115.4 编程示例 10115.5 HMAC 103第十六章 数据压缩 10416.1 简介 10416.2 数据结构 10416.3 函数说明 10516.4 openssl中压缩算法协商 10616.5 编程示例 106第十七章 RSA 10717.1RSA引见 10717.2 openssl的RSA实现 10717.3 RSA签名与验证过程 10817.4 数据结构 10917.4.1RSA_METHOD 10917.4.2 RSA 11017.5 主要函数 11017.6编程示例 11217.6.1密钥生成 11217.6.2 RSA加解密运算 11317.6.3签名与验证 116第十八章 DSA 11918.1DSA简介 11918.2 openssl的DSA实现 12018.3 DSA数据结构 12018.4 主要函数 12118.5 编程示例 12218.5.1密钥生成 12218.5.2签名与验证 124第十九章DH 12619.1 DH算法引见 12619.2 openssl的DH实现 12719.3数据结构 12719.4 主要函数 12819.5 编程示例 129第二十章
2018/2/16 22:25:54 354KB openssl
1
基于单片机的温控风扇的设计摘要温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇、现在笔记本电脑上的广泛应用的智能CPU风扇等。
本文设计了基于单片机的温控风扇系统,采用单片机作为控制器,利用温度传感器DS18B20作为温度采集元件,并根据采集到的温度,通过一个达林顿反向驱动器ULN2803驱动风扇电机。
根据检测到的温度与系统设定的温度的比较实现风扇电机的自动启动和停止,并能根温度的变化自动改变风扇电机的转速,同时用LED八段数码管显示检测到的温度与设定的温度。
关键词:单片机、DS18B20、温控、风扇第一章整体方案设计1.1前言在现代社会中,风扇被广泛的应用,发挥着举足轻重的作用,如夏天人们用的散热风扇、工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等。
而随着温度控制技术的发展,为了降低风扇运转时的噪音以及节省能源等,温控风扇越来越受到重视并被广泛的应用。
在现阶段,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度的变化进行自动无级调速,当温度升高到一定时能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。
随着单片机在各个领域的广泛应用,许多用单片机作控制的温度控制系统也应运而生,如基于单片机的温控风扇系统。
它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能控制。
它的设计为现代社会人们的生活以及生产带来了诸多便利,在提高人们的生活质量、生产效率的同时还能节省风扇运转所需的能量。
本文设计了由ATMEL公司的8052系列单片机AT89C52作为控制器,采用DALLAS公司的温度传感器DS18B20作为温度采集元件,并通过一个达林顿反向驱动器ULN2803驱动风扇电机的转动。
同时使系统检测到得环境温度以及系统预设的温度动态的显示在LED数码管上。
根据系统检测到得环境温度与系统预设温度的比较,实现风扇电机的自动启停以及转速的自动调节。
1.2系统整体设计本设计的整体思路是:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理,在LED数码管上显示当前环境温度值以及预设温度值。
其中预设温度值只能为整数方式,检测到的当前环境温度可精确到小数点后一位。
同时采用PWM脉宽调制方式来改变直流风扇电机的转速。
并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。
系统结构框图如下:结论本次设计的系统以单片机为控制核心,以温度传感器DS18B20检测环境温度,实现了根据环境温度变化调节不同的风扇电机转速,在一定范围能能实现转速的连续调节,LED数码管能连续稳定的显示环境温度和设置温度,并能通过两个独立按键调节不同的设置温度,从而改变环境温度与设置温度的差值,进而改变电机转速。
实现了基于单片机的温控风扇的设计。
本系统设计可推广到各种电动机的控制系统中,实现电动机的转速调节。
在生产生活中,本系统可用于简单的日常风扇的智能控制,为生活带来便利;
在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调节。
综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。
附录2:程序代码#include#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1^7;sbitkey1=P1^3;sbitkey2=P1^4;sbitdianji=P3^1;floatff;uinty3;ucharshi,ge,xiaoshu,sheding=20,gaonum,dinum;ucharcodedispcode[]={//段码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcodetablel[]={//带小数点的段码0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};uchardispbitcode[]={//位选0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchardispbuf[8]={0,0,0,0,0,0,0,0};voidDe
2018/6/1 19:43:36 624KB 单片机 温度控制 风扇
1
共 54 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡