1. #include <reg51.h>
  2. #include <stdio.h>
  3. #define uchar unsigned char //宏定义无符号字符型
  4. #define uint unsigned int //宏定义无符号整型
  5.  
  6. sbit ST=P3^; //A/D启动转换信号
  7. sbit OE=P3^; //数据输出允许信号
  8. sbit EOC=P3^; //A/D转换结束信号
  9. sbit CLK=P3^; //时钟脉冲
  10. uint i,j,AD0809; //定义数据类型
  11.  
  12. //延时子函数
  13. void delay()
  14. {
  15. i = ;
  16. while(i--);
  17. }
  18. /*************************************************************************
  19. CLK振荡信号
  20. **************************************************************************/
  21. void timer0( ) interrupt //定时器0工作方式1
  22. {
  23.  
  24. TH0=(-)/; //重装计数初值
  25. TL0=(-)%; //重装计数初值
  26. CLK=!CLK; //取反
  27. }
  28.  
  29. /*************************************************************************
  30. 主函数
  31. **************************************************************************/
  32. void main()
  33. {
  34. TMOD=0X01; //定时器中断0
  35.  
  36. CLK=; //脉冲信号初始值为0
  37. TH0=(-)/; //定时时间高八位初值
  38. TL0=(-)%; //定时时间低八位初值
  39. EA=; //开CPU中断
  40. ET0=; //开T/C0中断
  41. TR0=;
  42. while() //无限循环
  43. {
  44. ST=; //使采集信号为低
  45. ST=; //开始数据转换
  46. ST=; //停止数据转换
  47. while(!EOC); //等待数据转换完毕
  48. OE=; //允许数据输出信号
  49. AD0809=P1; //读取数据
  50. OE=; //关闭数据输出允许信号
  51. if(AD0809>=) //电压显示不能超过5V
  52. {
  53. AD0809=;
  54. P2 = 0xE0;//报警闪烁LED灯
  55. delay();
  56. P2 =~0xE0;
  57. delay();
  58. P0 = ~0x06;//数码管报警显示1
  59. delay();
  60. P0 = ~0x00;
  61. delay();
  62. }
  63. }
  64.  
  65. }

基于AT89C51单片机烟雾传感器的更多相关文章

  1. 基于AT89C51单片机的贪吃蛇电子游戏(仿真)

    有关贪吃蛇的历史发展可以看一下这个网址,贪吃蛇最初的设计和现在并不相同..http://www.techweb.com.cn/internet/2013-02-21/1278055.shtml 该项目 ...

  2. [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】

              come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel ...

  3. ET 与RETI 基于51单片机中断跳出指令“RETI”浅议

    最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”.在有过单片机中断编程经历者都知道当EA=1,ET0=1的 ...

  4. 基于51单片机IIC通信的PCF8591学习笔记

    引言 PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入.一个输出和一个串行I2C 总线接口.3 个地址引脚A0.A1 和A2 用于编程硬件地址,允许将最多8 个器件连接 ...

  5. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  6. 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)

    本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...

  7. 基于51单片机个LCD1602的万年历程序

    小白 第一次跟新博客 基于51单片机和LCD1602的万年历程序 可实现走时和调时功能 有简单的1602菜单制作 欢迎大家交流 LCD1602和51单片机的连接方法 RS = P3^5; //数据/命 ...

  8. 基于51单片机的CAN通讯协议C语言程序

      //-----------------------函数声明,变量定义-------------------------------------------------------- #includ ...

  9. 基于STC51单片机的霓虹灯

    基于STC51单片机的霓虹灯 设计要求: 使用PWM驱动8个LED灯 人眼不能观察到灯光全灭 灯光要有动画效果 设计概述: ​  按照设计要求,为了更直观的说明脉冲宽度调制技术(PWM),所以霓虹灯的 ...

随机推荐

  1. Plain Old Data (POD) (转)

    定义 POD类型包括下述C++类型,以及其cv-qualified的类型,还有以其为基类型的数组类型: 标量类型(scalar type) POD类类型(POD class type) 标量类型 术语 ...

  2. 从零开始 DOM操作 笔记

        <div id="box" class="box"></div>   --> var myBox = document.g ...

  3. K8s-Pod

    一:Pod-资源对象概述 Pod是k8s系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在k8s上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展P ...

  4. Controller中方法返回值其他类型需要添加jackson依赖

    第一个 第二个: 第三个 https://www.cnblogs.com/codejackanapes/p/5569013.html:json的博客园 springmvc默认的是:2.Jackson: ...

  5. IDEA中tomcat的部署

    创建一个项目就要部署tomcat

  6. Tomcat使用

    打开Tomcat官网 在浏览器地址栏输入: tomcat.apache.org,按回车 下载Tomcat 把目光移动至网页左边红匡处,点击Tomcat8 网页下移 点击箭头所指的链接 运行Tomcat ...

  7. java.io几种读写文件的方式

    一.Java把这些不同来源和目标的数据都统一抽象为数据流. Java语言的输入输出功能是十分强大而灵活的. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作 ...

  8. paython3-练习

    在文本每行末尾加; f = open(r'D:\test1\1.txt','rb') w = open(r'D:\test1\2.txt','wb') for line in f.readlines( ...

  9. Html列表分页算法

    public class PageHelper { /// <summary> /// 标签 /// </summary> public string Tag { get; s ...

  10. git tag用法

    git tag //查看tag git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233 //在某个commit 上打tag git tag. ...