基于单片机报警器程序_第1页
基于单片机报警器程序_第2页
基于单片机报警器程序_第3页
基于单片机报警器程序_第4页
基于单片机报警器程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于单片机报警器程序 作者: 日期: #nclue usged char ,,s,x, or,cn; /电子表的各个位信号 x 显示字 位置控制 unsign d nt fo t,i;/ 6 位有效数字 eg:456 5 unsigned ar ; unsigned char a =,0,; /注意 5 个数数组内是 5 而不是 4 si start P34;/启动 D sbit OE=P37; 启动输出数据 b EOC P33; /转换结束 sbitL=P 6; /D 始终模拟 bitRc t; code usined char edcod=0 xe,012,xb,0 xb6,0 xd2

2、,xE6,0 ee,0 x32, xfe,0 xf6; cde u gned char edcod1=0 x7 , 0 x 3,0 xb ,0 xb , xd ,0 xE7,0f,0 x,0 xff,0 xf7 ;/带小数点的字形码 定时器初始化子程序 - - - - - */ oid Ini_Ti er0(v ) TMO =0 x0 ; TH0= d1; T0=0 xd1;/定时 0.5ms EA=; ET01; T0=1; /*- - - 串口初始化子程序 -* vod itCom(v id)/初始化串口 SCON=050;/0101 00B,工作方式 1,位 RT,波特率可变 ,允 许接

3、收 TMO|0 x0; T1 工作于方式 2 自动重装 CON|=4; /定时器 1 开始计数 T11 T1=25 ; /T1 计数初值 波特率为 4800 TL=5; RI=0; I=0;/清发送接收标志 E=1;/ 开串口 * - - - - 显示子程序 */ vid dis lay(un nd chr um) witc( num) case 0: r foat/100 ; /3 0=ior; P1=l dcod ior; 0=0 x7e; x+; break ; cse 1: i ( at- 00 0 a0)/1000; P1= edcod or; a=io ;/5 P0=0 fd; +

4、; bre k; case : or(foat-10000* 10*a)/10; P1=l dcodi ; a2ior;/3 0= x ; x+; ak; ca e 3: i=(fa-1000a01000*a 10*a2)/10; Pldcodior ; a3 =i r;/1 P0=0 xf7 ; x+; break; ca e 4: /6 ior=foa 1000*a0- 00*a -100 a2-0; 1=edco o; 4=ior; 0=0 x f; x+; ea; ca 5: ir=foat-1 00*a01000*a1-1 *a2-10a; /6 P1=ledco ior; P0=0

5、 x f; x+; break; efault: br k; 串口发送 d omO( vo)/向串口发送数据 unsi ned char i; for(i=;i+) S a i;/发送数据 while(! I);/等待发送完成 TI=0; SBUF=0 x0; le(!TI);/等待发送完成 TI0; SBUF 0 x0; wh (!TI );/等待发送完成 T=; SUF=0 x; whil(!TI) ;/等待发送完成 TI0; 延时函数 - - - - - */ void lay (uns ed int i) whie(-); /* *主函数 * * * * * min() Recd t0

6、; x0; P20ff;/ 2口工作于读 ,所以先写 1,阻断内部的 cmos EOC=1;/ I Tim r0() ; niom(); hl( 1) if(i=79)/开始的时候这里没加采样时间 (79 0 5=3.9 s),导 致始终无法采样到信号 eay(8000) ; /为了使数码管的数字让人眼能够分辨。增加了这个延 时 st rt=0; sart= ;/AD 在上升沿复位,在下降沿开始转换 (S端给出一个 至少有 1 ns 宽的正脉冲信号 ) st t=0 ; delay(8); /转换时间为 0 if(OC=1) /查询高电平的到来。 转换完毕 D0809 的 O会输出一个 高电平 O1;/打开 -将数据发出到单片机的 P2 口 y(2); fat=*16; OE= ;/输出数据线呈高阻状态 f( ecat) Re dat=0 ; CmOut(); /* * * * * * */ /*- - 定时器中断子程序 - - - - -*/ voi Timer0_i r(vod) i erru t 1 usng 2 i+; CLK CLK;/为AD 转换提供时钟周期 .5 20hz i(i=8 )/每 .05ms*50 25ms 调用一次显示 =0; if( =6) x 0; dis lay(x); /*- - - 串口中断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论