APDS9930-C51程序只有对该模块基本初始化,调用的代码,没有其他的花里胡哨,主程序十分简洁。
只有最有用的,没有多余的,方便阅读。
2023/10/18 21:22:16 42KB 手势识别 APDS9930 C51 详细
1
LCD12864(KS0108)C51程序,经过测试不存在任何问题。
采用AT89S52单片机编写,非常好用,对于没有字库的LCD12864都可以参考写法
2023/10/15 9:40:54 421KB LCD12864(KS0108) s52单片机
1
keilC写的AD7705读取双通道数据,并在1602上显示出来的C51程序,试验通过
2023/6/7 1:01:42 29KB AD7705 1602 液晶
1
AD7705的C51程序/***********************************************************程序名称:16bitA/DAD7705驱动程序作者:shengtuo作者评价:测试过。
工业低速测量广泛使用收集整理:amo************************************************************/sbitAdClk=P1^3;/*AD7705时钟脉冲*/sbitAdDout=P1^4;/*AD7705数据输出的反相脉冲*/sbitAdDin=P1^5;/*AD7705数据输入脉冲*/#defineCH11/*AD7705输入通道IN1*/#defineCH22/*AD7705输入通道IN2*/#defineBIPOLAR0/*AD7705双极性输入*/#defineUNIPOLAR1/*AD7705单极性输入*/#defineAD_CLK_WIDTH1/*AD7705串口时钟脉冲宽度*//*AD7705软件延时*/
2017/11/12 3:19:26 50KB AD7705
1
单片机原理与C51程序设计基本教程书中代码课件之类的
1
关于Proteus仿真ADC0809,说明以下几点:1、在Proteus中,ADC0809是不可仿真的。
但可以用ADC0808代替ADC0809进行仿真。
ADC0808与ADC0809有相同的引脚,功能极为相似。
在Proteus中,可以认为:ADC0808就是ADC0809。
2、说明几个关键引脚的输出信号:1)OE数据输出允许信号,高电屏有效(意思就是,当OE接高电屏时才允许将转换后的结果从ADC0808的OUT1~OUT8引脚输出,否则,在内部锁存)。
2)ADC0808的ALE信号(22引脚),以及START信号(6引脚)ALE称为“地址锁存允许信号”,高电屏有效。
就是说:ALE=1时,允许将ADDA~ADDC的地址输入到ADC0808的内部译码器,经过译码后选定外部模拟量的输入通道。
START信号,这是一个必须重点掌握的信号,向START送入一个高脉冲,其上升沿使ADC0808内部的“逐次逼近寄存器SAR”复位,其下降沿可以*启动A/D转换,并同时使EOC引脚为低电平*(两个*之间的内容必须牢记!)。
应注意到:ALE是高电屏有效,而START的有效部分只是上升沿和下降沿,所以在连接电路时可以将ALE信号与START信号连接到一起,使它们在同一个脉冲上各取所需。
3)EOCAD转换结束的标志信号,在AD转换结束时成现高电屏。
不能通过以下方式使EOC恢复低电屏:假设EOC连到P1.0口上,企图通过CLRP1.0使EOC恢复低电屏是不可行的。
在Proteus仿真时,会出现黄色信号,表示短路。
在实际当中,短路是非常可怕的事情。
千万注意:EOC是靠START的下降沿清零的!4)在Proteus中,ADC0808的时钟信号要用DCLOCK产生(应该知道啥是DCLOCK吧?),因为在Proteus仿真中,当不外接扩展ROM时,单片机的ALE信号(注意,不是ADC0808的ALE信号!)在Proteus仿真中不会出现,因此即使外接74LS74作分频也不会得到时钟信号。
发点牢骚:很多高校都以ADC0809作为AD转换的代表芯片来讲解,但却不细说其工作过程和工作原理。
我们杨红梅老师上课这样说的:“当程序执行到MOVX@DPTR,A的时候,会启动AD转换”。
我不理解为什么执行到这里就启动AD转换了,于是说道:“老师,这里我不理解。
”作为一名十分有责任感的副教授,她是这样回答的:“就是执行到这里就启动了,你还想理解到什么程度?”……令我实在无语。
于是我到校图书馆翻阅了一些相关的高校教材,其各书所述大同小异,也没什么收获,现在的高校教材呀!不得不令人怀疑有抄袭之嫌。
后来,在清华大学出版社出版的《单片机原理与应用及C51程序设计》一书中获得了一些启发,又亲身动手做了仿真,才略懂一二。
对于希望学好单片机的同仁,我有一点小常识奉送,就是:务必学会读懂时序图,即使老师上课不讲,自己也要自学,并学会。
我写的这个程序极其短小,重点在于使读者通过仿真控制理解上述关键信号的作用,进而理解ADC0808的工作过程和工作原理。
为了减少赘余,突出重点,并没有用单片机对AD转换后的数字信号行处理,而是通过ADC0808的OUT1~OUT8引脚直接输出。
希望看过此例的同仁能通过此例真正学懂ADC0808(也即是:ADC0809)。
相关的时序图,百度上有丰富的资源,在这里就不赘赠了,请见谅。
2016/5/5 21:26:50 37KB Proteus AD转换 单片机
1
ad9851——DDS包含程序STM32程序C51程序以及资料,STM32程序有本人亲身调试。
2020/2/19 18:03:14 5.19MB ad9851 DDS 程序STM32 C51
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
HC-SR04超声波测距C51精度2MM,调试经过
2022/9/4 7:01:48 50KB HC-SR04 超声测距 精度2MM
1
基于rda5820和stc15系列单片机制造的一个收发一体收音机完整c程序,超详细注释
2022/9/2 23:25:03 28KB rda5820 c51 stc
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡