打印

被WicePlus 困惑了几天

[复制链接]
4015|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大金|  楼主 | 2009-9-7 10:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
大金|  楼主 | 2009-9-8 09:31 | 只看该作者
现在没有人玩义隆了吗?
请大家讨论下,一现在都在用什么单片机,我是想找低价位的单片机,最好是有A/D的

使用特权

评论回复
板凳
思考| | 2009-9-8 10:12 | 只看该作者
呵呵,为什么用义隆的啊?资料少,服务态度又差.改用合泰或者松翰的吧.

使用特权

评论回复
地板
haohuan| | 2009-9-8 13:00 | 只看该作者
elan确实不咋的,不知道他们在牛B什么。

使用特权

评论回复
5
谈的元| | 2009-9-8 21:47 | 只看该作者
你用C就贴出源代码呀!

不过尽量用汇编吧,资源这么紧张

使用特权

评论回复
6
谈的元| | 2009-9-8 21:58 | 只看该作者
你应该INCLUDE 这个文件吧

使用特权

评论回复
7
大金|  楼主 | 2009-9-9 14:35 | 只看该作者
帮我看看吧~!
#include "Em78p458.h"
#define uchar unsigned char
#define uchar unsigned char
#define uint  unsigned int
const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
                        0x07,0x7f,0x6f};//共阳码
const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
                        0x87,0xff,0xef};//带小数点的共阳码
void delay(uint x)
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=110;b>0;b--);
}
void into()
                {
                PORT6=0x01;
                PORT5=0xE0;
            ADCOM=0x08;
            GCON=0x00;
            ADCMPCON=0x01;
            ADPD=0x01;
            delay(10);
            }
uint get_ad()
{
        uint adval;//十六位的数要用 uint来存储
        float advalf;
        ADGO=1;
        while(ADGO);
        adval=ADRESH;//00000000 00000011
advalf=adval/255.0*5;//注意,在这句话中255要加“.0”是因为结果出来要是浮点数
adval=advalf*1000;
        return (adval);       
}
void main()
{        uint i;
        uint a,b,c,d;
into();
while(1)
{i=get_ad();
a=i/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
disp(a,b,c,d);
        }
}

使用特权

评论回复
8
elan_zh| | 2009-9-9 15:29 | 只看该作者
看看你的Em78p458.h头文件中是否有PORT6的定义。应该能很快知道答案的。

使用特权

评论回复
9
大金|  楼主 | 2009-9-15 11:07 | 只看该作者

include 里有的啊 static unsigned int PORT5 @0x05: rpage 0;
                       static unsigned int PORT6 @0x06: rpage 0;
我是搞不懂了,头都发涨了!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

166

帖子

0

粉丝