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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.lst

?? AVR試驗板程序,有LED,鍵盤和串口的程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
__text_start:
__start:
    0030 E5CF      LDI	R28,0x5F
    0031 E0D4      LDI	R29,4
    0032 BFCD      OUT	0x3D,R28
    0033 BFDE      OUT	0x3E,R29
    0034 51C0      SUBI	R28,0x10
    0035 40D0      SBCI	R29,0
    0036 EA0A      LDI	R16,0xAA
    0037 8308      STD	Y+0,R16
    0038 2400      CLR	R0
    0039 E6E2      LDI	R30,0x62
    003A E0F0      LDI	R31,0
    003B E010      LDI	R17,0
    003C 36E5      CPI	R30,0x65
    003D 07F1      CPC	R31,R17
    003E F011      BEQ	0x0041
    003F 9201      ST	R0,Z+
    0040 CFFB      RJMP	0x003C
    0041 8300      STD	Z+0,R16
    0042 E5EE      LDI	R30,0x5E
    0043 E0F0      LDI	R31,0
    0044 E6A0      LDI	R26,0x60
    0045 E0B0      LDI	R27,0
    0046 E010      LDI	R17,0
    0047 36E0      CPI	R30,0x60
    0048 07F1      CPC	R31,R17
    0049 F021      BEQ	0x004E
    004A 95C8      LPM
    004B 9631      ADIW	R30,1
    004C 920D      ST	R0,X+
    004D CFF9      RJMP	0x0047
    004E 940E01B2  CALL	_main
_exit:
    0050 CFFF      RJMP	_exit
FILE: E:\work\百步梯攀登計劃\AVR程序\new\main.c
(0001) //ICC-AVR application builder : 2007-2-22 12:20:11
(0002) // Target : M16
(0003) // Crystal: 10.000Mhz
(0004) 
(0005) #include <iom16v.h>
(0006) #include <macros.h>
(0007) 
(0008) unsigned char tmp_cn_0;                     //臨時計數(shù)器——0
(0009) unsigned char tmp_cn_1;                     //臨時計數(shù)器——1
(0010) unsigned char led_ch=0x80;                  //閃爍的花樣
(0011) unsigned char key_code;                     //鍵盤按下的鍵盤代碼
(0012) unsigned char tmp_led_index=0x00;
(0013) unsigned char const LED_INDEX[]={0X3F,0X06,0X5B,0X4F,
(0014)                                  0X66,0X6D,0X7D,0X07,
(0015)                                  0X7F,0X6F};//共陰管的數(shù)字0-9的代碼
(0016) void port_init(void)
(0017) {
(0018)  PORTA = 0xC0; 
_port_init:
    0051 EC80      LDI	R24,0xC0
    0052 BB8B      OUT	0x1B,R24
(0019)  DDRA  = 0xC0; //高2位作為10位ADC的MSB,低2位用外部ADC輸入,其余用于鍵盤的輸入
    0053 BB8A      OUT	0x1A,R24
(0020)  PORTB = 0xFF;
    0054 EF8F      LDI	R24,0xFF
    0055 BB88      OUT	0x18,R24
(0021)  DDRB  = 0xFF; //驅(qū)動靜態(tài)595顯示,只用到高4位,低四位保留
    0056 BB87      OUT	0x17,R24
(0022)  PORTC = 0xFF; //m103 output only
    0057 BB85      OUT	0x15,R24
(0023)  DDRC  = 0xFF; //ADC的低8位輸出
    0058 BB84      OUT	0x14,R24
(0024)  PORTD = 0xFF;
    0059 BB82      OUT	0x12,R24
(0025)  DDRD  = 0xFF; //高6位用于顯示LED,低2位用于串口的輸出。
    005A BB81      OUT	0x11,R24
    005B 9508      RET
(0026) }
(0027) 
(0028) 
(0029) //TIMER0 initialize - prescale:256      
(0030) // WGM: Normal
(0031) // desired value: 2mSec
(0032) // actual value:  1.997mSec (0.2%)
(0033) void timer0_init(void)                       //硬件計數(shù)器0的初始化程序
(0034) {
(0035)  TCCR0 = 0x00; //stop
_timer0_init:
    005C 2422      CLR	R2
    005D BE23      OUT	0x33,R2
(0036)  TCNT0 = 0xB2; //set count
    005E EB82      LDI	R24,0xB2
    005F BF82      OUT	0x32,R24
(0037)  OCR0  = 0x4E;  //set compare
    0060 E48E      LDI	R24,0x4E
    0061 BF8C      OUT	0x3C,R24
(0038)  TCCR0 = 0x04; //start timer
    0062 E084      LDI	R24,4
    0063 BF83      OUT	0x33,R24
    0064 9508      RET
(0039) }
(0040) 
(0041) /*-----------------------ADC轉(zhuǎn)換初始化----------------------------------------*/
(0042) //ADC initialize
(0043) // Conversion time: 26uS
(0044) void adc_init(void)
(0045) {
(0046)  ADCSR = 0x00;                               //disable adc
_adc_init:
    0065 2422      CLR	R2
    0066 B826      OUT	0x06,R2
(0047)  ADMUX = 0x00;                               //選擇外部基準電壓 通道 0 輸入
    0067 B827      OUT	0x07,R2
(0048)  ACSR  = 0xC0;                               //模擬比較器控制和狀態(tài)寄存器 ACSR
    0068 EC80      LDI	R24,0xC0
    0069 B988      OUT	0x08,R24
(0049)                                              //ACD置1,使模擬比較器禁用
(0050)  /*--ACD--ACBG--ACO--ACI---ACIE---ACIC---ACIS1---ACIS0------------------------*/
(0051)  /*-模擬比較起禁用--模擬比較器的能隙基準源--模擬比較起輸出--模擬比較器中斷標志*/
(0052)  /*-模擬比較器中斷使能--模擬比較器輸入捕捉使能--模擬比較器中斷模式選擇--------*/
(0053)  ADCSR = 0x8B;//模擬比較起控制和狀態(tài)寄存器
    006A E88B      LDI	R24,0x8B
    006B B986      OUT	0x06,R24
    006C 9508      RET
_adc_isr:
  rr                   --> R16
    006D 922A      ST	R2,-Y
    006E 923A      ST	R3,-Y
    006F 930A      ST	R16,-Y
    0070 931A      ST	R17,-Y
    0071 938A      ST	R24,-Y
    0072 939A      ST	R25,-Y
    0073 B62F      IN	R2,0x3F
    0074 922A      ST	R2,-Y
(0054)  /*-----------ADEN---ADSC---ADFR---ADIF---ADIE---ADPS2---ADPS1---ADPS0--------*/
(0055)  //使能模數(shù)轉(zhuǎn)換 ADC開始轉(zhuǎn)換 ADC連續(xù)轉(zhuǎn)換  ADC中斷使能  128分頻
(0056) }
(0057) /*-----------------------ADC轉(zhuǎn)換中斷程序--------------------------------------*/
(0058) #pragma interrupt_handler adc_isr:15
(0059) void adc_isr(void)                           //組合輸出ADC DATA
(0060) {
(0061)  unsigned char rr=0;
    0075 2700      CLR	R16
(0062)  //conversion complete, read value (int) using...
(0063)  PORTC=~(ADCL);                              //c口顯示低8位的信息 (反相)
    0076 B024      IN	R2,0x04
    0077 9420      COM	R2
    0078 BA25      OUT	0x15,R2
(0064)  rr =ADCH<<6;                                //高8位的信息
    0079 B105      IN	R16,0x05
    007A 0F00      LSL	R16
    007B 0F00      LSL	R16
    007C 0F00      LSL	R16
    007D 0F00      LSL	R16
    007E 0F00      LSL	R16
    007F 0F00      LSL	R16
(0065)  rr ^=(0x03<<6);                             //反相
    0080 EC80      LDI	R24,0xC0
    0081 E090      LDI	R25,0
    0082 2E20      MOV	R2,R16
    0083 2433      CLR	R3
    0084 2628      EOR	R2,R24
    0085 2639      EOR	R3,R25
    0086 2D02      MOV	R16,R2
(0066)  PORTA=rr;                                   //在A口高2位顯示
    0087 BA2B      OUT	0x1B,R2
    0088 9029      LD	R2,Y+
    0089 BE2F      OUT	0x3F,R2
    008A 9199      LD	R25,Y+
    008B 9189      LD	R24,Y+
    008C 9119      LD	R17,Y+
    008D 9109      LD	R16,Y+
    008E 9039      LD	R3,Y+
    008F 9029      LD	R2,Y+
    0090 9518      RETI
(0067) }
(0068) 
(0069) void start_adc_0(void)                       //啟動ADC轉(zhuǎn)換的程序
(0070) {
(0071)  ADMUX  = 0x00;                              //選擇通道0
_start_adc_0:
    0091 2422      CLR	R2
    0092 B827      OUT	0x07,R2
(0072)  ADCSR |= 0x40;                              //開始ADC轉(zhuǎn)換
    0093 9A36      SBI	0x06,6
    0094 9508      RET
(0073) }
(0074) 
(0075) //SPI initialize                             //初始化硬件SPIS口的程序
(0076) // clock rate: 2500000hz
(0077) void spi_init(void)
(0078) {
(0079)  SPCR = 0x50; //setup SPI
_spi_init:
    0095 E580      LDI	R24,0x50
    0096 B98D      OUT	0x0D,R24
(0080)  SPSR = 0x00; //setup SPI
    0097 2422      CLR	R2
    0098 B82E      OUT	0x0E,R2
    0099 9508      RET
(0081) }
(0082) 
(0083) void SPI_595_Out(unsigned char i)            //HC595數(shù)據(jù)的輸出 
(0084) { 
(0085) SPDR = i;       /* 啟動數(shù)據(jù)傳輸 */ 
_SPI_595_Out:
  i                    --> R16
    009A B90F      OUT	0x0F,R16
(0086) while (!(SPSR & (1<<SPIF)));                 //等待傳輸結(jié)束
    009B 9B77      SBIS	0x0E,7
    009C CFFE      RJMP	0x009B
    009D 9508      RET
_disp_led:
  i                    --> R20
    009E 940E01C6  CALL	push_gset1
    00A0 2F40      MOV	R20,R16
(0087) }
(0088) 
(0089) void disp_led(unsigned char i)
(0090) {
(0091) PORTB &= ~(1 << PB4);              //準備鎖存,在全部的四個LED數(shù)據(jù)送完后再鎖存 
    00A1 98C4      CBI	0x18,4
(0092) SPI_595_Out(i);                    
    00A2 2F04      MOV	R16,R20
    00A3 DFF6      RCALL	_SPI_595_Out
(0093) PORTB |=  (1 << PB4);              //在這個時候鎖存數(shù)據(jù)  顯示
    00A4 9AC4      SBI	0x18,4
    00A5 940E01C9  CALL	pop_gset1
    00A7 9508      RET
(0094) }
(0095) 
(0096) //UART0 initialize                           //初始化串口0的程序
(0097) // desired baud rate: 9600
(0098) // actual: baud rate:9615 (0.2%)
(0099) // char size: 8 bit   沒有校驗位
(0100) // parity: Disabled
(0101) void uart0_init(void)
(0102) {
(0103)  UCSRB = 0x00;                               //disable while setting baud rate
_uart0_init:
    00A8 2422      CLR	R2
    00A9 B82A      OUT	0x0A,R2
(0104)  UCSRA = 0x00;
    00AA B82B      OUT	0x0B,R2
(0105)  UCSRC = BIT(URSEL) | 0x06;
    00AB E886      LDI	R24,0x86
    00AC BD80      OUT	0x20,R24
(0106)  UBRRL = 0x40;                               //set baud rate lo
    00AD E480      LDI	R24,0x40
    00AE B989      OUT	0x09,R24
(0107)  UBRRH = 0x00;                               //set baud rate hi
    00AF BC20      OUT	0x20,R2
(0108)  UCSRB = 0x98;
    00B0 E988      LDI	R24,0x98
    00B1 B98A      OUT	0x0A,R24
    00B2 9508      RET
(0109) }
(0110) 
(0111) void USART_Transmit( unsigned char data )
(0112) {
(0113) 
(0114) while ( !( UCSRA & (1<<UDRE)) )              // 等待發(fā)送緩沖器為空
_USART_Transmit:
  data                 --> R16
    00B3 9B5D      SBIS	0x0B,5
    00B4 CFFE      RJMP	_USART_Transmit
(0115) ; 
(0116) UDR = data;                                  //將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù)
    00B5 B90C      OUT	0x0C,R16
    00B6 9508      RET
(0117) }
(0118) 
(0119) unsigned char USART_Receive(void)            //使用中斷接受時不用此函數(shù)
(0120) {
(0121) while ( !(UCSRA & (1<<RXC)) )                // 等待接收數(shù)據(jù)
_USART_Receive:
    00B7 9B5F      SBIS	0x0B,7
    00B8 CFFE      RJMP	_USART_Receive
(0122) ;
(0123) return UDR;                                  // 從緩沖器中獲取并返回數(shù)據(jù)
    00B9 B10C      IN	R16,0x0C
    00BA 9508      RET
_uart0_rx_isr:
    00BB 940E01DD  CALL	push_lset
(0124) }
(0125) 
(0126) #pragma interrupt_handler uart0_rx_isr:12    
(0127) void uart0_rx_isr(void)                      //串口0的中斷服務(wù)程序
(0128) {
(0129)  USART_Transmit(UDR);                        //把接收到的數(shù)據(jù)重新發(fā)回給PC機 
    00BD B10C      IN	R16,0x0C
    00BE DFF4      RCALL	_USART_Transmit
    00BF 940E01F4  CALL	pop_lset
    00C1 9518      RETI
(0130) }
(0131) 
(0132) 
(0133) //call this routine to initialize all peripherals
(0134) void init_devices(void)
(0135) {
(0136)  //stop errant interrupts until set up
(0137)  CLI(); //disable all interrupts
_init_devices:
    00C2 94F8      BCLR	7
(0138)  port_init();
    00C3 DF8D      RCALL	_port_init
(0139)  timer0_init();
    00C4 DF97      RCALL	_timer0_init
(0140)  uart0_init();
    00C5 DFE2      RCALL	_uart0_init
(0141)  spi_init();
    00C6 DFCE      RCALL	_spi_init
(0142)  adc_init();
    00C7 DF9D      RCALL	_adc_init
(0143)  MCUCR = 0x00;
    00C8 2422      CLR	R2
    00C9 BE25      OUT	0x35,R2
(0144)  GICR  = 0x00;
    00CA BE2B      OUT	0x3B,R2
(0145)  ASSR &= ~(0X08);
    00CB B582      IN	R24,0x22
    00CC 7F87      ANDI	R24,0xF7
    00CD BD82      OUT	0x22,R24
(0146)  TIMSK = 0x01; //timer interrupt sources
    00CE E081      LDI	R24,1
    00CF BF89      OUT	0x39,R24
(0147)  SEI(); //re-enable interrupts
    00D0 9478      BSET	7
    00D1 9508      RET
(0148)  //all peripherals are now initialized
(0149) }
(0150) 
(0151) 
(0152) void flash_led_type1(void)                    //PD口的跑馬燈顯示  從右到左
(0153) {
(0154) if (led_ch==0x02) led_ch=0x80;
_flash_led_type1:
    00D2 91800060  LDS	R24,led_ch
    00D4 3082      CPI	R24,2
    00D5 F419      BNE	0x00D9
    00D6 E880      LDI	R24,0x80
    00D7 93800060  STS	led_ch,R24
(0155) PORTD=~(led_ch);      
    00D9 90200060  LDS	R2,led_ch
    00DB 9420      COM	R2
    00DC BA22      OUT	0x12,R2
(0156) led_ch=led_ch>>1;
    00DD 90200060  LDS	R2,led_ch
    00DF 9426      LSR	R2
    00E0 92200060  STS	led_ch,R2
    00E2 9508      RET
(0157) }
(0158) 
(0159) void flash_led_type2(void)                    //PD口的跑馬燈顯示  從左到右
(0160) {
(0161) if (led_ch==0x00) led_ch=0x02;
_flash_led_type2:
    00E3 90200060  LDS	R2,led_ch
    00E5 2022      TST	R2
    00E6 F419      BNE	0x00EA
    00E7 E082      LDI	R24,2
    00E8 93800060  STS	led_ch,R24
(0162) PORTD=~(led_ch);      
    00EA 90200060  LDS	R2,led_ch
    00EC 9420      COM	R2
    00ED BA22      OUT	0x12,R2
(0163) led_ch=led_ch<<1;
    00EE 90200060  LDS	R2,led_ch
    00F0 0C22      LSL	R2
    00F1 92200060  STS	led_ch,R2
    00F3 9508      RET
(0164) }
(0165) 
(0166) void flash_led_type3(void)                    //PD口的跑馬燈顯示  反相
(0167) {
(0168) PORTD^=0XFC;                    
_flash_led_type3:
    00F4 EF8C      LDI	R24,0xFC
    00F5 E090      LDI	R25,0
    00F6 B222      IN	R2,0x12

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线免费视频| 自拍偷拍欧美精品| 一二三四区精品视频| 国产另类ts人妖一区二区| 91免费视频网址| 久久久久亚洲综合| 日韩精品一级二级| 91蜜桃免费观看视频| 欧美精品一区二区久久久| 夜夜嗨av一区二区三区网页| 国产成人亚洲精品狼色在线| 欧美一级理论片| 亚洲伦在线观看| 成人精品免费看| 久久一夜天堂av一区二区三区| 亚洲午夜在线视频| 91免费国产在线观看| 久久精品人人做人人爽人人| 久久草av在线| 欧美一区二区三区的| 一区二区在线观看免费| youjizz久久| 国产精品蜜臀av| 成人免费观看av| 亚洲国产精品传媒在线观看| 国内精品写真在线观看| 精品欧美一区二区在线观看| 日本成人中文字幕在线视频 | 亚洲另类春色校园小说| 国产精品一区一区| 欧美国产精品一区二区| 成人午夜av电影| 亚洲国产精品99久久久久久久久| 久久精品国产亚洲aⅴ| 欧美一区二区三区免费在线看 | 成人免费看片app下载| 国产精品少妇自拍| 91视视频在线直接观看在线看网页在线看| 中文字幕一区二区三区色视频| 成人激情校园春色| 亚洲视频每日更新| 欧美午夜在线观看| 蜜桃精品视频在线观看| 欧美va亚洲va香蕉在线| 国产一区中文字幕| 亚洲欧洲成人精品av97| 欧美性猛交xxxxxx富婆| 美女尤物国产一区| 国产精品网友自拍| 欧美在线视频不卡| 青青草97国产精品免费观看 | 丝袜a∨在线一区二区三区不卡| 欧美日韩一区在线观看| 琪琪一区二区三区| 中文字幕精品三区| 91成人免费电影| 麻豆精品精品国产自在97香蕉| 久久精品视频网| 欧美午夜影院一区| 久久精品国产免费看久久精品| 欧美激情一区在线观看| 欧美日韩午夜精品| 国产精品一区2区| 亚洲伦理在线免费看| 日韩免费一区二区| 99视频一区二区| 久久99热99| 一区二区激情视频| 久久久99免费| 欧美裸体bbwbbwbbw| 国产精品888| 肉肉av福利一精品导航| 国产日韩欧美精品电影三级在线 | 大尺度一区二区| 亚洲一区国产视频| 久久久一区二区三区| 91久久香蕉国产日韩欧美9色| 国内久久精品视频| 亚洲va在线va天堂| 中文字幕亚洲在| 欧美va亚洲va香蕉在线| 欧美特级限制片免费在线观看| 国产麻豆精品视频| 亚洲国产精品欧美一二99| 国产日韩成人精品| 日韩欧美国产成人一区二区| 91浏览器入口在线观看| 精品影视av免费| 五月开心婷婷久久| 亚洲乱码国产乱码精品精可以看| 久久九九影视网| 欧美日韩一区不卡| 99r精品视频| 成人中文字幕合集| 国产麻豆日韩欧美久久| 免播放器亚洲一区| 亚洲第一久久影院| 亚洲精品乱码久久久久久黑人| 国产欧美日韩精品一区| 久久综合av免费| 欧美肥妇free| 精品视频1区2区| 欧美日韩视频在线第一区| 99精品欧美一区二区蜜桃免费| 国产成人av福利| 激情五月激情综合网| 国内精品视频666| 国产一区二区不卡老阿姨| 国产呦萝稀缺另类资源| 国产另类ts人妖一区二区| 国产精品自拍网站| 国产成人av一区二区三区在线| 国产不卡高清在线观看视频| 国产精品99久久久| 不卡一区在线观看| 99re视频这里只有精品| 色香蕉成人二区免费| 色综合天天综合网天天狠天天| 色婷婷亚洲综合| 欧美三级三级三级| 欧美男男青年gay1069videost| 欧美日韩高清一区| 91精品国产91热久久久做人人| 欧美一级xxx| 久久久亚洲综合| 国产精品天干天干在线综合| 国产精品日韩成人| 玉足女爽爽91| 日韩精品成人一区二区三区| 日韩av一区二| 国产精品中文字幕一区二区三区| 成人性视频免费网站| 99re成人在线| 欧美人妇做爰xxxⅹ性高电影| 欧美刺激脚交jootjob| 国产日韩高清在线| 亚洲午夜久久久久久久久电影院 | 91视频91自| 欧美肥大bbwbbw高潮| 精品国产伦一区二区三区观看体验| 久久久精品综合| 亚洲欧美福利一区二区| 视频一区中文字幕| 高清国产一区二区| 欧美在线|欧美| 欧美大片顶级少妇| 中文字幕佐山爱一区二区免费| 婷婷综合久久一区二区三区| 国产精品羞羞答答xxdd| 欧美综合天天夜夜久久| 精品国产乱码久久久久久图片| 亚洲色图第一区| 日本欧美一区二区在线观看| 成人国产电影网| 日韩视频123| 一区二区三区欧美激情| 国产精品伊人色| 欧美蜜桃一区二区三区| 日本一区二区不卡视频| 日韩精品久久久久久| 91毛片在线观看| 久久久精品2019中文字幕之3| 亚洲va在线va天堂| 91年精品国产| 国产精品水嫩水嫩| 极品销魂美女一区二区三区| 91麻豆国产香蕉久久精品| 久久香蕉国产线看观看99| 香蕉加勒比综合久久| 成人黄色小视频在线观看| 日韩一区二区三区在线| 亚洲综合色网站| 成人av电影免费观看| 久久久噜噜噜久噜久久综合| 日韩一区精品视频| 欧美午夜影院一区| 亚洲视频资源在线| 国产一二精品视频| 精品入口麻豆88视频| 日韩在线a电影| 欧美日韩一级视频| 亚洲精品国久久99热| 成a人片亚洲日本久久| 日本一区二区三区在线不卡| 激情综合五月婷婷| 欧美电影免费提供在线观看| 婷婷国产在线综合| 欧美日韩一级黄| 天堂成人国产精品一区| 91福利国产成人精品照片| 亚洲男同性恋视频| 91视频www| 亚洲最新在线观看| 日本韩国精品在线| 亚洲欧美日韩在线不卡| 色综合中文字幕| 亚洲免费在线观看| 在线观看www91| 婷婷激情综合网| 欧美一级生活片|