久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

基于51單片機的TLC5615電壓發(fā)生器

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2012年02月01日   【字體:
//本程序是基于51單片機的,可由矩陣鍵盤設(shè)置TLC5615 ad芯片要輸出的電壓值,
//并由1602液晶屏顯示輸入的電壓值.
//完整代碼下載: http://www.zg4o1577.cn/f/TLC56151602.rar 
//此程序測試成功,51hei版權(quán)所有,如果需要應(yīng)用到你的項目中只需更改端口即可
#include "reg51.h"
#include"intrins.h"     //_nop_();延時函數(shù)用
#define uchar unsigned char
#define uint unsigned int
sbit CLK=P2^5;                 //三線控制
sbit DIN=P2^4;
sbit CS=P2^6;
sbit rs=P0^0;//命令/數(shù)據(jù)選擇
sbit rw=P0^1;//讀寫口
sbit e=P0^2; //鎖存控制
uchar data  dis1[15]={"output volt is:"};     //顯示兩行
uchar data  dis2[13]={".V"};
float vout;//系統(tǒng)輸出電壓
int shuzi;//給da數(shù)字量
int ge,shifen,baifen;//定義個位十分位百分位
unsigned int Data[10] = {0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039};
//延時函數(shù)
delay(uint z)
{
 uint i,j;
 for(i=0;i<z;i++)
 for(j=0;j<120;j++);
}
//鍵盤掃描函數(shù)
 saomiao (  )
{  
    unsigned char X,Y,Z;

 P3=0x0f;         //對P3置數(shù)進行行掃描
 if(P3!=0x0f)     //判斷是否有鍵按下
 {delay(40);      //延時去抖動,一般為5ms~10ms(由于機械觸點的彈性作用,按鍵在閉合時不會馬上穩(wěn)定地接通,
                  //而在閉合瞬間伴隨有一連串的抖動,鍵抖動會引起一次按鍵被誤讀多次)
  if(P3!=0x0f)    //確認按鍵按下
 {
 X=P3;            //保存行掃描時有鍵按下時狀態(tài)
 P3=0xf0;         //列掃描
 Y=P3;            //保存列掃描時有鍵按下時狀態(tài)
  Z=X|Y;           //取出鍵值
return(Z);
} 
// 取值轉(zhuǎn)換
void fa5615(uint ad)
{
 uchar i;
 CS=0;//CS拉低,開始送轉(zhuǎn)換數(shù)值;
 _nop_();
 for(i=0;i<16;i++)
 {
  if((ad&0x8000)!=0)
  {DIN=1;}
  else
  {DIN=0;}
  CLK=1;
  _nop_();_nop_();
  CLK=0;
  ad=ad<<1
  _nop_();_nop_();
 }

CLK=0;
_nop_();_nop_();
CS=1;
}
//向LCD寫一命令
wcode(uchar t)
{
 rs=0;//寫的是命令
 rw=0;//寫狀態(tài)
 e=1;
 P1=t;
 delay(7);
 e=0;//數(shù)據(jù)的鎖定
}
//向LCD寫數(shù)據(jù)
wdata(uchar t)
{
 rs=1;//寫的是數(shù)據(jù)
 rw=0;//寫狀態(tài)
 e=1;
 P1=t;
 delay(7);
 e=0;//數(shù)據(jù)的鎖定
}
//功能:LCD顯示第一行
xian1()
{
  uchar i;


  wcode(0x81);   //設(shè)置第一行顯示地址

  for(i=0;i<15;i++)
    {
      wdata(dis1[i]);
    }
}


//************************************************************************************
//功能:LCD顯示第二行
//************************************************************************************

xian2()
{
   uchar i;

   wcode(0xc0);   //設(shè)置第二行顯示地址

   for(i=0;i<13;i++)
    {
      wdata(dis2[i]);
    }
}
//功能:LCD 初始化  InitLCD
//************************************************************************************
InitLCD()
   {
    
   wcode(0x01);   //清屏

   wcode(0x06);   //輸入方式控制

   wcode(0x0e);   //顯示開關(guān)控制

   wcode(0x38);   //功能設(shè)定:設(shè)置16x2顯示,5x7顯示,8位數(shù)據(jù)接口 
    
   } 
//功能:數(shù)據(jù)分離和顯示并給數(shù)據(jù)送DA輸出
fenxiaoout(float Vo)
{
 ge=Vo*100/100;//分離得到個位值
 shifen=Vo*100;
 shifen=shifen%100/10;//十分位
 baifen=Vo*100;
 baifen=baifen%100%10;//百分位
 wcoad(0xc4);//設(shè)置個位顯示地址
 wdata(Data[ge]);//顯示個位
 wcode(0xc5);//設(shè)置第二行中小數(shù)點的顯示地址
 wdata(dis2[0]);//顯示小數(shù)點
    wcode(0xc6);        //設(shè)置分位的顯示地址
 wdata(Data[shifen]);//顯示十分位
    wdata(Data[baifen]);//顯示百分位

    wcode(0xca);        //設(shè)置單位伏特V的顯示地址
    wdata(dis2[1]);  //顯示單位伏特"V"


 shuzi=(vout/4.92)*1024*4;
    fa5615(shuzi);

}  
 //解碼函數(shù)
uchar chuli(uchar tt)
{
  switch(tt)
  {
   case 0xee:
   {
   vout=vout+1.0;
   if(vout>4.5)vout=2.0;
   fenxianout(vout);
   return(0);
   break;
   }
   case 0xde:
   {
   vout=vout-1.0;
   if(vout<0) vout=2.0;
   fenxianout(vout);
   return(1);
   break;
   }
  
    
   case 0xbe:  
   {
   vout=vout+0.1;
   if(vout>4.5)vout=2.0;
   fenxianout(vout);

   return(2);
   break;
   } 

   case 0x7e:
   {

   vout=vout-0.1;
   if(vout<0) vout=2.0;
 
   fenxianout(vout);
   return(3);
   break;
   }
    
 
   default:{return(0x10);break;} 
  }
  
}
main()
{


   uchar kk=0xff;//鍵盤掃描返回碼11111111
 

   InitLCD();    //初始化1602

   vout=2.00;
   fenxianout(vout);
    

   xian1();        //顯示第一行   

 
  while(1)
   {
      
  kk=saomiao();     //掃描鍵盤
     chuli(kk); //按鍵處理
   
 
   }
}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 91人人澡人人爽 | 成人国产精品色哟哟 | 欧美精品网站 | 免费黄色片在线观看 | 国产不卡一区 | www.xxxx欧美 | 91久久久久久久久久久久久 | 九九导航 | 黄色片大全在线观看 | 亚洲成人免费视频 | 国产精品成人在线观看 | 毛片av免费看 | 免费成人av | 国精产品一品二品国精在线观看 | 亚洲综合日韩精品欧美综合区 | 一区二区三区视频在线观看 | 国产精品免费大片 | 亚洲一区成人 | 国产精品久久久久久久久久免费看 | 日韩三区 | 中文字幕99 | 五月天激情电影 | 久久久婷婷 | 久久午夜视频 | 91精品久久久久久久久中文字幕 | 久久99精品久久久久久 | 中文字幕乱码一区二区三区 | 欧美精品 在线观看 | 偷拍亚洲色图 | 国产精品中文字幕在线 | h在线| 日韩中文在线观看 | 成人在线a | 欧美视频 | 国产福利91精品 | 日韩电影一区二区三区 | 伦理午夜电影免费观看 | 婷婷激情综合 | 视频一区在线观看 | 精品久久久久久 | 最新免费黄色网址 |