找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3499|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

為什么我用ADC0808寫的程序沒有反應(yīng)的

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:91274 發(fā)表于 2016-3-25 20:48 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>
sbit ALE = P3^3;
sbit OE  = P3^4;
sbit EOC = P3^5;
sbit STA = P3^6;
sbit CLK = P3^7;
unsigned int  num;               //AD轉(zhuǎn)換后的數(shù)字量
char  ch;                        //通道號(hào)碼
//          延時(shí)函數(shù)
void  delay(unsigned int z)      
{
    unsigned int  x, y;
    for(x = z; x > 0; x--)  for(y = 110; y > 0; y--)  CLK = ~CLK;
}
//    數(shù)碼管顯示函數(shù)
void  display(void)
{
    char code table[] = {                              //共陰段碼
      0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,  //0~7
      0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //8~F
    P0 = 0; P2 = 0xf7; P0 = table[ch];              delay(2);//通道號(hào)碼
    P0 = 0; P2 = 0xfb; P0 = table[num / 100] + 128; delay(2);//百位加上小數(shù)點(diǎn)
    P0 = 0; P2 = 0xfd; P0 = table[num % 100 / 10];  delay(2);//十位
    P0 = 0; P2 = 0xfe; P0 = table[num % 10];        delay(2);//個(gè)位
    P0 = 0;                                            //關(guān)閉顯示器
}
//     轉(zhuǎn)換函數(shù)
void main(void)
{
    while(1) {                   //無窮循環(huán)
      ch = P2 / 32;              //取來通道號(hào)碼
      P3 = ch + 0xf8;            //送給ADC0808
      ALE = 1;  ALE = 0;         //地址鎖存
      STA = 1;  STA = 0;         //開始轉(zhuǎn)換,稍候,才可讀EOC
      display();                 //顯示,既做延時(shí),又輸出CLK
      while(EOC == 0)  display(); //等待轉(zhuǎn)換結(jié)束
      num = P1;                  //取出轉(zhuǎn)換結(jié)果
      num = num * 100 / 51;      //比例變換:255 --> 500
}}

0808.png (25.48 KB, 下載次數(shù): 157)

0808.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表