搜索
bottom↓
回复: 6

探测铁块的模块程序

[复制链接]

出0入0汤圆

发表于 2013-5-12 16:10:12 | 显示全部楼层 |阅读模式
#include<reg52.h>
#define uint unsigned int  //预定义一下
#define uchar unsigned char

   uchar  t=0; //金属块数目

sbit rs=P1^2;          //1602的数据/指令选择控制线
sbit rw=P1^1;          //1602的读写控制线
sbit en=P1^0;          //1602的使能控制线
//sbit num=P2^0;                   // 计数
sbit P07=P0^7;                                //测距

sbit Metal_DTC1=P3^2; //铁块引脚
sbit Metal_DTC2= P3^3; //铁块引脚


/*P0口接1602的D0~D7,注意不要接错了顺序*/
uchar code table[]="0123456789"; //要显示的内容1放入数组table
uchar code table1[];
void delay(uint n)       //延时函数                       
{
    uint x,y;  
    for(x=n;x>0;x--)
        for(y=110;y>0;y--);
}
void lcd_wcom(uchar com)  //1602写命令函数                 
{        

    rs=0;            //选择指令寄存器
    rw=0;            //选择写
    P2=com;            //把命令字送入P2
    delay(5);            //延时一小会儿,让1602准备接收数据
    en=1;           //使能线电平变化,命令送入1602的8位数据口
    en=0;
}
void lcd_wdat(uchar dat)        //1602写数据函数      
{
    rs=1;        //选择数据寄存器
    rw=0;        //选择写
    P2=dat;        //把要显示的数据送入P2
    delay(5);        //延时一小会儿,让1602准备接收数据
    en=1;        //使能线电平变化,数据送入1602的8位数据口
    en=0;
}
void lcd_init()              //1602初始化函数      
{
    lcd_wcom(0x38);       //8位数据,双列,5*7字形      
    lcd_wcom(0x0c);      //开启显示屏,关光标,光标不闪烁
    lcd_wcom(0x06);    //显示地址递增,即写一个数据后,显示位置右移一位
    lcd_wcom(0x01);    //清屏
}
void main()            //主函数
{   

    uchar count=0;          
        lcd_init();       //液晶初始化        
            EA=1;                    //开关总中断开关
           EX0=1;                    //打开外部中断0开关
           IT0=1;                        //触发方式设
      lcd_wcom(0x80+0x44); //重新设定显示地址为0xc4,即下排第5位           
           delay(200);
       while(1); //动态停机
}
void tikuai() interrupt 0
{   
        if(Metal_DTC1==0&&Metal_DTC2==0) //检测到金属
          t=t+1;       
        else
          t=t;
     lcd_wcom(0x80);   //显示地址设为80H(即00H,)上排第一位
           lcd_wdat(table[t]);           
          delay(200);

}                          

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2013-5-12 17:21:48 | 显示全部楼层
探雷器?

出0入0汤圆

发表于 2013-5-13 15:16:29 | 显示全部楼层
额,sbit P07=P0^7;                                //测距   跟 /*P0口接1602的D0~D7,注意不要接错了顺序*/  不冲突么?

出0入0汤圆

发表于 2013-5-13 16:49:37 来自手机 | 显示全部楼层
探铁器那里有卖哦

出0入0汤圆

发表于 2013-5-13 22:13:33 | 显示全部楼层
不用读忙信号么?LZ确定这个可以用??

出0入0汤圆

发表于 2013-5-14 09:16:09 | 显示全部楼层
  嗯  学习学习一下。。。。

出0入0汤圆

 楼主| 发表于 2013-5-23 17:22:53 | 显示全部楼层
benqme 发表于 2013-5-13 16:49
探铁器那里有卖哦

淘宝哦,应该可以买到滴
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 04:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表