⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3208.txt

📁 MCP3204/3208 测试程序
💻 TXT
字号:
  MCP3204/3208 测试程序 
  
 
   
  0
推荐一段 MCP3208 的51程序 ; Microchip MCP3204/3208 测试程序         
  CS    EQU    P1.0    ; MCP3204/3208    CS脚       
  DIN    EQU    P1.1    ; MCP3204/3208    DIN脚       
DOUT    EQU    P1.2    ; MCP3204/3208    DOUT脚        
 CLK    EQU    P1.3    ; MCP3204/3208    CLK脚    
CHANNEL0    EQU    0C0H    ; MCP3204/3208    第一个通道控制字    
CHANNEL1    EQU    0C8H    ; MCP3204/3208    第二个通道控制字    
CHANNEL2    EQU    0D0H    ; MCP3204/3208    第三个通道控制字    
CHANNEL3    EQU    0D8H    ; MCP3204/3208    第四个通道控制字    
CHANNEL4    EQU    0E0H    ; MCP3208         第五个通道控制字    
CHANNEL5    EQU    0E8H    ; MCP3208         第六个通道控制字    
CHANNEL6    EQU    0F0H    ; MCP3208         第七个通道控制字    
CHANNEL7    EQU    0F8H    ; MCP3208         第八个通道控制字                 
ORG    0000H                
AJMP   INIT               
 ORG    0100H         
INIT: MOV    A,#CHANNEL0  ;通道一控制字送ACC              
  MOV    R0,#30H      ;R0指向12位AD转换结果               
 ACALL  READ         ;读AD转换值                
MOV    A,#CHANNEL1  ;通道二控制字送ACC               
 MOV    R0,#32H      ;R0指向12位AD转换结果               
 ACALL  READ         ;读AD转换值               
 MOV    A,#CHANNEL2  ;通道三控制字送ACC                
MOV    R0,#34H      ;R0指向12位AD转换结果                
ACALL  READ         ;读AD转换值                
MOV    A,#CHANNEL3  ;通道四控制字送ACC               
MOV    R0,#36H      ;R0指向12位AD转换结果               
 ACALL  READ         ;读AD转换值               
 MOV    A,#CHANNEL4  ;通道五控制字送ACC                
MOV    R0,#38H      ;R0指向12位AD转换结果               
 ACALL  READ         ;读AD转换值                
MOV    A,#CHANNEL5  ;通道六控制字送ACC               
 MOV    R0,#3AH      ;R0指向12位AD转换结果                
ACALL  READ         ;读AD转换值                
MOV    A,#CHANNEL6  ;通道七控制字送ACC               
 MOV    R0,#3CH      ;R0指向12位AD转换结果               
ACALL  READ         ;读AD转换值                
MOV    A,#CHANNEL7  ;通道八控制字送ACC                
MOV    R0,#3EH      ;R0指向12位AD转换结果              
  ACALL  READ         ;读AD转换值               
SJMP   $        
  READ: MOV    R2,#5               
 SETB   CS               
 CLR    CS         
READ1: RLC A         ; 发送 5 Bits                                  
 ; 分别为 Start.SGL/DIFF.D2.D1.D0             
MOV    DIN,C                
CLR    CLK                
SETB   CLK               
 DJNZ   R2,READ1                
CLR    CLK                
SETB   CLK                
CLR    CLK                
MOV    C,DOUT       ; 读 Null Bit                 
JC     READER       ; 无 Null Bit 转出错               
 MOV    R2,#4                
CLR    A         
READ2: SETB   CLK          ; 读 4 Bits                                   
 ; 分别为 B11.B10.B9.B8              
 CLR    CLK               
 MOV    C,DOUT                
RLC    A                
DJNZ   R2,READ2                
MOV    @R0,A        ; R0 指向AD转换结果的高4位                
INC    R0           ; R0+1                
MOV    R2,#8        
 READ3: SETB   CLK          ; 读 8 Bits                                  
  ; 分别为 B7.B6.B5.B4.B3.B2.B1.B0               
 CLR    CLK                
MOV    C,DOUT               
 RLC    A               
 DJNZ   R2,READ3               
 MOV    @R0,A        ; R0 指向AD转换结果的低8位                
SETB   CLK                
SETB   CS                
CLR    CS                
CLR    A                
RET        
READER: CLR    A               
DEC    A               
SETB   CLK                
SETB   CS               
RET                
END
  
   
 
Alin 发表于 2007-12-21 21:18:00 阅读全文(328) | 回复(0) |反映问题 | 引用通告(0) | 编辑 

上一篇:普通单片机I/O实现多路低成本A/D方法 
下一篇:HT1621的PIC单片机源代码 
发表评论:
昵称:
密码: (游客无须输入密码)
主页:
标题:
      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -