亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fjv14.s

?? 一本關于控制系統仿真的書的程序 1、文件夾1中的程序是書中的一些仿真。 2、文件2中的是最近做的預測控制、PID控制及邏輯控制的對比綜合研究。 3、文件夾3中是與maltab通信的數據采集板的設
?? S
?? 第 1 頁 / 共 3 頁
字號:
	.module fjv14.c
	.area text(rom, con, rel)
	.dbfile D:\采集卡項目\單片機程序\fjv14\fjv14.c
	.dbfunc e port_init _port_init fV
	.even
_port_init::
	.dbline -1
	.dbline 37
; //m8L,4M晶振,波特率2400
;  #include "iom8v.h"
;  #include"macros.h"
;  #include"stdio.h"
; //控制DA的cs位
;  #define set_cs  PORTB |= (1<<PB2)     
;  #define clr_cs  PORTB &= 0b11111011   
; 
;  #define IO_PB0  0x00
;  #define IO_PB1  0x01
;  #define IO_PB4  0x04
;  #define IO_PD5  0x05
;  #define IO_PD6  0x06
;  #define IO_PD7  0x07
;         
; //定義全局變量-------------------------------
;  unsigned int AD_value10;//ad采集值10位。
;  
;  
;  //------------------------------------------
;  unsigned int  ADC_filter(void);
;  void init_devices(void);
;  unsigned char USART_Recive(void);
; void USART_Transmit(unsigned char tdata);
; void ADC_Start(void);
; unsigned int ADC_Value (unsigned char adc_channel);
; void DAC_5617_10(unsigned char dac_dataH,unsigned char dac_dataL,unsigned char dac_channel);
; void SPI_Transmit(unsigned char dac_data);
; unsigned char  SPI_Compare(unsigned char data,unsigned char mark);
; void delay_1ms(void);
; unsigned char Strcat(unsigned char s1,unsigned char s2);
; void IO_out(unsigned char IO_data,unsigned char IO_channel);
; unsigned char IO_in (unsigned char IO_channel);
; 
; /**************************************************************************/
; void port_init(void)
; {
	.dbline 38
;       PORTB = 0xFF;//確保復位電平是確定的,輸入、上拉
	ldi R24,255
	out 0x18,R24
	.dbline 39
;       DDRB  = 0x00;
	clr R2
	out 0x17,R2
	.dbline 40
;       PORTC = 0xFF;
	out 0x15,R24
	.dbline 41
;       DDRC  = 0x00;
	out 0x14,R2
	.dbline 42
;       PORTD = 0xFF;
	out 0x12,R24
	.dbline 43
;       DDRD=0x00;
	out 0x11,R2
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e watchdog_init _watchdog_init fV
	.even
_watchdog_init::
	.dbline -1
	.dbline 49
; }
; /********************************************************************/
; //Watchdog initialize
; // prescale: 512K 0.52s
; void watchdog_init(void)
; {
	.dbline 50
;  WDR(); //this prevents a timout on enabling
	wdr
	.dbline 51
;  WDTCR = 0x0D; //WATCHDOG ENABLED - dont forget to issue WDRs
	ldi R24,13
	out 0x21,R24
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e WDT_off _WDT_off fV
	.even
_WDT_off::
	.dbline -1
	.dbline 56
; }
; /*********************************************************************/
; //關閉看門狗
; void WDT_off(void)
; {
	.dbline 57
;     _WDR();
	wdr
	.dbline 58
; 	WDTCR |= (1<<WDCE)|(1<<WDE);
	in R24,0x21
	ori R24,24
	out 0x21,R24
	.dbline 59
; 	WDTCR = 0x00;
	clr R2
	out 0x21,R2
	.dbline -2
L3:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e uart0_init _uart0_init fV
	.even
_uart0_init::
	.dbline -1
	.dbline 63
; }
; /**************************************************************************/
; void uart0_init(void)
; {
	.dbline 64
;  	 UCSRB=(1<<RXEN)|(1<<TXEN);//發送接收使能
	ldi R24,24
	out 0xa,R24
	.dbline 65
;  	 UCSRC=(1<<UMSEL);//選擇異步發送模式
	ldi R24,64
	out 0x20,R24
	.dbline 66
;  	 UBRRL = 0x33;//設置波特率低位4m4800
	ldi R24,51
	out 0x9,R24
	.dbline 67
; 	 UBRRH = 0x00; //設置波特率高位
	clr R2
	out 0x20,R2
	.dbline 68
;  	 UCSRA = 0x18;  //接收、發送數據
	ldi R24,24
	out 0xb,R24
	.dbline 69
;  	 UCSRC =(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//8位數據+1位STOP位
	ldi R24,134
	out 0x20,R24
	.dbline -2
L4:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e spi_init _spi_init fV
	.even
_spi_init::
	.dbline -1
	.dbline 74
; }
; 
; /************************************************************************/
; void  spi_init(void)
; {	
	.dbline 77
;        //PB2為CS端。PB3為MOSI端。PB5為SCK端。
; 	 // PORTB=(1<<PB2)|(1<<PB3)|(1<<PB5);//SPI端口初始化.慎用<<置1。將會影響其他位。
;  	  DDRB= (1<<DDB2)|(1<<DDB3)|(1<<DDB5);//SPI端口初始化
	ldi R24,44
	out 0x17,R24
	.dbline 78
; 	  SPSR=0x01;//SPI狀態寄存器初始化
	ldi R24,1
	out 0xe,R24
	.dbline 79
;    	  SPCR=0x58; //SPI使能 
	ldi R24,88
	out 0xd,R24
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e adc_init _adc_init fV
	.even
_adc_init::
	.dbline -1
	.dbline 86
; }
; /*************************************************************************/
; //ADC initialize
; // Conversion time: 52uS
; 
; void adc_init(void)
; {
	.dbline 87
;    PORTC =(0<<PC0)|(0<<PC1)|(0<<PC2)|(0<<PC3) ;//關閉上拉電阻
	clr R2
	out 0x15,R2
	.dbline 88
;    ACSR  = 0x00;//與模擬比較器控制
	out 0x8,R2
	.dbline 90
; 	//ACSR =(1<<ACD);//關閉模擬比較器
;    ADMUX=0x00;//設定AD選擇寄存器,片外基準。ch1通道(對應芯片ADC0)。數據右對齊。	
	out 0x7,R2
	.dbline 91
;    ADCSRA = 0x00;  //disable adc
	out 0x6,R2
	.dbline 92
;    ADCSRA=(1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(0<<ADPS1) ;//16分頻,使能AD,開啟中斷。還沒開始轉換。
	ldi R24,140
	out 0x6,R24
	.dbline -2
L6:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 28
	rjmp _adc_isr
	.area text(rom, con, rel)
	.dbfile D:\采集卡項目\單片機程序\fjv14\fjv14.c
	.dbfunc e adc_isr _adc_isr fV
	.even
_adc_isr::
	st -y,R2
	st -y,R3
	st -y,R4
	st -y,R5
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 99
;    
;  
;  }
; /*************************************************************************/
; #pragma interrupt_handler adc_isr:15
; void adc_isr(void)
; {
	.dbline 101
;  //conversion complete, read value (int) using...
;      AD_value10 = ADCL;            //Read 8 low bits first (important)
	in R2,0x4
	clr R3
	sts _AD_value10+1,R3
	sts _AD_value10,R2
	.dbline 102
;      AD_value10|=(unsigned int)ADCH << 8; //read 2 high bits and shift into top byte
	in R2,0x5
	clr R3
	mov R3,R2
	clr R2
	lds R4,_AD_value10
	lds R5,_AD_value10+1
	or R4,R2
	or R5,R3
	sts _AD_value10+1,R5
	sts _AD_value10,R4
	.dbline -2
L7:
	ld R2,y+
	out 0x3f,R2
	ld R5,y+
	ld R4,y+
	ld R3,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e init_devices _init_devices fV
	.even
_init_devices::
	.dbline -1
	.dbline 107
; 	
; }
; /*************************************************************************/
; void init_devices(void)
; {
	.dbline 108
;    CLI(); //關閉所有中斷
	cli
	.dbline 109
;    port_init();//端口初始化
	rcall _port_init
	.dbline 110
;    watchdog_init();
	rcall _watchdog_init
	.dbline 111
;    uart0_init();//串行通信初始化
	rcall _uart0_init
	.dbline 112
;    adc_init();//AD初始化
	rcall _adc_init
	.dbline 113
;    spi_init();//SPI初始化
	rcall _spi_init
	.dbline 114
;    MCUCR = 0x10;//ADC噪聲抑制模式。
	ldi R24,16
	out 0x35,R24
	.dbline 115
;    GICR  = 0x00;//關外部中斷
	clr R2
	out 0x3b,R2
	.dbline 116
;    SEI();
	sei
	.dbline -2
L8:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
;              m -> R22,R23
;         temp10 -> y+6
;          temp8 -> R12
;         charry -> y+1
;              y -> R14
;              i -> R10,R11
	.even
_main::
	sbiw R28,8
	.dbline -1
	.dbline 121
; }
; /**************************************************************************/
; /**************************************************************************/
; void main( )
; {
	.dbline 129
;   
;   unsigned char charry[5];
;   unsigned char y;
;   unsigned char temp8;
;   unsigned int temp10;//接收10位的數據,如AD等。
;   unsigned int i;
;   unsigned int m;
;   init_devices();//初始化
	rcall _init_devices
	rjmp L11
L10:
	.dbline 131
;   while(1)
; 	{
	.dbline 132
; 	 charry[0]=0;//初始化
	clr R2
	std y+1,R2
	.dbline 133
; 	 charry[1]=0;
	std y+2,R2
	.dbline 134
; 	 charry[2]=0;
	std y+3,R2
	.dbline 135
; 	 charry[3]=0;
	std y+4,R2
	.dbline 136
; 	 charry[4]=0;
	std y+5,R2
	.dbline 137
; 	 y=0;
	clr R14
	.dbline 138
; 	 temp8=0;
	clr R12
	.dbline 139
; 	 temp10=0;
	clr R0
	clr R1
	std y+7,R1
	std y+6,R0
	.dbline 140
; 	 m=0;
	clr R22
	clr R23
	.dbline 142
; 	 
; 	 WDT_off();//等待第一個接收數據。
	rcall _WDT_off
	.dbline 143
; 	 y=USART_Recive();
	rcall _USART_Recive
	mov R14,R16
	.dbline 144
; 	 charry[0]=y;//接收數據
	std y+1,R14
	.dbline 145
; 	 watchdog_init();//打開看門狗,防止串行數據中斷而無限等待。
	rcall _watchdog_init
	.dbline 146
; 	 for(i=1;i<5;i++)
	ldi R24,1
	ldi R25,0
	movw R10,R24
	rjmp L20
L17:
	.dbline 147
	.dbline 148
	rcall _USART_Recive
	mov R14,R16
	.dbline 149
	movw R24,R28
	adiw R24,1
	movw R30,R10
	add R30,R24
	adc R31,R25
	std z+0,R14
	.dbline 150
L18:
	.dbline 146
	movw R24,R10
	adiw R24,1
	movw R10,R24
L20:
	.dbline 146
	movw R24,R10
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	brlo L17
	.dbline 152
; 	      { 
; 		    y=USART_Recive();
; 			charry[i]=y;//接收數據
; 		  }
;      
; 	  if (charry[0]==0x55)
	ldd R24,y+1
	cpi R24,85
	breq X2
	rjmp L21
X2:
	.dbline 153
; 		 {
	.dbline 156
; 	  	
; 		    //功能選擇判斷
; 		      switch (charry[1])
	ldd R20,y+2
	clr R21
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	breq L32
	cpi R20,2
	ldi R30,0
	cpc R21,R30
	breq L30
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L27
	cpi R20,1
	ldi R30,0
	cpc R21,R30
	brge X3
	rjmp L24
X3:
L41:
	cpi R20,16
	ldi R30,0
	cpc R21,R30
	breq L34
	cpi R20,17
	ldi R30,0
	cpc R21,R30
	breq L38
	rjmp L24
X0:
	.dbline 157
; 		        {
L27:
	.dbline 159
; 		           case 0x03:  //如果為00則啟動IO輸出
; 				IO_out(charry[3],charry[2]);	//確定輸出數據和端口
	ldd R18,y+3
	ldd R16,y+4
	rcall _IO_out
	.dbline 160
; 		                break;
	rjmp L24
L30:
	.dbline 162
; 		           case 0x02:  //如果為00則啟動IO輸入
; 				temp8=IO_in(charry[2]);//啟動IO轉換,確定通道數。
	ldd R16,y+3
	rcall _IO_in
	mov R12,R16
	.dbline 163
;                       		USART_Transmit(temp8);//啟動串口發送IO數據(第四位)
	rcall _USART_Transmit
	.dbline 165
;                       		//USART_Transmit(0x00);//啟動串口發送IO數據(第五位) 
; 		                break;
	rjmp L24
L32:
	.dbline 167
; 		           case 0x01://如果為01則啟動AD轉換
; 				 temp10=ADC_Value(charry[2]);//啟動AD轉換,確定通道數。
	ldd R16,y+3
	rcall _ADC_Value
	std y+7,R17
	std y+6,R16
	.dbline 168
; 				 m=temp10;
	movw R22,R16
	.dbline 169
;                                  temp8=(unsigned char)(m>>8);
	movw R12,R22
	mov R12,R13
	clr R13
	.dbline 170
;                     		 USART_Transmit(temp8);//啟動串口發送數據(高8位)
	mov R16,R12
	rcall _USART_Transmit
	.dbline 171
;                     		 temp8=(unsigned char)temp10;
	ldd R12,y+6
	ldd R13,y+7
	.dbline 172
; 				 USART_Transmit(temp8);//啟動串口發送數據(低8位)
	mov R16,R12
	rcall _USART_Transmit
	.dbline 173
; 			         break;
	rjmp L24
L34:
	.dbline 175
; 		           case  0x10://如果為10則啟動DA轉換
;                                  DAC_5617_10(charry[3],charry[4],charry[2]);	//啟動DA5716		
	ldd R2,y+3
	std y+0,R2
	ldd R18,y+5
	ldd R16,y+4
	rcall _DAC_5617_10
	.dbline 176
; 				 break;
	rjmp L24
L38:
	.dbline 178
; 			   case 0x11://如果為11則先啟動DA再啟動AD轉換
; 				     DAC_5617_10(charry[3],charry[4],0x01);	//啟動DA5716	
	ldi R24,1
	std y+0,R24
	ldd R18,y+5
	ldd R16,y+4
	rcall _DAC_5617_10
	.dbline 179
; 					 asm("NOP");
	NOP
	.dbline 180
; 				     temp10=ADC_Value(0x01);      //啟動AD轉換,AD/DA使用相同通道1。
	ldi R16,1
	rcall _ADC_Value
	std y+7,R17
	std y+6,R16
	.dbline 181
; 		             m=temp10;
	movw R22,R16
	.dbline 182
;                      temp8=(unsigned char)(m>>8);
	movw R12,R22
	mov R12,R13
	clr R13
	.dbline 183
;                      USART_Transmit(temp8);//啟動串口發送數據(高8位)
	mov R16,R12
	rcall _USART_Transmit
	.dbline 184
;                      temp8=(unsigned char)temp10;
	ldd R12,y+6
	ldd R13,y+7
	.dbline 185
; 				 	 USART_Transmit(temp8);//啟動串口發送數據(低8位)
	mov R16,R12
	rcall _USART_Transmit
	.dbline 186
;                       break;
	.dbline 187
; 			  default:break;
L24:
	.dbline 189
; 		        }	 
; 	       }
L21:
	.dbline 191
L11:
	.dbline 130
	rjmp L10
X1:
	.dbline -2
L9:
	adiw R28,8
	.dbline 0 ; func end
	ret
	.dbsym r m 22 i
	.dbsym l temp10 6 i
	.dbsym r temp8 12 c
	.dbsym l charry 1 A[5:5]c
	.dbsym r y 14 c
	.dbsym r i 10 i
	.dbend
	.dbfunc e USART_Recive _USART_Recive fc
;              y -> R20
	.even
_USART_Recive::
	rcall push_gset1
	.dbline -1
	.dbline 196
;           
;      } 	  
; }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人国产一区二区| 一区二区三区四区在线免费观看| 久久久九九九九| 亚洲一区二区欧美激情| 国产乱人伦精品一区二区在线观看 | www.成人网.com| 91精品黄色片免费大全| 亚洲女子a中天字幕| 国产又粗又猛又爽又黄91精品| 欧美性大战xxxxx久久久| 国产日韩欧美激情| 精品无码三级在线观看视频| 欧美三级中文字| 日韩毛片精品高清免费| 国产精品99久久久| 欧美va亚洲va| 日本少妇一区二区| 欧美乱妇15p| 亚洲一区二区偷拍精品| 99re这里都是精品| 国产精品乱子久久久久| 国产精品123| 久久久99精品免费观看不卡| 欧美bbbbb| 日韩三级.com| 日韩成人一区二区三区在线观看| 欧美色老头old∨ideo| 亚洲卡通动漫在线| 色综合天天天天做夜夜夜夜做| 国产日韩视频一区二区三区| 国产综合色视频| 精品国产亚洲一区二区三区在线观看| 蜜臀av性久久久久av蜜臀妖精| 欧美日韩国产综合一区二区三区| 夜色激情一区二区| 欧美视频中文字幕| 亚洲成a人v欧美综合天堂| 欧美性猛交xxxxxx富婆| 亚洲成人精品影院| 欧美片网站yy| 免费观看成人鲁鲁鲁鲁鲁视频| 51精品国自产在线| 久久国产精品99精品国产 | 一区二区三区不卡视频在线观看| jlzzjlzz国产精品久久| 中文字幕中文在线不卡住| 99麻豆久久久国产精品免费| 伊人开心综合网| 在线成人免费观看| 免费在线看一区| 国产网站一区二区| av网站一区二区三区| 亚洲精品免费一二三区| 欧美日韩国产一区| 久久99在线观看| 国产精品网友自拍| 91福利社在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 2024国产精品视频| 97久久精品人人澡人人爽| 亚洲午夜电影网| 久久久亚洲精品一区二区三区| 国产成人超碰人人澡人人澡| 亚洲日本护士毛茸茸| 91精品视频网| 北条麻妃一区二区三区| 香蕉影视欧美成人| 久久久久久久久久久99999| 91免费看视频| 久久成人麻豆午夜电影| 国产精品九色蝌蚪自拍| 欧美在线视频不卡| 国产一区二区三区蝌蚪| 亚洲在线中文字幕| 国产亚洲精品资源在线26u| 欧美亚洲自拍偷拍| 国产精品一品二品| 日韩成人午夜精品| 亚洲图片欧美激情| 26uuu久久综合| 一本到不卡免费一区二区| 麻豆91在线播放免费| 亚洲免费观看高清完整版在线观看熊 | 国产成人免费视| 丝袜亚洲另类欧美| 亚洲视频免费在线观看| 精品福利av导航| 欧美中文字幕一区二区三区亚洲| 久久精品999| 亚洲国产你懂的| 亚洲国产精品成人综合| 日韩亚洲欧美综合| 色系网站成人免费| 成人免费高清在线| 久久99精品一区二区三区| 亚洲国产日韩精品| 136国产福利精品导航| 国产网红主播福利一区二区| 91精品国产综合久久久久久| 色婷婷综合激情| 99精品国产91久久久久久| 国产毛片精品国产一区二区三区| 日韩精品免费专区| 亚洲国产一区二区三区| 亚洲黄色小说网站| 亚洲美女少妇撒尿| 亚洲欧美在线视频观看| 国产精品理论片| 国产精品天干天干在线综合| 久久久国产精品不卡| 久久伊99综合婷婷久久伊| 日韩欧美激情在线| 欧美一级片在线看| 777奇米成人网| 911精品产国品一二三产区| 欧美色网一区二区| 欧美四级电影网| 欧美丰满少妇xxxbbb| 欧美二区在线观看| 91精品国产综合久久久久久漫画| 欧美巨大另类极品videosbest | 国产一区视频在线看| 久久99久久精品| 国产精品99久久久久久久女警| 国产一区二区三区不卡在线观看| 国产一区二区h| 懂色av一区二区在线播放| 成人av先锋影音| 91久久久免费一区二区| 欧美日韩中字一区| 91精品综合久久久久久| 精品国产三级a在线观看| 国产欧美综合在线| 亚洲婷婷在线视频| 视频一区视频二区中文| 老色鬼精品视频在线观看播放| 精品一区在线看| 成人av免费观看| 欧美日韩国产天堂| 欧美成va人片在线观看| 欧美韩国一区二区| 亚洲激情一二三区| 毛片av一区二区三区| 国产aⅴ精品一区二区三区色成熟| 国产成人a级片| 欧美日韩在线综合| 欧美成人猛片aaaaaaa| 国产精品毛片无遮挡高清| 亚洲啪啪综合av一区二区三区| 性做久久久久久| 国产91精品精华液一区二区三区| 色成人在线视频| 精品国产不卡一区二区三区| 最新国产精品久久精品| 日韩精品视频网站| www.66久久| 日韩欧美在线网站| 中文字幕在线不卡| 久热成人在线视频| 欧美日韩一级二级三级| www国产成人免费观看视频 深夜成人网| 国产精品麻豆网站| 美女诱惑一区二区| 色菇凉天天综合网| 国产三级三级三级精品8ⅰ区| 一区二区三区产品免费精品久久75| 青青青伊人色综合久久| 91视频一区二区三区| 精品电影一区二区三区| 亚洲成人av电影在线| 成人黄色a**站在线观看| 日韩免费性生活视频播放| 亚洲激情在线激情| 国产69精品久久久久毛片| 欧美成人一级视频| 亚洲mv在线观看| 色哟哟精品一区| 中文字幕国产一区| 国产一区二区三区在线观看免费 | 精品视频色一区| 亚洲欧美综合色| 国产高清成人在线| 欧美日韩你懂得| 一区二区三区.www| 99re亚洲国产精品| 中文字幕成人网| 国产一区亚洲一区| 欧美va日韩va| 青青国产91久久久久久| 欧美丝袜第三区| 亚洲黄色在线视频| 色老汉一区二区三区| 国产精品九色蝌蚪自拍| 国产成人精品免费| 日韩影院免费视频| 色999日韩国产欧美一区二区| 综合久久一区二区三区| 99久久精品免费看国产免费软件| 中文字幕av不卡| 成人h动漫精品一区二区|