标题: 用学习板随便写的,大家交流下。 [打印本页]

作者: fenggou82    时间: 2009-12-16 19:32
标题: 用学习板随便写的,大家交流下。

/************************************************
跳线设置:J2的23端插上跳线帽,双排针除PSEN外全部插上,J7拔掉
晶振:11.0592M
显示效果:
         1,在Q9上插入光敏或者热敏电阻,在数码管上显示数字量
        如用手遮住Q9上的光,则可看到数字的变化
相关知识点:
         1,类似ADC0804数模转换的操作
************************************************/

#include"AT89x52.h" 
#define uint unsigned int
#define uchar unsigned char

sbit ADC0804_SC=P2^0;
sbit ADC0804_RD=P3^7;
sbit ADC0804_WR=P3^6;


sbit DUAN=P2^6;     //74HC573的LE端    LED的段选端
sbit WEI=P2^7;      //74HC573的LE端    LED的位

void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

void adc0804_start()           //AD0804的启动函数
{
 ADC0804_WR=1;
 ADC0804_WR=0;
 ADC0804_WR=1;
}


main()
{
 uchar ADC0804_data;
 ADC0804_SC=0;                 //让SC一直为低    
          WEI=1;
          P0=0xff;
 WEI=0;            
 while(1)
 {
  adc0804_start();          //启动ADC0804
  delay(5);                 //延时 
  ADC0804_RD=0;             //RD为低
  delay(5);                 //延时
  ADC0804_data=P1;          //将ADC0804的数据传出
  delay(5);                 //延时
  ADC0804_RD=1;              //RD为高
  delay(5);                 //延时
  P0=ADC0804_data;
  
   }                            //这个函数在原来的动态扫描中直接调用就行了
}


[此贴子已经被作者于2009-12-16 19:32:41编辑过]

作者: fenggou82    时间: 2009-12-16 19:35
以前程序是将光灭电阻返回的值给数码管。我把他给发光二极管。一会把数据给1602液晶看行不?先焊几个脚。哈哈

[此贴子已经被作者于2009-12-16 19:43:37编辑过]





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1