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

📄 mainloop.lis

📁 usb开发(基于D12)。。湖南大学计算机与通信学院同学毕业设计及源代码!!好的很啊
💻 LIS
字号:
                         .module MainLoop.c
                         .area text(rom, con, rel)
 0000                   .dbfile G:\source\MainLoop.c
 0000                   .dbfunc s main _main fI
                         .even
 0000                 _main::
 0000                   .dbline -1
 0000                   .dbline 48
                       ; /*++
                       ; 
                       ; Module Name:
                       ; 
                       ;          MainLoop.h
                       ; 
                       ; Abstract:
                       ; 
                       ;          Header file related to D12 module
                       ; 
                       ; Environment:
                       ; 
                       ;         ICCAVR 6.29
                       ; 
                       ; Revision History:
                       ; 
                       ;         04/23/2004      chenchi   created
                       ; 
                       ; --*/
                       ; /******************************************************************/
                       ; #include "io8515v.h"
                       ; #include <macros.h>
                       ; #include "d12.h"
                       ; /************************************************************
                       ; **工程名称:U盘固件程序开发
                       ; **编译器类型及版本:ICCAVR 6.26C
                       ; **日期:2004.4.30
                       ; **创建人:陈驰
                       ; **所属单位:湖南大学计算机与通信学院
                       ; 
                       ; **芯片类型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
                       ; **时钟频率:8MHZ
                       ; 
                       ; **函数功能:主函数
                       ; **函数输入参数及说明:无
                       ; 
                       ; **函数返回值:无
                       ; **在本函数以外定义的变量:D12_COMMAND,D12_DATA
                       ; **调用的函数说明:
                       ;   D12_ISR();
                       ;   中断处理函数
                       ;   
                       ; **修改人:陈驰
                       ; **修改日期:2004.4.30
                       ; **修改说明:创建
                       ; *************************************************************/
                       ; void main(void)
                       ; {
 0000                   .dbline 50
                       ;     //芯片初始化
                       ;     PORTC = 0xff;
 0000 8FEF              ldi R24,255
 0002 85BB              out 0x15,R24
 0004                   .dbline 51
                       ;     DDRC  = 0xff;//保持状态
 0004 84BB              out 0x14,R24
 0006                   .dbline 53
                       ; 
                       ;     DDRD  = 0xea; //1110 1010关闭引脚上拉电阻,使正确读取引脚输入
 0006 8AEE              ldi R24,234
 0008 81BB              out 0x11,R24
 000A                   .dbline 54
                       ;     PORTD = 0xd8; //1101 1000
 000A 88ED              ldi R24,216
 000C 82BB              out 0x12,R24
 000E                   .dbline 55
                       ;     DDRA  = 0xff; //关闭上拉电阻,使正确读写外部SRAM
 000E 8FEF              ldi R24,255
 0010 8ABB              out 0x1a,R24
 0012                   .dbline 57
                       ;     
                       ;     MCUCR = 0xc5;
 0012 85EC              ldi R24,197
 0014 85BF              out 0x35,R24
 0016                   .dbline 58
                       ;     DDRC  = 0x00;
 0016 2224              clr R2
 0018 24BA              out 0x14,R2
 001A                   .dbline 59
                       ;     D12_COMMAND = 0xf3;
 001A 83EF              ldi R24,243
 001C 8093017C          sts 31745,R24
 0020                   .dbline 60
                       ;     cwait;
 0020 0000              nop
 0022                   .dbline 61
                       ;     D12_DATA = 0x06;//设置模式0
 0022 86E0              ldi R24,6
 0024 8093007C          sts 31744,R24
 0028                   .dbline 62
                       ;     cwait;
 0028 0000              nop
 002A                   .dbline 63
                       ;     D12_COMMAND = 0xd0;
 002A 80ED              ldi R24,208
 002C 8093017C          sts 31745,R24
 0030                   .dbline 64
                       ;     cwait;
 0030 0000              nop
 0032                   .dbline 65
                       ;     D12_DATA = 0x80;//设置地址 0 使能
 0032 80E8              ldi R24,128
 0034 8093007C          sts 31744,R24
 0038                   .dbline 66
                       ;     cwait;
 0038 0000              nop
 003A                   .dbline 67
                       ;     D12_COMMAND = 0xf3;//连接主机
 003A 83EF              ldi R24,243
 003C 8093017C          sts 31745,R24
 0040                   .dbline 68
                       ;     cwait;
 0040 0000              nop
 0042                   .dbline 69
                       ;     D12_DATA = 0x16;
 0042 86E1              ldi R24,22
 0044 8093007C          sts 31744,R24
 0048                   .dbline 70
                       ;     cwait;
 0048 0000              nop
 004A                   .dbline 71
                       ;     D12_DATA = 0x05;//初始化频率 8MHz
 004A 85E0              ldi R24,5
 004C 8093007C          sts 31744,R24
 0050                   .dbline 72
                       ;     csram;
 0050 609301FC          sts 0xfc01,R22
 0054                   .dbline 72
 0054                   .dbline 74
                       ;     
                       ;     TCCR1B = 0xc0;//启动ICP上升沿出入捕获
 0054 80EC              ldi R24,192
 0056 8EBD              out 0x2e,R24
 0058                   .dbline 76
                       ;     
                       ;     UCR  = 0x00; //disable while setting baud rate
 0058 2AB8              out 0xa,R2
 005A                   .dbline 77
                       ;     UBRR = 25; //set baud rate 19.2K 波特率
 005A 89E1              ldi R24,25
 005C 89B9              out 0x9,R24
 005E                   .dbline 78
                       ;     UCR  = 0xd8; //enable 0001 1101
 005E 88ED              ldi R24,216
 0060 8AB9              out 0xa,R24
 0062 03C0              rjmp L4
 0064                 L3:
 0064                   .dbline 80
                       ;     while(1)
                       ;     {
 0064                   .dbline 81
                       ;         if(!D12_int_n)//判断D12中断,低电平触发
 0064 8299              sbic 0x10,2
 0066 01C0              rjmp L6
 0068                   .dbline 82
                       ;         {
 0068                   .dbline 83
                       ;             D12_ISR();//中断服务程序
 0068 00D0              rcall _D12_ISR
 006A                   .dbline 84
                       ;         }
 006A                 L6:
 006A                   .dbline 85
 006A                 L4:
 006A                   .dbline 79
 006A FCCF              rjmp L3
 006C                 X0:
 006C                   .dbline -2
 006C                   .dbline 86
                       ;     }
                       ; }
 006C                 L2:
 006C                   .dbline 0 ; func end
 006C 0895              ret

⌨️ 快捷键说明

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