?? main.c
字號:
#include <iom16v.h>
#include "D:\ICC_H\CmmICC.H"
#define DISP_PORT PORTB
#define DISP_DDR DDRB
char index;
char n;
char arr1[100]; //操作讀取命令返回的數據
char arr2[100]; //所讀取的數據
char a1[]={0X3A,0X71,0X00}; //檢測U盤
char a2[]={0X3A,0X64,0X06,0X5C,0X31,0X2E,0X54,0X58,0X54};//打開文件
char a3[]={0X3A,0X7A,0X04,0X00,0X00,0X00,0X01}; //字節定位
char a4[]={0X3A,0X7B,0X01,0X30}; //讀取的字節長度
char a5[]={0X3A,0X67,0X00};//關閉文件
void delayms(unsigned int i)
{
unsigned int j,k;
for (j =0; j < i; j++)
{
for(k = 0; k < 100; k++)
;
}
}
void delays(unsigned int i)
{
unsigned int j,k,d;
for(j=0;j<i;j++)
{
for(k=0;k<1000;k++)
{
for(d=0;d<100;d++)
;
}
}
}
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = 0x86;
UBRRL = 47; //set baud rate lo,波特率為9.6K
UBRRH = 0x00; //set baud rate hi
UCSRB = 0x98; //接收中斷允許,接收緩沖自動清空,接收允許
}
#pragma interrupt_handler uart0_rx_isr:12 //中斷程序
void uart0_rx_isr(void)
{
if(index<120)
{
arr1[index]=UDR;
if(index>2)
{
arr2[n]=arr1[index];
n++;
}
index++;
}
else
DISP_PORT = UDR;
}
void mcu_init(void)
{
CLI(); //全局中斷標志禁止
uart0_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts 全局中斷標志使能
}
//檢測U盤
void CMD_DiskReady()
{
char i=0;
for(i=0;i<3;i++)
{
UDR=a1[i];
delayms(10);
}
delays(1);
}
//打開文件 1.TXT
void CMD_FileOpen()
{
char j=0;
for(j=0;j<9;j++)
{
UDR=a2[j];
delayms(10);
}
delays(1);
}
//字節定位 定位位為第1位,指針指向第2位
void CMD_ByteLocate()
{
char m=0;
for(m=0;m<7;m++)
{
UDR=a3[m];
delayms(10);
}
delays(1);
}
//讀5個字節
void CMD_ByteRead()
{
char d=0;
for(d=0;d<4;d++)
{
UDR=a4[d];
delayms(10);
}
delays(1);
}
//關閉文件 1.TXT
void CMD_FileClose()
{
char k=0;
for(k=0;k<3;k++)
{
UDR=a5[k];
delayms(10);
}
delays(1);
}
void main()
{
DDRB=0xff;
PORTB=0x0f;
mcu_init();
CMD_DiskReady();
delays(40);
CMD_FileOpen();
delays(40);
CMD_ByteLocate();
delays(40);
n=0;
index=0;
CMD_ByteRead();
while(!(UCSRA&0x40)); //等待發送結束
UCSRA|=0x40; //清除發送結束標志位
delays(10);
CMD_FileClose();
delays(40);
while(1)
{
//主程序
delayms(50);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -