毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

PIC单片机及FPGA实验系统设计 第21页

更新时间:2009-6-4:  来源:毕业论文
PIC单片机及FPGA实验系统设计 第21页
PORTD=dispcode[duan[4]];
 delay(8);
 PORTC=PORTC|0xff;
}
//中断服务程序,优先级人为设定
void interrupt AD_T0(void){
 if(T0IF==1){
  T0IE=0;
  diplay();
  T0IF=0;
  T0IE=1;
 }
 if(ADIF==1){
  ADIF=0;
  AD_convert();
  ADGO=1;
 }
}
void delay(unsigned char z){
 unsigned char i,j;
 for(i=0;i<20;i++){
  for(j=0;j<50;j++){
  }
 }
}
void AD_convert(void){
 Ad_Sample_Result=(ADRESL+(ADRESH<<8))<<3;                     //读取并存储A/D转换结果
 Ad_shezhi=Ad_Sample_Result;
 duan[4]=Ad_Sample_Result%10;
 duan[3]=Ad_Sample_Result/10%10;
 duan[2]=Ad_Sample_Result/100%10;
 duan[1]=Ad_Sample_Result/1000%10;
 duan[0]=Ad_Sample_Result/10000;
}
附录(十二):通信:MUC-MUC.asm
;----主机--
;-----主模式通信-----
;-------控制位和标志位设定---
cs_mcu  equ  PORTC,2    ;定义片选控制引脚
data_ok  equ  PORTB,1    ;接收数据正确指示引脚
data_err equ  PORTB,2    ;接受数据错误指示引脚
;------入口--------
   org  00H     
   nop       ;用于ICD2调试
   goto main
;-----主程序--------
main
   banksel SSPSTAT    ;选择体1(方式同bsf...bcf...)
   clrf SSPSTAT    ;清--同步接口状态和控制寄存器
   clrf TRISB    ;定义PORTB输出(同MOVLW 00H,MOVWF TRISB)
   movlw 0d7H    ;设定SD0输出,SDI输入,SCK输出
   movwf TRISC    ;设置PORTC输入输出
   clrf STATUS    ;选择体0
   clrf INTCON    ;禁止所有中断    
   clrf PIR1    ;SSPIF=0  
   clrf PORTB    ;PORTB输出复位
   bsf  cs_mcu    ;从机SS禁止
   movlw 41H     ;CKP=0,SSPEN=1,SPI主模式Fosc/16
   movwf SSPCON    ;设置SSP
LOOP  bcf  cs_mcu    ;从机SS使能
   movlw 0x55    ;向从机发送数据0x55
   movwf SSPBUF    ;写入SSPBUF后开始发送和接收过程
   btfss PIR1,SSPIF   ;接收完毕否?
   goto $-1     ;否,继续等待
   bsf  cs_mcu    ;否,从机SS禁止
   bcf  PIR1,SSPIF   ;清SSPIF标志
   movf SSPBUF,w   ;读取接收到的内容
   xorlw 0AAH    ;是AAH?   判断方式
   skpz      ;是,正确
   goto RecDataErr   ;否,错误
RecDataOk 
   bsf  data_ok    ;置位正确标志位data_OK
   bcf  data_err   ;清除错误标志
   goto loop    
RecDataErr 
   bcf  data_ok    ;清除正确标志
   bsf  data_err   ;置位错误标志位
   goto loop
;--------------程序结束------------------
   end 
mcu-mcu-cong.asm
;----SPI从模式通信,SS选择控制
;------定义接收成功和失败标志----
data_ok  equ  PORTB,1   ;接收数据正确指示引脚
data_err equ  PORTB,2   ;接收数据错误指示引脚
w_temp  equ  20H    ;现场保护暂存变量
status_temp equ  21H
;-------入口---------------------
   org  00H    ;复位入口
   nop      ;用于ICD2调试
   goto mian   
;---------中断服务程序-------------   
   org  04H    ;中断程序入口地址(PIC的中断比较特殊,中断保护也很特殊)
;----------现场保护程序-------------
   movwf w_temp   ;把W中的内容送到w_temp中暂存
   movlw STATUS   ;保护状态寄存器status
   movwf status_temp       
;----------现场保护结束-------------
   clrf STATUS   ;选择体0
   btfss PIR1,SSPIF  ;是SSP中断吗?
   goto EndOfInt  ;否,结束
SSP_INT        ;是,进入中断程序
   bcf  PIR1,SSPIF  ;清除中断标志(基本做法,进入中断要软件清除标志)
   movf SSPBUF,w  ;读取接收到的数据
   movwf tmpBuff   ;暂存到tmpBuff
   movlw AAH    ;准备下次要发送的数据
   movwf SSPBUF   ;放入SSPBUF待发
   movlw 55H    ;检查接收到的数据
   xorwf tmpBuff   
   skpz     ;是,接收正确
   goto RecDataErr  ;否,接收错误
RecDataOk
   bsf  data_ok 
   bcf  data_err
   goto EndOfInt
RecDataErr
   bcf  Data_ok
   bsf  data_err
   goto EndOfInt

 << 上一页  [21] [22] [23] [24] [25] [26] [27] [28] 下一页

PIC单片机及FPGA实验系统设计 第21页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。