波形是自己給定的數值,并不是采集的值
0.png (64.77 KB, 下載次數: 232)
下載附件
2017-3-1 23:37 上傳
完整代碼下載:
12864基于msp430 動態.zip
(27.71 KB, 下載次數: 76)
2017-3-1 16:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
部分代碼預覽:
- #include<msp430f169.h>
- #include<stdlib.h>
- #include<math.h>
- //延時函數,IAR自帶,經常使用到
- #define CPU_F ((double)8000000) //外部高頻晶振8MHZ
- //#define CPU_F ((double)32768) //外部低頻晶振32.768KHZ
- #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
- #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
- #define uchar unsigned char
- #define uint unsigned int
- #define ulong unsigned long
- #define LCD_DataIn P4DIR=0x00 //數據口方向設置為輸入
- #define LCD_DataOut P4DIR=0xff //數據口方向設置為輸出
- #define LCD2MCU_Data P4IN
- #define MCU2LCD_Data P4OUT
- #define RS_CLR P5OUT &= ~BIT5 //RS置低
- #define RS_SET P5OUT |= BIT5 //RS置高
- #define RW_CLR P5OUT &= ~BIT6 //RW置低
- #define RW_SET P5OUT |= BIT6 //RW置高
- #define EN_CLR P5OUT &= ~BIT7 //E置低
- #define EN_SET P5OUT |= BIT7 //E置高
- #define PSB_CLR P5OUT &= ~BIT0 //PSB置低,串口方式
- #define PSB_SET P5OUT |= BIT0 //PSB置高,并口方式
- #define RST_CLR P5OUT &= ~BIT1 //RST置低
- #define RST_SET P5OUT |= BIT1 //RST置高
- uchar DIS1[] = {"Vpp:"};
- uchar DIS2[] = {"F:"};
- uchar DIS3[] = {"5V"};
- uchar DIS4[] = {"12Hz"};
- uchar D1[]={"0123456789"};
- //正弦波代碼
- uchar tab[]={
- 126,100,80,70,65,62,65,70,80,100,126,152,172,182,187,190,187,182,172,152
- };
- //背景圖片
- uchar Photo1[]={
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00
- };
- /******************************************************************************
- 函數名稱: Clock_Init
- 功 能: 外部時鐘初始化
- 參 數: 無
- 返回值 : 無
- ******************************************************************************/
- void Clock_Init()
- {
- uchar i;
- BCSCTL1&=~XT2OFF; //打開XT2振蕩器
- BCSCTL2|=SELM1+SELS; //MCLK為8MHZ,SMCLK為8MHZ
- do{
- IFG1&=~OFIFG; //清楚振蕩器錯誤標志
- for(i=0;i<100;i++)
- _NOP();
- }
- while((IFG1&OFIFG)!=0); //如果標志位1,則繼續循環等待
- IFG1&=~OFIFG;
- }
- /******************************************************************************
- 函數名稱: Port_Init
- 功 能: 端口初始化
- 參 數: 無
- 返回值 : 無
- ******************************************************************************/
- void Port_Init()
- {
- P4SEL = 0x00;
- P5SEL = 0x00;
- P5DIR|= BIT0 + BIT1 + BIT5 + BIT6 + BIT7;
- }
- /******************************************************************************
- 函數名稱: Delay_1ms
- 功 能: 延時約1ms的時間
- 參 數: 無
- 返回值 : 無
- *******************************************************************************/
- void Delay_1ms(void)
- {
- uchar i;
- for(i = 150;i > 0;i--) _NOP();
- }
- /*******************************************************************************
- 函數名稱: Delay_Nms
- 功 能: 延時N個1ms的時間
- 參 數: n--延時長度
- 返回值 : 無
- *******************************************************************************/
- void Delay_Nms(uint n)
- {
- uint i;
- for(i = n;i > 0;i--) Delay_1ms();
- }
- /*******************************************************************************
- 函數名稱: Write_Cmd
- 功 能: 向液晶中寫控制命令
- 參 數: cmd--控制命令
- 返回值 : 無
- *******************************************************************************/
- void Write_Cmd(uchar cmd)
- {
- uchar lcdtemp = 0;
- RS_CLR;
- RW_SET;
- LCD_DataIn;
- do //判忙
- {
- EN_SET;
- _NOP();
- lcdtemp = LCD2MCU_Data;
- EN_CLR;
- }while(lcdtemp & 0x80);
-
- LCD_DataOut;
- RW_CLR;
- MCU2LCD_Data = cmd;
- EN_SET;
- _NOP();
- EN_CLR;
- }
- /******************************************************************************
- 函數名稱: Write_Data
- 功 能: 向液晶中寫顯示數據
- 參 數: dat--顯示數據
- 返回值 : 無
- *******************************************************************************/
- void Write_Data(uchar dat)
- {
- uchar lcdtemp = 0;
- RS_CLR;
- RW_SET;
- LCD_DataIn;
- do //判忙
- {
- EN_SET;
- _NOP();
- lcdtemp = LCD2MCU_Data;
- EN_CLR;
- }while(lcdtemp & 0x80);
-
- LCD_DataOut;
- RS_SET;
- RW_CLR;
- MCU2LCD_Data = dat;
- EN_SET;
- _NOP();
- EN_CLR;
- }
- /*******************************************************************************
- 函數名稱: Read_Data
- 功 能: 讀數據
- 參 數: 無
- 返回值 : readvalue
- ********************************************/
- uchar Read_Data()
- {
- uint readvalue;
- LCD_DataOut;
- MCU2LCD_Data |=0xff;
- RS_SET;
- RW_SET;
- LCD_DataIn;
- EN_CLR;
- EN_SET;
- readvalue=LCD2MCU_Data;
- Delay_1ms();
- EN_CLR;
- return readvalue;
- }
- /******************************************************************************
- 函數名稱: Lcd_Pos
- 功 能: 定位函數
- 參 數: X(行),Y(列)
- 返回值 :無
- ******************************************************************************/
- void Lcd_Pos(uchar X,uchar Y)
- {
- uchar pos;
- if (X==1)
- {X=0x80;}
- else if (X==2)
- {X=0x90;}
- else if (X==3)
- {X=0x88;}
- else if (X==4)
- {X=0x98;}
- pos = X+Y ;
-
- Write_Cmd(pos); //顯示地址
- }
- /******************************************************************************
- 函數名稱: Clear_GDRAM
- 功 能: 所有GDRAM 寫0x00
- 參 數: 無
- 返回值 : 無
- ******************************************************************************/
- void Clear_RDRAM() //使用圖形模式時,應對所有GDRAM 寫0x00 才算清屏,清屏命令(write_cmd(0x01))是對使用自帶字庫顯示時用的
- {
- uchar i, j, k ;
- Write_Cmd(0x34); //打開擴展指令集,繪圖顯示關
- Write_Cmd(0x36); //打開擴展指令集,繪圖顯示開
- for( i = 0 ; i < 2 ; i++ ) //分上下兩屏寫
- {
- for( j = 0 ; j < 32 ; j++ )
- {
- Write_Cmd( 0x80 + j ) ; //寫Y 坐標
- Delay_1ms();
- if( i == 0 ) //寫X 坐標
- {
- Write_Cmd( 0x80 ) ;
- Delay_1ms();
- }
- else //寫下半屏
- {
- Write_Cmd( 0x88 ) ;
- Delay_1ms();
- }
- for( k = 0 ; k < 16 ; k++ ) //寫一整行數據
- {
- Write_Data(0x00) ;
- Delay_1ms();
- }
- }
- }
- Write_Cmd( 0x30 ) ; //關閉擴展指令集
- }
- /******************************************************************************
- 函數名稱: Picture_Display
- 功 能: 顯示圖片
- 參 數: bmp
- 返回值 : 無
- ******************************************************************************/
- void Picture_Display(uchar *bmp)
- {
- uchar i,j;
- Write_Cmd(0x34); //寫數據時,關閉圖形顯示
- for(i=0;i<32;i++)
- {
- Write_Cmd(0x80+i); //先寫入水平坐標值
- Write_Cmd(0x80); //寫入垂直坐標值
- for(j=0;j<16;j++) //再寫入兩個8位元的數據
- Write_Data(*bmp++);
- delay_ms(1);
- }
- for(i=0;i<32;i++)
- {
- Write_Cmd(0x80+i);
- Write_Cmd(0x88);
- for(j=0;j<16;j++)
- Write_Data(*bmp++);
- delay_ms(1);
- }
- Write_Cmd(0x36); //寫完數據,開圖形顯示
- }
- /******************************************************************************
- 函數名稱: Clear_Screen
- 功 能: 清屏
- 參 數: 無
- 返回值 : 無
- ******************************************************************************/
- void Clear_Screen()
- {
- Write_Cmd(0x34); //擴充指令操作
- Delay_Nms(3);
- Write_Cmd(0x30); //基本指令操作
- Delay_Nms(3);
- Write_Cmd(0x01); //清屏
- Delay_Nms(3);
- }
- /*******************************************************/
- uchar Y_wz(uchar a)
- {
- uchar i;
- for(i=0;i<64;i++)
- {
- if((a>(i*4))&&(a<=((i+1)*4)))break;
- }
- return i;
- }
- /*******************************************************************************
- 函數名: Draw_Point
- 函數說明: 畫點
- 傳入參數: 打點位置(x0,y0);color=1,點亮;color=0,擦除
- x0為列作標,y0為行坐標
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void Draw_Point(unsigned char x,unsigned char y,unsigned char color)
- {
- unsigned char row,collum,cbite;
- unsigned char tempH,tempL;
- Write_Cmd(0x34); //設置擴充指令集,關閉繪圖
- Write_Cmd(0x36); //擴充指令集,打開繪圖
- collum=x>>4; //列 左移四位
- cbite=x&0x0f;
- if(y<32)
- row=y;
- else
- {
- row=y-32;
- collum+=8;
- }
- Write_Cmd(0x80+row);
- Write_Cmd(0x80+collum);
- Read_Data();
- tempH=Read_Data();
- tempL=Read_Data();
- Write_Cmd(0x80+row);
- Write_Cmd(0x80+collum);
- if (color)
- {
- if(cbite<8)
- {
- tempH|=(1<<(7-cbite));
- //tempL=(1<<(7-cbite));
- }
- else
- {
- //tempH=(1<<(15-cbite));
- tempL|=(1<<(15-cbite));
- }
- }
- else
- {
- if(cbite<8)
- {
- tempH&=~(1<<(7-cbite));
- //tempL=(1<<(7-cbite));
- }
- else
- {
- //tempH=(1<<(15-cbite));
- tempL&=~(1<<(15-cbite));
- }
- }
- Write_Data(tempH);
- Write_Data(tempL);
- Write_Cmd(0x30);
- }
- /*******************************************************************************
- 函數名: Write_LineX
- 函數說明: 畫水平線
- 傳入參數: x0為列作標,y0為行坐標
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void Write_LineX( unsigned char X0, unsigned char X1, unsigned char Y)
- { unsigned char Temp ;
- if( X0 > X1 )
- {
- Temp = X1 ;
- X1 = X0 ;
- X0 = Temp ;
- }
- for( ; X0 <= X1 ; X0++ )
- Draw_Point( X0, Y,1 ) ;
- }
- /*******************************************************************************
- 函數名: Write_LineY
- 函數說明: 畫水平線
- 傳入參數: x0為列作標,y0為行坐標
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void Write_LineY( unsigned char X, unsigned char Y0, unsigned char Y1 )
- {
- unsigned char Temp ;
- if( Y0 > Y1 )
- {
- Temp = Y1 ;
- Y1 = Y0 ;
- Y0 = Temp ;
- }
- for(; Y0 <= Y1 ; Y0++)
- Draw_Point( X, Y0,1);
- }
- /*******************************************************************************
- 函數名: Write_LineY
- 函數說明: 畫水平線
- 傳入參數: x0為列作標,y0為行坐標
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void Write_Line( unsigned char StartX, unsigned char StartY, unsigned char EndX, unsigned char EndY)
- {
- signed int t, distance; /*根據屏幕大小改變變量類型(如改為int型)*/
- signed int x = 0 , y = 0 , delta_x, delta_y ;
- signed char incx, incy ;
- delta_x = EndX - StartX ;
- delta_y = EndY - StartY ;
- if( delta_x > 0 )
- {
- incx = 1;
- }
- else if( delta_x == 0 )
- {
- Write_LineY( StartX, StartY, EndY ) ;
- return ;
- }
- else
- {
- incx = -1 ;
- }
- if( delta_y > 0 )
- {
- incy = 1 ;
- }
- else if(delta_y == 0 )
- {
- Write_LineX( StartX, EndX, StartY ) ;
- return ;
- }
- else
- {
- incy = -1 ;
- }
- delta_x = abs( delta_x );
- delta_y = abs( delta_y );
- if( delta_x > delta_y )
- {
- distance = delta_x ;
- }
- else
- {
- distance = delta_y ;
- }
- Draw_Point( StartX, StartY ,1) ;
- /* Draw Line*/
- for( t = 0 ; t <= distance+1 ; t++ )
- {
- Draw_Point( StartX, StartY,1 ) ;
- x += delta_x ;
- y += delta_y ;
- if( x > distance )
- {
- x -= distance ;
- StartX += incx ;
- }
- if( y > distance )
- {
- y -= distance ;
- StartY += incy ;
- }
- }
- }
- /*******************************************************************************
- 函數名: Lcd_Init
- 函數說明: LCD初始化
- 傳入參數: 無
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void Lcd_Init(void)
- {
- Delay_Nms(500);
- Write_Cmd(0x30); //基本指令集
- Delay_1ms();
- Write_Cmd(0x02); // 地址歸位
- Delay_1ms();
- Write_Cmd(0x0c); //整體顯示打開,游標關閉
- Delay_1ms();
- Write_Cmd(0x01); //清除顯示
- Delay_1ms();
- Write_Cmd(0x06); //游標右移
- Delay_1ms();
- Write_Cmd(0x80); //設定顯示的起始地址
- }
- /*******************************************************************************
- 函數名: main
- 函數說明: 主函數
- 傳入參數: 無
- 傳出參數: 無
- 返回值: 無
- *******************************************************************************/
- void main( void )
- {
- Port_Init();
- WDTCTL = WDTPW + WDTHOLD; //關狗
- uchar i,*a,x,y,z=0;
- uint nn=0,mm=9;
- y=0x00;
- Delay_Nms(100); //上電,等待穩定
- Lcd_Init(); //初始化液晶
- a=Photo1;
- while(1)
- {
-
- Lcd_Pos(1,6); //設置顯示位置為第一行
- for(i=0;i<4;i++)
- {
- Write_Data(DIS1[i]);
- }
- Lcd_Pos(3,6); //設置顯示位置為第3行
- for(i=0;i<2;i++)
- {
- Write_Data(DIS2[i]);
- }
-
-
-
- Lcd_Pos(2,6); //設置顯示位置為第2行
- if(nn==10)nn=0;
- for(i=0;i<4;i++)
- {
-
- DIS3[0]=D1[nn];
- Write_Data(DIS3[i]);
- }
- nn++;
-
- Lcd_Pos(4,6); //設置顯示位置為第四行
- if(mm==0)mm=9;
- for(i=0;i<4;i++)
- {
-
- ………余下代碼請下載附件………
復制代碼
|