diff --git a/supwisdom/sp_consume.c b/supwisdom/sp_consume.c
index 579a3af..d8e6bb1 100644
--- a/supwisdom/sp_consume.c
+++ b/supwisdom/sp_consume.c
@@ -654,8 +654,7 @@
     CARD.qrcode.nowtime = sp_get_ticker();
     if((CARD.qrcode.nowtime - CARD.qrcode.starttime) < CARD.qrcode.validtime*DELAY_TIME1s)
     {
-      show_home(pos);
-      show_home_qrcode(CARD.qrcode.qrcode_url);
+      show_home_qrcode(pos,CARD.qrcode.qrcode_url);
       if(CARD.qrcode.nowtime - tick > DELAY_TIME2s)
       {
         tick = CARD.qrcode.nowtime;
diff --git a/supwisdom/sp_display.c b/supwisdom/sp_display.c
index b81672a..38b21b7 100644
--- a/supwisdom/sp_display.c
+++ b/supwisdom/sp_display.c
@@ -64,10 +64,21 @@
   glcd_draw_string_xy(0, GLCD_BUTTOM_Y, line_buff);
 }
 
+static void show_code_bottom(sp_pos_t* pos)
+{
+  sprintf(line_buff,"%02d:%02x%02x%02x%02x",pos->deviceno, pos->devphyid[0],
+          pos->devphyid[1], pos->devphyid[2], pos->devphyid[3]);
+  glcd_draw_string_xy(0, GLCD_BUTTOM_Y, line_buff);
+}
+
 static char last_qrcode_url[32]= {0};
-void show_home_qrcode(char* qrcode_url)
+void show_home_qrcode(sp_pos_t* pos,char* qrcode_url)
 {
   uint8 i,j;
+  uint8 pixel;
+
+  show_title();
+  show_code_bottom(pos);
   if(MEMCMP(qrcode_url,last_qrcode_url,(int)strlen(qrcode_url)) != 0)
   {
     sprintf(last_qrcode_url,"%s",qrcode_url);
@@ -79,7 +90,7 @@
   {
     for(j=0; j<MAX_MODULESIZE*2; j++)
     {
-      uint8_t pixel = m_byModuleData[i/2][j/2];
+      pixel = m_byModuleData[i/2][j/2];
 
       glcd_set_pixel(j+70, 12+i, pixel);
       glcd_set_pixel(j+70, 12+i+1, pixel);
diff --git a/supwisdom/sp_display.h b/supwisdom/sp_display.h
index 3160248..71468e3 100644
--- a/supwisdom/sp_display.h
+++ b/supwisdom/sp_display.h
@@ -24,7 +24,7 @@
 	void show_home(sp_pos_t* pos);
 	void show_money(sp_pos_t* pos, uint32 money);
 	void show_manage_passwd(sp_pos_t* pos, const char* hint,uint8 passwd[],uint8 len);
-	void show_home_qrcode(char* qrcode_url);
+	void show_home_qrcode(sp_pos_t* pos,char* qrcode_url);
 	
 	void disp_hint_info(sp_pos_t* pos, const char* msg1,uint32 ms);
 	void disp_hint_info_two(sp_pos_t* pos, const char* msg1,const char* msg2,uint32 ms);
