音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

幫忙檢查一下程序是否有問題

作者:yys0916 欄目:技術交流
幫忙檢查一下程序是否有問題
請教個問題:為什么我的TLC1549每次轉換后高二位的值不
對?在線仿真的結果總是Bit9=1,也就是最高位總是1,而低
8位的值卻沒有問題,經(jīng)過換算后與實際相差無幾?
程序如下,請師兄師弟們指教!

;    ADC-TLC1549TEST
CS    EQU    p1.2
CLk    EQU    p1.0
SDO    EQU    p1.1
    ORG    00H
    
START:    
    MOV    P1,#0FFH
    MOV    R6,#00H    ;存放高2BIT
    MOV    R7,#00H    ;存放低8BIT
    MOV    30H,#00H
    CLR    CS    ;芯片有效
    MOV    R0,#10    ;先送10個CLOCK
RR0:    SEtB    CLk
    NOP
    CLR    CLk
    DJNZ    R0,RR0
    ACALL    DELAY    ;間隔時間,要小于21微秒
    MOV    30H,R6    
    ACALL    COMMOND    ;取數(shù)子程序
    ;MOV    R6,30H
    SEtB    CLk
    NOP
    CLR    CLk
    ;MOV    30H,R6
    ACALL    COMMOND    ;取數(shù)子程序
    MOV    R6,30H    ;高2BIT存入R6
    MOV    R0,#8    ;取低8BIT
RR2:    SEtB    CLk
    NOP
    CLR    CLk
    MOV    30H,R7
    ACALL    COMMOND    ;取數(shù)子程序
    MOV    R7,30H
    DJNZ    R0,RR2
    MOV    R7,30H    ;低8BIT存入R7
    
OK:    JMP    OK
COMMOND:    CLR    C
    MOV    C,SDO
    MOV    A,30H
    RLC    A
    MOV    30H,A
    RET
DELAY:    MOV    R5,#10    ;不知道時間準不準
    DJNZ    R5,$    ;說明上要求小于21微秒
    RET
END





2樓: >>參與討論
雁舞白沙
給個程序看看
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>

#define uCHAR unsigned CHAR
#define uint  unsigned int

sbit    clk    = p1^3;        //ad_clk
sbit     cs    = p1^5;        //ad_cs
sbit     dout    = p1^4;        //ad_dout

uint adc(void);            //ad convert
void delay(uCHAR us);        //delay
uint result=0;                //the result of ad convert

main()
{  
  for(;;)
   {float u1=0;
    u1=adc();
    result=(500*(u1))/(1024);
    _nop_();
   }      
}

uint adc(void)
{
  uint  u=0;
  uCHAR i;
  cs=1;
  _nop_();
  cs=0;
  for(i=0;i<10;i++)        //read data
   {
     clk=0;
     u=(u<<1)|dout;
     clk=1;
     _nop_();      
   }
  delay(2);            //delay 25us
  cs=1;
  return(u);            //return ad data
}

void delay(uCHAR us)        //delay time
{while(us--);
}

3樓: >>參與討論
雁舞白沙
TLC1549數(shù)據(jù)采集
作者:李金浩

單片機:AT89S52

連接類型:232 |485 接口

校驗方式:CHECKSUM

開發(fā)環(huán)境:keil C



--------------------------------------------------------------------------------
僅供參考學習,請勿用于商業(yè)開發(fā).

--------------------------------------------------------------------------------

/***************************************************************************************
* 作者:李金浩                                                                         *
* E-MAIL:LTSoft918@163.com                                                            *
* QQ:67260745                                                                         *
* 晶振:11.0592M   波特率:19200     AT89S52                                           *
*                                                                                     *  
* 模塊地址設定:由P0口設定,模塊地址用于多機通信
* =================================================================================== *
*     0        1              2            3         4            5         6         *
* |---------------------------------------------------------------------------------| *
* |[操作符] | [PORT]|    [位號]       | [數(shù)據(jù)]  | 模塊地址 |CHECKSUM  |固定結束符   | *
* |---------+-------+-----------------+---------+----------+----------+-------------| *
* |錯誤:0xFF| XX    |        XX       |    XX   |    XX    |  XX      |    0x7e     | *  
* |---------+-------+-----------------+---------+----------+----------+-------------| *
* |寫:0x01  | 0~3   | 0~7|8為完全數(shù)據(jù) |  數(shù)據(jù)   |    XX    |  XX      |    0x7e     | *
* |---------+-------+-----------------+---------+----------+----------+-------------| *
* |讀:0x02  | 0~3   | 0~7|8為完全數(shù)據(jù) |    XX   |    XX    |  XX      |    0x7e     | *
* |---------+-------+-----------------+---------+----------+----------+-------------| *
* |EA:0x03  |  XX   |00:寫 .. 01讀取  | 00(01)  |    XX    |  XX      |    0x7e     | *
* |---------------------------------------------------------------------------------| *



*==========================TLC1549數(shù)據(jù)采集============================================*
*  ADCLK=P2^0                                                                         *
*  ADOUT=P2^1                                                                         *
*  ADCS=P2^2                                                                          *
*     0        1              2            3         4            5         6         *
* |---------------------------------------------------------------------------------| *
* |[操作符] |采集次數(shù) |      高位     |   低位  | 模塊地址  | CHECKSUM |固定結束符  | *
* |---------+---------+---------------+---------+-----------+----------+------------| *
* |AD:0x04  |  XX     |       XX      |    XX   |    XX     |   XX     |   0x7e     | *
* |---------------------------------------------------------------------------------| *
4樓: >>參與討論
yadog
re
樓上的程序好規(guī)范哦

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
信號完整性測試
哪位有ipc55標準的文檔共享一下?!
請教超聲波測距問題,誰用過UCM40R,深圳哪里可以買到?
請教 PWM輸出方式的語音芯片編解碼的方式?
大家?guī)臀铱纯催@是什么器件!
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號