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

下载本文档

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

文档简介

1、基于单片机报警器程序作者:日期:# i nclu d eu n s i g n ed char t , m , s,x, i or,cn;/电子表的各个位信号 x显示字位置控制unsigned i nt fo a t,i; /6 位有效数字 eg: 4. 56 8 4 5unsigned c h ar i o r ;unsigned char a 5 = 0 , 0 , 0 ,0, 0 ; /注意 5 个数数组内是 5 而不是 4sb it start =p3a4;启动 a dsbit oe=p3a7;/启动输出数据s b i teoc = p3a3; /转换结束sbit clk=p 3 a6

2、; ad 始终模拟 bit r e c d at;code u n si g ned char 1 edcod =0x 7 e, 0 x 12, 0 xb c ,0xb6,0xd2 , 0 xe6,0 x ee, 0x32, oxfe, 0xf6;c o de u n s i gned char 1 edcod1=0x7 f , 0x 1 3,0xb d ,0xb 7 , 0 xd3 ,0xe7,0 x e f,0x 3 3 ,0xff,0xf7; 带小数点的字形码 / */ 定时器初始化子程序v oid ini t _ti m er0(v o i d )tmo d | =0x0 2 ;th0

3、= 0 x d1;tl0=0xd1;/定时 0. 0 5msea= 1 ;et0 = 1;tr0=1 ;/*- -串口初始化子程序/vo i d i n itcom(v o id)初始化串口scon |=0x50;/0101 0 00 0 b,工作方式1, 8位ua rt,波特率可变,允许接收tmod|=0x2 0;/t1工作于方式2自动重装tcon|= 0x40;/定时器1开始计数tr1 = 1th 1=25 0 ;/t1计数初值 波特率为4800tl 1 = 2 5 0 ;ri=0;ti=0;清发送接收标志es=1;/ 开用口显小了程序_ _ _ _ _ _ _ */v o id dis

4、p lay(un signed ch ar num) s witc h ( num) case 0:i o r= foat/100 0 0 ; /3a 0=ior;p1=l e dcod 1 ior;p 0=0x7e;x+; break ; c a se 1:io r = ( f o at- 1 00 0 0* a 0 )/1000;p1= 1 edcod i or;a 1 =io r ;/5p0=0 x fd;x + ; bre a k; case 2 :i or=(foat-10000* a 0 10 0 0 *a 1 )/1 0 0;p1=l e dcodi or;a 2 = ior;

5、/3p 0= 0 x f b ; x+;b r e ak;ca s e 3:io r =(foat-100 0 0 * a0 1000*a 1 1 0 0 *a2)/10;p 1 = l e dcodior ;a3 =i o r;/1p0=0xf7 ;x+ +; break;ca s e 4:/6ior=foa t - 1 0 000*a 0- 1 0 00*a 1 -100 * a2- 1 0 * a 3 ;p 1= 1 edco d i o r ;a 4=ior;p 0=0x e f;x+;b r ea k ;ca s e 5:i o r=foat-1 0 00 0 *a0 1000*a1

6、-1 0 0 *a2 -10 * a 3 ; /6 p1=ledco d ior;p0=0x d f;x+;break;d efault:br e a k;/* 串口发送 * /void c omo u t ( vo i d )/向串口发送数据 unsi g ned char i;for(i= 0 ; i 5 ;i+)sb uf = a i;/发送数据 twhile(! ti);/等待发送完成ti=0;sbuf=0x0;w h i le(!ti);/等待发送完成ti = 0;sbuf=0x0;wh i 1 e (!ti) ;/等待发送完成t i = 0 ;s b uf=0x 0 ;whil e

7、 (!ti) ;/等待发送完成ti = 0;/* 延时函数*/void d e lay (uns i g n ed int i)whi 1 e( i -);/* * * 主函数 * * * * * * * * * * /m a in ()recd a t=0;x=0;p2 = 0xff;/ p 2 口工作于读,所以先写1,阻断内部的cmoseoc=1;/ini t _ tim e r0();i ni t c om ();while (1)if (i=79)/开始的时候这里没加采样时间(79 * 0. 0 5=3.9 4 m s),导致始终无法采样到信号del ay(8000) ;/为了使数码管

8、的数字让人眼能够分辨。增加了这个延时st a rt=0;s t art= 1 ;/ad在上升沿复位,在下降沿开始转换(st端给出一个至少有10 0ns宽的正脉冲信号)st a r t=0;delay(8);/转换时间为2 0u sif(eoc = =1) /查询高电平的到来。转换完毕a d0809的eoc会输出一个高电平o e = 1 ;/打开一-将数据发出到单片机的p2 口d e 1 a y(2);fo at=p 2 *1 9 6;oe= 0 ;/输出数据线呈高阻状态i f(r ec d at)re c dat=0 ;c o mout();/* * * * * */* - -定时器中断子程序-*/voi d timer0_i s r(vo id) i n t erru pt 1 us i ng 2i+;clk = clk;/为ad转换提供时钟周期0.05ms 20 khzi f (i=8 0)/每 0 .05ms*50 =2. 5ms 调用一次显示1 =0;if ( x =6) x=。;dis p lay

温馨提示

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

评论

0/150

提交评论