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

QQ登錄

只需一步,快速開始

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

上傳一個(gè)簡單的ad模數(shù)轉(zhuǎn)換的程序,大家可以參考參考

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:114463 發(fā)表于 2016-4-15 23:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是我在剛開始是接觸單片機(jī)的時(shí)候?qū)懙囊粋(gè)ad轉(zhuǎn)換的小程序,大家互相交流學(xué)習(xí)

#include <reg52.h>
#include <intrins.h>
#define        uchar        unsigned  char
#define        unit        unsigned  int
sbit dula=P2^6;
sbit wela=P2^7;
sbit adwr=P3^6;
sbit adrd=P3^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
  void delayms(unit xms)
{
        unit i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
void display(uchar bai,uchar shi,uchar ge)
{
        dula=1;
        P0=table[bai];
        dula=0;
        P0=0xff;
    wela=1;
    P0=0x7e;
    wela=0;
    delayms(50);


    dula=1;
    P0=table[shi];
    dula=0;
    P0=0xff;
    wela=1;
    P0=0x7d;
    wela=0;
    delayms(50);




    dula=1;
    P0=table[ge];
    dula=0;
    P0=0xff;
    wela=1;
    P0=0x7b;
    wela=0;
    delayms(50);
}


void main()
{
        uchar  a,A1,A2,A3,adval;
    wela=1;
    P0=0x7f;
    wela=0;
    while(1)
{
            adwr=1;
        _nop_();
        adwr=0;
        _nop_();
        adwr=1;
     for(a=10;a>0;a--)
  {
             display(A1,A2,A3);
  }
        P1=0XFF;
        adrd=1;
                _nop_();
                adrd=0;
                _nop_();
                adval=P1;
                adrd=1;
                A1=adval/100;
                A2=adval%100/10;
                A3=adval%10;
}

}










評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:245836 發(fā)表于 2017-11-4 11:53 | 只看該作者
很好  可以可以
回復(fù)

使用道具 舉報(bào)

板凳
ID:501429 發(fā)表于 2019-3-30 21:37 | 只看該作者
題主這個(gè)是郭天祥的十天學(xué)會(huì)單片機(jī)的程序,
我自己編了一下,和你的一樣,但是就是不知道錯(cuò)在哪里只亮第一個(gè)燈第二第三個(gè)不亮,問題出在哪里尼?
#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit wei=P2^7;
sbit duan=P2^6;
sbit adwr=P3^6;
sbit adrd=P3^7;

uchar code table[]={0x3f,0x06,0x5b,0x4f,
                    0x66,0x6d,0x7d,0x07,
                                                                                0x7f,0x6f,0x77,0x7c,
                                                                                0x39,0x5e,0x79,0x71};+
void display(uchar,uchar,uchar);
void delay(uchar);


void main()
                {
                        uchar a,A1,A2,A3,adval;
                        wei=1;
                        P0=0x7f;                         //cs=0;
                        wei=0;
                                while(1)
                                                {
                                                        adwr=1;
                                                        _nop_();
                                                        adwr=0;
                                            _nop_();
                                                        adwr=1;
                                                 for(a=10;a>0;a--)
                                                                {
                                                                        display(A1,A2,A3);
                                                                }
                                                        P1=0xff;
                                                        adrd=1;
                                                        _nop_();
                                                        adrd=0;
                                                        _nop_();
                                                        adval=P1;
                                                        adrd=1;

                                               


                                                }
                       
                       

                }


void display(uchar bai,uchar shi,uchar ge)
                  {

                        duan=1;
                        P0=table[bai];
                        duan=0;       
                        P0=0xff;
                       
                        wei=1;
                        P0=0x7e;
                        wei=0;
                        delay(50);

                        duan=1;
                        P0=table[shi];
                        duan=0;       
                        P0=0xff;
                       
                        wei=1;
                        P0=0x7d;
                        wei=0;
                        delay(50);
                       
                        duan=1;
                        P0=table[ge];
                        duan=0;       
                        P0=0xff;
                       
                        wei=1;
                        P0=0x7b;
                        wei=0;
                        delay(50);
       
               
                                       
                       
                }


void delay()
                {
                        uint i,j,z;
                                        for(i=110;i>0;i--)
                                                        for(j=z;j>0;j--);       



                }
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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