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

📄 pump.src

📁 毕业设计做的东西的硬件程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; pump.SRC generated from: pump.c
; COMPILER INVOKED BY:
;        D:\Keil\C51\BIN\C51.EXE pump.c BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

$NOMOD51

NAME	PUMP

CCF2	BIT	0D8H.2
SPI0CKR	DATA	09DH
CCF3	BIT	0D8H.3
P0	DATA	080H
Heat_flag	BIT	090H.1
SPIEN	BIT	0F8H.0
CCF4	BIT	0D8H.4
P1	DATA	090H
AA	BIT	0C0H.2
WDTCN	DATA	0FFH
P2	DATA	0A0H
ADC0CF	DATA	0BCH
P3	DATA	0B0H
AC	BIT	0D0H.6
T1	BIT	080H.3
EIE1	DATA	0E6H
EA	BIT	0A8H.7
EIE2	DATA	0E7H
PSCTL	DATA	08FH
MSTEN	BIT	0F8H.1
CF	BIT	0D8H.7
ADC0CN	DATA	0E8H
DAC0CN	DATA	0D4H
DAC1CN	DATA	0D7H
SM_CLK1	BIT	0A0H.2
IE	DATA	0A8H
TMR3RLH	DATA	093H
EIP1	DATA	0F6H
CEX0	BIT	080H.2
EIP2	DATA	0F7H
PCA0CPH0	DATA	0FAH
PCA0CPH1	DATA	0FBH
TMR3RLL	DATA	092H
SM_EN	BIT	0A0H.3
PCA0CPH2	DATA	0FCH
CR	BIT	0D8H.6
PCA0CPH3	DATA	0FDH
EXF2	BIT	0C8H.6
PCA0CPH4	DATA	0FEH
PCA0CPL0	DATA	0EAH
PCA0CPL1	DATA	0EBH
PCA0CPM0	DATA	0DAH
PCA0MD	DATA	0D9H
PCA0CN	DATA	0D8H
ES	BIT	0A8H.4
PCA0CPL2	DATA	0ECH
PCA0CPM1	DATA	0DBH
PCA0CPL3	DATA	0EDH
PCA0CPM2	DATA	0DCH
IP	DATA	0B8H
PCA0CPL4	DATA	0EEH
PCA0CPM3	DATA	0DDH
SM_CW	BIT	0A0H.4
RI	BIT	098H.0
PCA0CPM4	DATA	0DEH
TXBSY	BIT	0F8H.3
CY	BIT	0D0H.7
SI	BIT	0C0H.3
T1IN	BIT	090H.6
INT1	BIT	080H.4
TI	BIT	098H.1
XBR0	DATA	0E1H
XBR1	DATA	0E2H
EMI0CN	DATA	0AFH
XBR2	DATA	0E3H
REF0CN	DATA	0D1H
AMX0CF	DATA	0BAH
RCAP2H	DATA	0CBH
PS	BIT	0B8H.4
SP	DATA	081H
T2EX	BIT	080H.5
OV	BIT	0D0H.2
SMB0CN	DATA	0C0H
RCAP2L	DATA	0CAH
SM_MODE	BIT	0A0H.5
MODF	BIT	0F8H.5
DI2PIN	BIT	090H.2
SMB0CR	DATA	0CFH
CPT0CN	DATA	09EH
ADSTM0	BIT	0E8H.2
CPT1CN	DATA	09FH
ADSTM1	BIT	0E8H.3
RCLK	BIT	0C8H.5
TCLK	BIT	0C8H.4
SPI0CN	DATA	0F8H
PRT0CF	DATA	0A4H
SBUF	DATA	099H
PCON	DATA	087H
PRT1CF	DATA	0A5H
Lpower_LED	BIT	090H.3
SPIF	BIT	0F8H.7
PRT2CF	DATA	0A6H
PRT3CF	DATA	0A7H
SCON	DATA	098H
ADCINT	BIT	0E8H.5
TMOD	DATA	089H
TCON	DATA	088H
WCOL	BIT	0F8H.6
AMX0SL	DATA	0BBH
PRT1IF	DATA	0ADH
TMR3CN	DATA	091H
State_LED	BIT	090H.7
IE0	BIT	088H.1
IE1	BIT	088H.3
B	DATA	0F0H
DAC0H	DATA	0D3H
ADC0H	DATA	0BFH
OSCICN	DATA	0B2H
DAC1H	DATA	0D6H
CLKPIN	BIT	090H.5
SMBFTE	BIT	0C0H.1
ADLJST	BIT	0E8H.0
BUSY	BIT	0C0H.7
DAC0L	DATA	0D2H
ADC0L	DATA	0BEH
DAC1L	DATA	0D5H
ACC	DATA	0E0H
ADWINT	BIT	0E8H.1
CT2	BIT	0C8H.1
ET0	BIT	0A8H.1
ADBUSY	BIT	0E8H.4
ET1	BIT	0A8H.3
TF0	BIT	088H.5
ET2	BIT	0A8H.5
TF1	BIT	088H.7
TF2	BIT	0C8H.7
SMBTOE	BIT	0C0H.0
RB8	BIT	098H.2
TH0	DATA	08CH
EX0	BIT	0A8H.0
IT0	BIT	088H.0
PCA0H	DATA	0F9H
TH1	DATA	08DH
EX1	BIT	0A8H.2
TB8	BIT	098H.3
IT1	BIT	088H.2
TH2	DATA	0CDH
Balarm_flag	BIT	090H.0
P	BIT	0D0H.0
SM0	BIT	098H.7
OSCXCN	DATA	0B1H
TL0	DATA	08AH
SM1	BIT	098H.6
PCA0L	DATA	0E9H
TL1	DATA	08BH
SM2	BIT	098H.5
TL2	DATA	0CCH
PT0	BIT	0B8H.1
RS0	BIT	0D0H.3
PT1	BIT	0B8H.3
RS1	BIT	0D0H.4
PT2	BIT	0B8H.5
TR0	BIT	088H.4
TR1	BIT	088H.6
SDA	BIT	080H.0
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
PX1	BIT	0B8H.2
SLVSEL	BIT	0F8H.2
ADCEN	BIT	0E8H.7
DPH	DATA	083H
ADC0GTH	DATA	0C5H
DPL	DATA	082H
ADC0GTL	DATA	0C4H
CNVSTR	BIT	080H.6
SCL	BIT	080H.1
ADC0LTH	DATA	0C7H
EXEN2	BIT	0C8H.3
RSTSRC	DATA	0EFH
FLACL	DATA	0B7H
CPRL2	BIT	0C8H.0
REN	BIT	098H.4
ADC0LTL	DATA	0C6H
T2CON	DATA	0C8H
STA	BIT	0C0H.5
ADCTM	BIT	0E8H.6
SMB0ADR	DATA	0C3H
SMB0DAT	DATA	0C2H
SPI0CFG	DATA	09AH
TMR3H	DATA	095H
CKCON	DATA	08EH
RXOVRN	BIT	0F8H.4
TMR3L	DATA	094H
DIPIN	BIT	0A0H.0
CLK2PIN	BIT	090H.4
F0	BIT	0D0H.5
FLSCL	DATA	0B6H
F1	BIT	0D0H.1
STO	BIT	0C0H.4
ENSMB	BIT	0C0H.6
SPI0DAT	DATA	09BH
SM_RST	BIT	080H.7
PSW	DATA	0D0H
CCF0	BIT	0D8H.0
SMB0STA	DATA	0C1H
CCF1	BIT	0D8H.1
?PR?SYSCLK_Init?PUMP SEGMENT CODE 
?PR?IO_Init?PUMP     SEGMENT CODE 
?PR?ISR_Init?PUMP    SEGMENT CODE 
?PR?Global_Init?PUMP SEGMENT CODE 
?PR?Bubble_alarm?PUMP                    SEGMENT CODE 
?PR?_delay?PUMP      SEGMENT CODE 
?PR?_nop?PUMP        SEGMENT CODE 
?PR?pk?PUMP          SEGMENT CODE 
?PR?lcdwbit?PUMP     SEGMENT CODE 
?BI?lcdwbit?PUMP     SEGMENT BIT OVERLAYABLE 
?PR?_lcdwd?PUMP      SEGMENT CODE 
?PR?lcdwd1?PUMP      SEGMENT CODE 
?PR?l_set?PUMP       SEGMENT CODE 
?PR?display?PUMP     SEGMENT CODE 
?PR?noplay?PUMP      SEGMENT CODE 
?PR?lcd2wbit?PUMP    SEGMENT CODE 
?BI?lcd2wbit?PUMP    SEGMENT BIT OVERLAYABLE 
?PR?_lcd2wd?PUMP     SEGMENT CODE 
?PR?lcd2wd1?PUMP     SEGMENT CODE 
?PR?l2_set?PUMP      SEGMENT CODE 
?PR?display2?PUMP    SEGMENT CODE 
?PR?noplay2?PUMP     SEGMENT CODE 
?PR?SM_Set?PUMP      SEGMENT CODE 
?PR?T0_Set?PUMP      SEGMENT CODE 
?PR?T0_ISR?PUMP      SEGMENT CODE 
?PR?SM_SR?PUMP       SEGMENT CODE 
?PR?DAC0_Set?PUMP    SEGMENT CODE 
?PR?DAC1_Set?PUMP    SEGMENT CODE 
?PR?ADC_Set?PUMP     SEGMENT CODE 
?PR?ADC_ISR?PUMP     SEGMENT CODE 
?PR?T1_Set?PUMP      SEGMENT CODE 
?PR?T1_ISR?PUMP      SEGMENT CODE 
?PR?PCA_ADC?PUMP     SEGMENT CODE 
?PR?T2_Set?PUMP      SEGMENT CODE 
?PR?T3_Set?PUMP      SEGMENT CODE 
?PR?T3_ISR?PUMP      SEGMENT CODE 
?PR?data_inv?PUMP    SEGMENT CODE 
?DT?data_inv?PUMP    SEGMENT DATA OVERLAYABLE 
?PR?pulse_inv?PUMP   SEGMENT CODE 
?PR?Read_flash?PUMP  SEGMENT CODE 
?PR?Write_flash?PUMP SEGMENT CODE 
?DT?Write_flash?PUMP SEGMENT DATA OVERLAYABLE 
?PR?keyinterrupt?PUMP                    SEGMENT CODE 
?DT?keyinterrupt?PUMP                    SEGMENT DATA OVERLAYABLE 
?PR?main?PUMP        SEGMENT CODE 
?C_INITSEG           SEGMENT CODE 
?CO?PUMP             SEGMENT CODE 
?BI?PUMP             SEGMENT BIT 
?DT?PUMP             SEGMENT DATA 
	EXTRN	CODE (?C?ULCMP)
	EXTRN	CODE (?C?FCASTI)
	EXTRN	CODE (?C?FPMUL)
	EXTRN	CODE (?C?FPADD)
	EXTRN	CODE (?C?FPSUB)
	EXTRN	CODE (?C?CASTF)
	EXTRN	CODE (?C?ULDIV)
	EXTRN	CODE (?C?IMUL)
	EXTRN	CODE (?C?LMUL)
	EXTRN	CODE (?C?CLDPTR)
	EXTRN	CODE (?C?CCASE)
	EXTRN	CODE (?C?UIDIV)
	EXTRN	CODE (?C_STARTUP)
	PUBLIC	PK_Flag
	PUBLIC	Gross_Flag
	PUBLIC	temp2
	PUBLIC	k
	PUBLIC	Point_Flag
	PUBLIC	code_l
	PUBLIC	l_data
	PUBLIC	keycode
	PUBLIC	code_h
	PUBLIC	Hold_Flag
	PUBLIC	Drop_NStep
	PUBLIC	PWM_Width
	PUBLIC	kk
	PUBLIC	BUFFER
	PUBLIC	temp
	PUBLIC	Fluxdrop_Flag
	PUBLIC	lcd_data
	PUBLIC	Buffer_NUM
	PUBLIC	Drop_Num
	PUBLIC	Flux_Pulse
	PUBLIC	All_Pulse
	PUBLIC	Speed_Set
	PUBLIC	SR_Flag
	PUBLIC	lcd_data_code
	PUBLIC	temp2_code
	PUBLIC	temp_code
	PUBLIC	main
	PUBLIC	keyinterrupt
	PUBLIC	Write_flash
	PUBLIC	Read_flash
	PUBLIC	pulse_inv
	PUBLIC	data_inv
	PUBLIC	T3_ISR
	PUBLIC	T3_Set
	PUBLIC	T2_Set
	PUBLIC	PCA_ADC
	PUBLIC	T1_ISR
	PUBLIC	T1_Set
	PUBLIC	ADC_ISR
	PUBLIC	ADC_Set
	PUBLIC	DAC1_Set
	PUBLIC	DAC0_Set
	PUBLIC	SM_SR
	PUBLIC	T0_ISR
	PUBLIC	T0_Set
	PUBLIC	SM_Set
	PUBLIC	noplay2
	PUBLIC	display2
	PUBLIC	l2_set
	PUBLIC	lcd2wd1
	PUBLIC	_lcd2wd
	PUBLIC	?lcd2wbit?BIT
	PUBLIC	lcd2wbit
	PUBLIC	noplay
	PUBLIC	display
	PUBLIC	l_set
	PUBLIC	lcdwd1
	PUBLIC	_lcdwd
	PUBLIC	?lcdwbit?BIT
	PUBLIC	lcdwbit
	PUBLIC	pk
	PUBLIC	_nop
	PUBLIC	_delay
	PUBLIC	Bubble_alarm
	PUBLIC	Global_Init
	PUBLIC	ISR_Init
	PUBLIC	IO_Init
	PUBLIC	SYSCLK_Init

	RSEG  ?DT?Write_flash?PUMP
?Write_flash?BYTE:
    pwrite?3764:   DS   2
	ORG  2
      pgen?3765:   DS   3

	RSEG  ?BI?lcd2wbit?PUMP
?lcd2wbit?BIT:
         n?1452:   DBIT   1

	RSEG  ?DT?keyinterrupt?PUMP
?keyinterrupt?BYTE:
release_flag?3867:   DS   1

	RSEG  ?DT?data_inv?PUMP
?data_inv?BYTE:
         a?3459:   DS   4
	ORG  4
         b?3460:   DS   4

	RSEG  ?BI?lcdwbit?PUMP
?lcdwbit?BIT:
          n?846:   DBIT   1

	RSEG  ?BI?PUMP
        SR_Flag:   DBIT   1
      Speed_Set:   DBIT   1
  Fluxdrop_Flag:   DBIT   1
      Hold_Flag:   DBIT   1
     Gross_Flag:   DBIT   1
        PK_Flag:   DBIT   1

	RSEG  ?DT?PUMP
      All_Pulse:   DS   4
     Flux_Pulse:   DS   4
       Drop_Num:   DS   2
     Buffer_NUM:   DS   2
       lcd_data:   DS   10
           temp:   DS   4
         BUFFER:   DS   2
             kk:   DS   2
      PWM_Width:   DS   2
     Drop_NStep:   DS   4
         code_h:   DS   1
        keycode:   DS   1
         l_data:   DS   5
         code_l:   DS   1
     Point_Flag:   DS   1
              k:   DS   2
          temp2:   DS   4

	RSEG  ?CO?PUMP
temp_code:
	DB	000H
	DB	001H
	DB	000H
	DB	000H

temp2_code:
	DB	000H
	DB	005H
	DB	000H
	DB	000H

lcd_data_code:
	DB	088H
	DB	0BBH
	DB	0C1H
	DB	091H
	DB	0B2H
	DB	094H
	DB	084H
	DB	0B9H
	DB	080H
	DB	0B0H


	RSEG  ?C_INITSEG
	DB	001H
	DB	keycode
	DB	000H

	DB	002H
	DB	k
	DW	00000H

	DB	002H
	DB	kk
	DW	00000H

; /***********************************************************************************************
; 模块名:pump.h
; 创建人:王恩刚
; ************************************************************************************************/
; /**********************************************头文件声明***************************************/
; #pragma src
; #include "C8051F000.h"
; #include <intrins.h>
; 
; /********************************************变量类型缩略定义***********************************/
; #define uint unsigned int                    //缩略定义
; #define uchar unsigned char 
; #define ulint unsigned long 
; 
; /***********************************************常量定义****************************************/
; #define Time_1ms    6		                 //时间常量(12M) 6x-x/8
; #define Time_5ms    30          
; #define Time_10ms   59
; #define Time_15ms   88
; #define Time_20ms   118
; #define Time_50ms   294
; #define Time_80ms   470		 
; #define Time_100ms  588
; #define Time_200ms  1175
; 
; #define DAC0_DATA   0x01BC	                 //斩波驱动参考电压设定值
; #define DAC1_DATA   0x0C00                   //比较器参考电压设定值
; #define Delay_STime 0x09C4	                 //检测到气泡报警的时间延迟(短)
; #define Delay_LTime 0xF424	                 //检测到气泡报警的时间延迟(长)
; #define Bubble_NUM  0x0001                   //累计气泡为150个
; /*******************************************I/O端口对应输出声明*********************************/
; sbit SDA=P0^0;			                     //SMBUS设置
; sbit SCL=P0^1;				                 //用作T3定时器的自动重载触发源
; sbit CEX0=P0^2;				                 //PCA第一个比较、捕捉模块
; sbit T1=P0^3;				                 //定时器T1计数源输入端,对小气泡进行计数
; sbit INT1=P0^4;				                 //键盘中断
; sbit T2EX=P0^5;				                 //由内部计数器2对气泡检测脉冲进行计数
; sbit CNVSTR=P0^6;                            //时钟输出
; sbit SM_RST=P0^7;			                 //L297复位控制位
; sbit Balarm_flag=P1^0;                       //气泡报警标志位,为1时正常,为0时报警
; sbit Heat_flag=P1^1;                         //加热标志位
; //sbit SHIFT_DATA=P1^2;                      //移位寄存器串行数据输入位,H时为1,L时为0
; sbit DI2PIN=P1^2;							 //LCD2时钟输入引脚
; sbit Lpower_LED=P1^3;						 //低电压报警
; //sbit SHIFT_CLK=P1^3;                       //移位寄存器时钟输入
; sbit CLK2PIN=P1^4;							 //LCD2数据输入引脚
; //sbit SHIFT_CLR=P1^4;                       //移位寄存器清零端
; sbit CLKPIN = P1^5;                          //用户自定义CLK对应引脚
; sbit T1IN=P1^6;	                             //定时器T1的输入
; sbit State_LED=P1^7;                         //状态标志位
; sbit DIPIN = P2^0;                           //用户自定义DI对应引脚
; sbit SM_CLK1=P2^2;      	                 //步进电机时钟位
; sbit SM_EN=P2^3;			                 //L297使能位
; sbit SM_CW=P2^4;			                 //L297方向控制位
; sbit SM_MODE=P2^5;			                 //L297环形分配器分配方式控制位
; /*******************************************全局变量定义****************************************/
; uchar temp[4];	                             //LCD显示数字缓存
; uchar temp2[4];	                             //LCD2显示数字缓存
; uchar code temp_code[4]={0,1,0,0};		     //LCD显示数字的十进制形式
; uchar code temp2_code[4]={0,5,0,0};		     //LCD2显示数字的十进制形式
; uchar Point_Flag;					         //小数点标志位
; uchar data l_data[5];                        //用户自定义LCD缓冲区
; uchar lcd_data[10];					         //0~9对应的显示代码缓存;
; uchar code lcd_data_code[10]={0x88,0xbb,0xc1,0x91,0xb2,0x94,0x84,0xb9,0x80,0xb0};  //0~9对应的显示代码;
; uchar code_h;                                //行扫描值
; uchar code_l;                                //列扫描值
; uchar keycode=0x00;                          //最终键值
; uint k=0;                                    //LCD显示段位置序号
; uint kk=0;									 //LCD2显示段位置序号
; uint BUFFER; 			                     //步进电机转速控制
; uint Buffer_NUM;                             //T0循环次数
; uint PWM_Width;                              //定时器0溢出周期控制
; uint Drop_Num;                               //设定的液滴数
; ulint Flux_Pulse;                            //设定的流速对应的脉冲数
; ulint All_Pulse;							 //需要产生的全部脉冲数
; float Drop_NStep;    		                 //一滴所对应的步进电机的步数
; bit Fluxdrop_Flag;                           //流量和滴速单位标志位,为0单位是流量,为1时单位是滴速
; bit Speed_Set;                               //流速设置标志位,为0时设置保存,为1时允许设置
; bit Hold_Flag;                               //键盘锁定标志位,为1时键盘锁定,为0时允许键盘动作 
; bit SR_Flag;                                 // 运行/停止标志位,为0时停止,为1时运行
; bit PK_Flag;								 //排空标志位,为0停止排空操作,为1时开始排空操作
; bit Gross_Flag;								 //输液量设置标志,为1时允许设置,为0时保存设置
; /******************************************函数声明********************************************/
; void SYSCLK_Init(void);                      //系统时钟初始化
; void IO_Init(void);		                     //I/O端口设置初始化
; void ISR_Init(void);		                 //系统中断设置初始化
; void Global_Init(void);                      //全局变量初始化
; void Bubble_alarm(void);                     //气泡检测报警
; void delay( uint t);                         //软件延迟,(102.647t+2.3646)us
; void nop(uint t);                            //软件短延迟函数
; void pk(void);                               //输液前的排空操作
; void lcdwbit(bit n);                         //LCD位传输函数
; void lcdwd(uchar data1);                     //LCD字节传输函数
; void lcdwd1();                               //LCD4段数据传输函数
; void l_set();                                //各段显示数据设置
; void display();                              //显示设置数据
; void noplay();                               //空白显示
; void lcd2wbit(bit n);                        //LCD2位传输函数
; void lcd2wd(uchar data1);                    //LCD2字节传输函数
; void lcd2wd1();                              //LCD2的4段数据传输函数

⌨️ 快捷键说明

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