找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2647|回复: 2
打印 上一主题 下一主题
收起左侧

上传一个简单的ad模数转换的程序,大家可以参考参考

[复制链接]
跳转到指定楼层
楼主
ID:114463 发表于 2016-4-15 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我在刚开始是接触单片机的时候写的一个ad转换的小程序,大家互相交流学习

#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;
}

}










评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:245836 发表于 2017-11-4 11:53 | 只看该作者
很好  可以可以
回复

使用道具 举报

板凳
ID:501429 发表于 2019-3-30 21:37 | 只看该作者
题主这个是郭天祥的十天学会单片机的程序,
我自己编了一下,和你的一样,但是就是不知道错在哪里只亮第一个灯第二第三个不亮,问题出在哪里尼?
#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--);       



                }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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