找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 14808|回復(fù): 28
收起左側(cè)

單片機(jī)脈搏體溫檢測(cè)儀設(shè)計(jì)全套資料 帶視頻,仿真程序等

  [復(fù)制鏈接]
ID:262678 發(fā)表于 2017-12-17 15:15 | 顯示全部樓層 |閱讀模式
脈搏檢測(cè)+體溫檢測(cè)設(shè)計(jì)實(shí)物圖:
0.jpg 0.jpg

Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.jpg 0.jpg

脈搏體溫檢測(cè)儀仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
}I_]$FHZ99(XZCK$D9R%B}T.png

文檔:
0.jpg

清單
元件名
位置
數(shù)量
備注
 


電源電路


電源接線端子
J1
1套

開(kāi)關(guān)
S1
1個(gè)

指示燈
D1
1個(gè)

電阻1K
R2
1個(gè)









單片機(jī)最小系統(tǒng)


IC座子40P
U1
1個(gè)

單片機(jī)STC89C52
Y1
1個(gè)

晶振12M
Y1
1個(gè)

獨(dú)石電容22P
C1、C2
2個(gè)
元件上標(biāo):220
電阻 10K
R1
1個(gè)

按鍵
K1
1個(gè)

電解電容
C3
1個(gè)





溫度傳感器電路


DS18B20傳感器
U4
1個(gè)

電阻10K
R16
1個(gè)





顯示電路


排座16P
LCD1
1個(gè)

液晶1602顯示屏
LCD1
1個(gè)

電位器10K
W1
1個(gè)
改變液晶顯示屏亮度
 


報(bào)警部分


蜂鳴器
B1
1個(gè)

三極管
Q1
1個(gè)

電阻1K
R14 R15
1個(gè)

5mmLED燈
D2
1個(gè)

按鍵
K2 K3 K4
3個(gè)









光電部分和放大部分


紅外光電傳感器
U3
1個(gè)

LM358運(yùn)放
U4
1個(gè)

DIP8座子
U4
1個(gè)

電阻330歐
R3 R9 R13
3個(gè)

電阻20K
R4 R7 R10
3個(gè)

電阻10K
R5 R6 R12
3個(gè)

電阻100K
R8
1個(gè)

電阻56K
R11
1個(gè)

3MM指示燈
D2
1個(gè)
 
10UF/25V電解電容
C3
1個(gè)
 
1UF/50V電解電容
C4 C5
2個(gè)
 
 

 
主板

 
萬(wàn)能板
9cm*15cm
1張
 

視頻這部分 主要 給大家詳細(xì)的講解了《電源部分》、《復(fù)位部分》、《時(shí)鐘部分》、《液晶顯示部分》;

由于文件較大,請(qǐng)自行下載。把下面的網(wǎng)址復(fù)制到瀏覽器里打開(kāi)后就可以下載了。
原理圖講解視頻下載:
游客,本帖隱藏的內(nèi)容需要積分高于 1 才可瀏覽,您當(dāng)前積分為 0


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無(wú)符號(hào)字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無(wú)符號(hào)整型 宏定義        變量范圍0~65535
  4. #include<DS18N02.h>
  5. #include <intrins.h>
  6. #include "eeprom52.h"


  7. #define DBPort P0               

  8. unsigned char i=0,timecount=0,displayOK=0,rate=0,rate1=0,aa=0,time1=0,flat300ms=0;
  9. unsigned int time[6]={0};
  10. unsigned int oneminte=0;
  11. unsigned int ReadTempDate;
  12. unsigned char S_temp_H,S_temp_L,S_heart_H,S_heart_L;
  13. unsigned char yemian=0,biaozhi=0;


  14. sbit K1 = P1^0; //菜單
  15. sbit K2 = P1^1;  //加
  16. sbit K3 = P1^2;  //減
  17. sbit Buzzer= P1^7;  //控制端


  18. sbit rs = P2^5 ;
  19. sbit rw = P2^6 ;
  20. sbit ep = P2^7 ;


  21. bit flag=1;


  22. /******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eeprom中******************/
  23. void write_eeprom()
  24. {
  25.         SectorErase(0x2000);
  26.         byte_write(0x2000, S_heart_H);
  27.         byte_write(0x2001, S_heart_L);
  28.         byte_write(0x2002, S_temp_H);
  29.         byte_write(0x2003, S_temp_L);
  30.         
  31.         
  32.     byte_write(0x2060, a_a);        
  33. }

  34. /******************把數(shù)據(jù)從單片機(jī)內(nèi)部eeprom中讀出來(lái)*****************/
  35. void read_eeprom()
  36. {
  37.         S_heart_H = byte_read(0x2000);
  38.         S_heart_L = byte_read(0x2001);
  39.         S_temp_H = byte_read(0x2002);
  40.         S_temp_L = byte_read(0x2003);
  41.     a_a      = byte_read(0x2060);
  42. }

  43. /**************開(kāi)機(jī)自檢eeprom初始化*****************/
  44. void init_eeprom()
  45. {
  46.         read_eeprom();                //先讀
  47.         if(a_a != 2)                //新的單片機(jī)初始單片機(jī)內(nèi)問(wèn)eeprom
  48.         {
  49.                 S_heart_H = 120;
  50.             S_heart_L = 60;
  51.             S_temp_H = 38;
  52.             S_temp_L = 5;
  53.                 a_a = 2;
  54.                 write_eeprom();
  55.         }        
  56. }

  57. /***********************1ms延時(shí)函數(shù)*****************************/
  58. void delay_1ms(uint q)
  59. {
  60.         uint i,j;
  61.         for(i=0;i<q;i++)
  62.                 for(j=0;j<110;j++);
  63. }


  64. /********************************************************************
  65. * 名稱 : delay_uint()
  66. * 功能 : 小延時(shí)。
  67. * 輸入 : 無(wú)
  68. * 輸出 : 無(wú)
  69. ***********************************************************************/
  70. void delay_uint(uint q)
  71. {
  72.         while(q--);
  73. }


  74. typedef bit BOOL  ;


  75. uchar data_byte;

  76. void delay(uchar ms)
  77. {       // 延時(shí)子程序
  78.          uchar i ;
  79.          while(ms--)
  80.          {
  81.                   for(i = 0 ; i<250;i++) ;
  82.          }
  83. }

  84. void delay1()//延時(shí)10us
  85. {
  86.         uchar i;
  87.         i--;
  88.         i--;
  89.         i--;
  90.         i--;
  91.         i--;
  92.         i--;
  93. }
  94. void longdelay(uchar s) //長(zhǎng)延時(shí)
  95. {
  96.          while(s--)
  97.          {
  98.                   delay(10) ;
  99.          }
  100. }


  101. /************************LCD模塊******************************************/

  102. BOOL lcd_bz()//測(cè)試LCD忙碌狀態(tài)
  103. {      
  104.          BOOL result ;
  105.          rs = 0 ;
  106.          rw = 1 ;
  107.          ep = 1 ;
  108.          result = (BOOL)(P0 & 0x80) ;
  109.          ep = 0 ;
  110.          return result ;
  111. }

  112. void write_cmd(uchar cmd)// 寫(xiě)指令
  113. {      
  114.          while(lcd_bz()) ;
  115.     P0 = cmd ;
  116.         ep = 1 ;
  117.         ep = 0 ;  
  118. }

  119. void write_addr(uchar addr)//寫(xiě)地址
  120. {      
  121.          write_cmd(addr|0x80) ;
  122. }

  123. void write_byte(uchar dat)//寫(xiě)字節(jié)
  124. {      
  125.          while(lcd_bz()) ;
  126.           rs = 1 ;
  127.           rw = 0 ;
  128.           ep = 0 ;
  129.           P0 = dat ;
  130.           ep = 1 ;
  131.           ep = 0 ;
  132. }

  133. void lcd_init()// 初始化
  134. {      
  135.          write_cmd(0x38) ;
  136.          delay(1);
  137.          write_cmd(0x08) ;  
  138.          delay(1);
  139.          write_cmd(0x01) ;
  140.          delay(1);
  141.          write_cmd(0x06) ;
  142.          delay(1);
  143.          write_cmd(0x0c) ;
  144.          delay(1);
  145. }

  146. display(uchar addr, uchar q)//在某一地址上顯示一字節(jié)
  147. {         
  148.          delay(1) ;
  149.          write_addr(addr) ;
  150.    write_byte(q) ;
  151.         // longdelay(1) ;
  152.          
  153. }


  154. void show1()
  155. {     
  156.              lcd_init();// 初始化   
  157.              //  Welcome
  158.          
  159.                
  160.                  display(0x05,'W');
  161.          display(0x06,'e');
  162.                  display(0x07,'l');
  163.                  display(0x08,'c');
  164.                  display(0x09,'o');
  165.                  display(0x0a,'m');
  166.          display(0x0b,'e');
  167.              longdelay(50);//短暫延時(shí)
  168.                
  169.   
  170.                  display(0x42,' ');
  171.          display(0x43,' ');
  172.                  display(0x44,' ');
  173.                  display(0x45,' ');
  174.                  display(0x46,' ');
  175.                  display(0x48,' ');
  176.              display(0x49,' ');
  177.              display(0x4a,' ');
  178.                  display(0x4b,' ');
  179.              longdelay(50);//短暫延時(shí)
  180.         

  181. }


  182. void key() //按鍵程序 選擇菜單模式
  183. {
  184.      
  185.           if(!K1)
  186.                    {  
  187.                            delay_1ms(20);
  188.                             if(!K1)
  189.                          {   
  190.                                          while(!K1)
  191.                                            ;
  192.                                                   yemian++;
  193.                                                   if(yemian>=5) { yemian=0; }
  194.                                                                
  195.              }
  196.                    }
  197. }




  198. void shezhi()  //對(duì)里面的數(shù)值進(jìn)行修改
  199. {
  200.    if(!K2)            //按下按鍵
  201.             {
  202.            delay_1ms(20);
  203.                 if(!K2)
  204.                   {
  205.             if(yemian==1)
  206.               {                                                               
  207.                                 S_heart_H+=1;       //沒(méi)按下一次,數(shù)值加1
  208.                                 if(S_heart_H>=200)  {S_heart_H=200;}
  209.                 write_eeprom();       //保存數(shù)據(jù)
  210.                                  
  211.                  display(0x46,S_heart_H/100+'0');
  212.                      display(0x47,S_heart_H%100/10+'0');
  213.                  display(0x48,S_heart_H%100%10+'0');                                
  214.               }
  215.                                                         
  216.            if(yemian==2)
  217.               {                                                               
  218.                                 S_heart_L+=1;       //沒(méi)按下一次,數(shù)值加1
  219.                                 if(S_heart_L>=200)  {S_heart_L=200;}
  220.                 write_eeprom();       //保存數(shù)據(jù)
  221.                                  
  222.                  display(0x46,S_heart_L/100+'0');
  223.                      display(0x47,S_heart_L%100/10+'0');
  224.                  display(0x48,S_heart_L%100%10+'0');                                
  225.               }
  226.                                                         
  227.                         if(yemian==3)
  228.               {                                                               
  229.                             S_temp_H+=1;       //沒(méi)按下一次,數(shù)值加1
  230.                                 if(S_temp_H>=125)  {S_temp_H=125;}
  231.                 write_eeprom();       //保存數(shù)據(jù)
  232.                                    
  233.                                    display(0x46,S_temp_H/100+'0');
  234.                        display(0x47,S_temp_H%100/10+'0');
  235.                    display(0x48,S_temp_H%100%10+'0');
  236.              }
  237.                         
  238.                         if(yemian==4)
  239.               {                                                               
  240.                             S_temp_L+=1;       //沒(méi)按下一次,數(shù)值加1
  241.                                 if(S_temp_L>=125)  {S_temp_L=125;}
  242.                 write_eeprom();       //保存數(shù)據(jù)
  243.                                    
  244.                                    display(0x46,S_temp_L/100+'0');
  245.                        display(0x47,S_temp_L%100/10+'0');
  246.                    display(0x48,S_temp_L%100%10+'0');
  247.              }        
  248.                                  
  249.            }
  250.                                   // while(!K2);      //等待按鍵 彈起  屏蔽此句,可以實(shí)現(xiàn)按鍵按下不放開(kāi)時(shí),連加技術(shù)功能,
  251.                                                           //   不過(guò)需要將上面延時(shí)去抖時(shí)間延長(zhǎng)效果才好。建議改為: delay_LCD(50);  
  252.       }
  253.                         
  254.                         
  255.    if(!K3)            //按下按鍵
  256.            {
  257.           delay_1ms(20);
  258.                 if(!K3)
  259.                   {
  260.            if(yemian==1)
  261.              {                                                               
  262.                            
  263.                                 if(S_heart_H<=1)  {S_heart_H=1;}
  264.                                 S_heart_H-=1;       //沒(méi)按下一次,數(shù)值加1
  265.                 write_eeprom();       //保存數(shù)據(jù)
  266.                                 
  267.                                  display(0x46,S_heart_H/100+'0');
  268.                      display(0x47,S_heart_H%100/10+'0');
  269.                  display(0x48,S_heart_H%100%10+'0');                                

  270.                          }

  271.                          if(yemian==2)
  272.              {                                                               
  273.                            
  274.                                 if(S_heart_L<=1)  {S_heart_L=1;}
  275.                                 S_heart_L-=1;       //沒(méi)按下一次,數(shù)值加1
  276.                 write_eeprom();       //保存數(shù)據(jù)
  277.                                 
  278.                                  display(0x46,S_heart_L/100+'0');
  279.                      display(0x47,S_heart_L%100/10+'0');
  280.                  display(0x48,S_heart_L%100%10+'0');                                

  281.                          }
  282.                                                         
  283.                         if(yemian==3)
  284.               {        
  285.                             if(S_temp_H<=1)  {S_temp_H=1;}                                                        
  286.                             S_temp_H-=1;       //沒(méi)按下一次,數(shù)值加1
  287.                 write_eeprom();       //保存數(shù)據(jù)

  288.                             display(0x46,S_temp_H/100+'0');
  289.                     display(0x47,S_temp_H%100/10+'0');
  290.                 display(0x48,S_temp_H%100%10+'0');

  291.                         
  292.                          }
  293.                         
  294.                    if(yemian==4)
  295.               {        
  296.                             if(S_temp_L<=1)  {S_temp_L=1;}                                                        
  297.                             S_temp_L-=1;       //沒(méi)按下一次,數(shù)值加1
  298.                 write_eeprom();       //保存數(shù)據(jù)

  299.                             display(0x46,S_temp_L/100+'0');
  300.                     display(0x47,S_temp_L%100/10+'0');
  301.                 display(0x48,S_temp_L%100%10+'0');

  302.                         
  303.                          }               
  304.            }
  305.                                 //   while(!K3);      //等待按鍵 彈起  //等待按鍵 彈起  屏蔽此句,可以實(shí)現(xiàn)按鍵按下不放開(kāi)時(shí),連加技術(shù)功能,
  306.                                                           //   不過(guò)需要將上面延時(shí)去抖時(shí)間延長(zhǎng)效果才好。建議改為: delay_LCD(50);  
  307.           }

  308.                
  309. }

  310. void wendumaibo()
  311. {

  312.          if(displayOK==0)//如果顯示關(guān)
  313.                 {
  314.                     display(0x06,'W');
  315.             display(0x07,'a');
  316.                     display(0x08,'i');
  317.                         display(0x09,'t');
  318.                         display(0x0a,'i');
  319.                         display(0x0b,'n');
  320.                         display(0x0c,'g');
  321.                         flag=1;
  322.                         oneminte=0;//加上這個(gè),當(dāng)displayOK標(biāo)志位沒(méi)有置1時(shí),都清零計(jì)數(shù),等待重新檢測(cè)中計(jì)數(shù)。
  323.                 }
  324.                
  325.                 if(displayOK==1 && oneminte<=200)//如果顯示開(kāi)
  326.                 {
  327.                         flag=0;
  328.                     display(0x06,'T');
  329.             display(0x07,'e');
  330.                     display(0x08,'s');
  331.                         display(0x09,'t');
  332.                         display(0x0a,'i');
  333.                         display(0x0b,'n');
  334.                         display(0x0c,'g');
  335.                 }
  336.          
  337.             ReadTempDate=ReadTemperature();
  338.         display(0x46,ReadTempDate/100+'0');
  339.             display(0x47,ReadTempDate%100/10+'0');
  340.               display(0x48,'.');
  341.             display(0x49,ReadTempDate%100%10+'0');
  342.                 display(0x4a,0xdf);
  343.                 display(0x4b,'C');               
  344. }


  345. void baojin()
  346. {
  347.   if(  ( (rate*6<S_heart_L  ||  rate*6>S_heart_H) &&  oneminte>200 )  ||  ReadTempDate>=S_temp_H*10 ||  ReadTempDate<=S_temp_L*10 )                {  Buzzer=0; }

  348.   if(    oneminte>=0  &&  oneminte<200  &&    ReadTempDate<S_temp_H*10  &&  ReadTempDate>S_temp_L*10  )            {  Buzzer=1; }
  349. }

  350. /*************定時(shí)器0初始化程序***************/
  351. void time_init()         
  352. {
  353.         EA   = 1;                   //開(kāi)總中斷
  354.         TMOD = 0X01;          //定時(shí)器0、定時(shí)器1工作方式1
  355.         ET0  = 1;                  //開(kāi)定時(shí)器0中斷
  356.         TR0  = 1;                  //允許定時(shí)器0定時(shí)
  357. }


  358. /***********外部中斷0初始化程序****************/
  359. void init_int0()          //外部中斷0初始化程序
  360. {
  361.         EX0=1;                          //允許外部中斷0中斷
  362.         EA=1;                           //開(kāi)總中斷
  363.         IT0 = 1;                   //外部中斷0負(fù)跳變中斷
  364. }

  365. /****************主函數(shù)***************/
  366. void main()
  367. {        
  368.     ReadTemperature();
  369.     show1();//顯示問(wèn)候語(yǔ)和其他信息
  370.         time_init(); //初始化定時(shí)器
  371.         init_int0(); //外部中斷0初始化程序
  372.     init_eeprom();                              //讀eeprom數(shù)據(jù)
  373.         while(1)
  374.         {        
  375.       key(); //按鍵掃描
  376.       if(flat300ms>=4)        //200ms
  377.            {
  378.             flat300ms=0;
  379. //==================主界面===================
  380.                   if(yemian==0)  
  381.                         {
  382.                           if(biaozhi==0)
  383.                                  {
  384.                    biaozhi=1;

  385.                                    lcd_init();// 初始化
  386.                                    display(0x00,'H');
  387.                                    display(0x01,'e');
  388.                                    display(0x02,'a');
  389.                                    display(0x03,'r');
  390.                                    display(0x04,'t');
  391.                                    display(0x05,':');

  392.                                    display(0x40,'T');
  393.                                    display(0x41,'e');
  394.                                    display(0x42,'m');
  395.                                    display(0x43,'p');
  396.                                    display(0x44,':');
  397.                  }
  398.                wendumaibo();
  399.                            baojin();
  400.                }

  401. //==================脈搏報(bào)警上限 設(shè)置===================
  402.                   if(yemian==1)  
  403.                         {
  404.                           if(biaozhi==1)
  405.                                  {
  406.                    biaozhi=2;
  407.                                    Buzzer=1;
  408.                                    lcd_init();// 初始化
  409.                                    display(0x04,'H');
  410.                                    display(0x05,'e');
  411.                                    display(0x06,'a');
  412.                                    display(0x07,'r');
  413.                                    display(0x08,'t');
  414.                                    display(0x09,'-');
  415.                                    display(0x0a,'H');

  416.                                  display(0x46,S_heart_H/100+'0');
  417.                      display(0x47,S_heart_H%100/10+'0');
  418.                  display(0x48,S_heart_H%100%10+'0');                                 
  419.                }
  420.                 shezhi();
  421.                }

  422. //==================脈搏報(bào)警下限 設(shè)置===================
  423.                   if(yemian==2)  
  424.                         {
  425.                           if(biaozhi==2)
  426.                                  {
  427.                    biaozhi=3;
  428.                                    Buzzer=1;
  429.                                    lcd_init();// 初始化
  430.                                    display(0x04,'H');
  431.                                    display(0x05,'e');
  432.                                    display(0x06,'a');
  433.                                    display(0x07,'r');
  434.                                    display(0x08,'t');
  435.                                    display(0x09,'-');
  436.                                    display(0x0a,'L');

  437.                                  display(0x46,S_heart_L/100+'0');
  438.                      display(0x47,S_heart_L%100/10+'0');
  439.                  display(0x48,S_heart_L%100%10+'0');                                 
  440.                }
  441.                 shezhi();
  442.                }
  443.                                       
  444. //==================溫度報(bào)警 上限設(shè)置===================
  445.                   if(yemian==3)  
  446.                         {
  447.                           if(biaozhi==3)
  448.                                  {
  449.                    biaozhi=4;
  450.                                    Buzzer=1;
  451.                                    lcd_init();// 初始化
  452.                                  
  453.                                    display(0x05,'T');
  454.                                    display(0x06,'e');
  455.                                    display(0x07,'m');
  456.                                    display(0x08,'p');
  457.                                    display(0x09,'-');
  458.                                    display(0x0a,'H');

  459.                                    display(0x46,S_temp_H/100+'0');
  460.                        display(0x47,S_temp_H%100/10+'0');
  461.                    display(0x48,S_temp_H%100%10+'0');                                 
  462.                 }
  463.                 shezhi();
  464.                }                     

  465. //==================溫度報(bào)警 下限設(shè)置===================
  466.                   if(yemian==4)  
  467.                         {
  468.                           if(biaozhi==4)
  469.                                  {
  470.                    biaozhi=0;
  471.                                    Buzzer=1;
  472.                                    lcd_init();// 初始化
  473.                                  
  474.                                    display(0x05,'T');
  475.                                    display(0x06,'e');
  476.                                    display(0x07,'m');
  477.                                    display(0x08,'p');
  478.                                    display(0x09,'-');
  479.                                    display(0x0a,'L');

  480.                                    display(0x46,S_temp_L/100+'0');
  481.                        display(0x47,S_temp_L%100/10+'0');
  482.                    display(0x48,S_temp_L%100%10+'0');                                 
  483.                 }
  484.                 shezhi();
  485.                }                     
  486.       
  487. ……………………

  488. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

本人初學(xué),僅供參考,存在錯(cuò)誤和不足之處,請(qǐng)大家回帖多多指教,切勿照搬,文件下載:
脈搏檢測(cè) 體溫檢測(cè)設(shè)計(jì).zip (6.92 MB, 下載次數(shù): 631)


評(píng)分

參與人數(shù) 3黑幣 +56 收起 理由
阿亮666 + 5
angle-gg + 1 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:271466 發(fā)表于 2018-1-4 16:40 | 顯示全部樓層
感謝樓主,資料很好
回復(fù)

使用道具 舉報(bào)

ID:288650 發(fā)表于 2018-3-11 16:20 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:248186 發(fā)表于 2018-3-21 17:01 | 顯示全部樓層
厲害啊,感謝分享
回復(fù)

使用道具 舉報(bào)

ID:271466 發(fā)表于 2018-4-24 17:26 | 顯示全部樓層
仿真用的hex文件不是程序里面的hex,用程序的hex出現(xiàn)錯(cuò)誤,怎么回事???
回復(fù)

使用道具 舉報(bào)

ID:318354 發(fā)表于 2018-4-30 07:50 | 顯示全部樓層
資料很全,很有用,剛好有用,感謝。。!
回復(fù)

使用道具 舉報(bào)

ID:319706 發(fā)表于 2018-5-1 09:55 | 顯示全部樓層
不錯(cuò)很給力。幫助很大。
回復(fù)

使用道具 舉報(bào)

ID:320241 發(fā)表于 2018-5-2 10:01 | 顯示全部樓層
以這個(gè)電路為基礎(chǔ),怎么改能改成測(cè)血壓的電路
回復(fù)

使用道具 舉報(bào)

ID:334544 發(fā)表于 2018-5-20 23:40 | 顯示全部樓層
感謝樓主
回復(fù)

使用道具 舉報(bào)

ID:253749 發(fā)表于 2018-5-26 22:45 來(lái)自觸屏版 | 顯示全部樓層
回望2017 發(fā)表于 2018-4-24 17:26
仿真用的hex文件不是程序里面的hex,用程序的hex出現(xiàn)錯(cuò)誤,怎么回事???

同問(wèn)?急求正確的仿真程序,非常感謝!
回復(fù)

使用道具 舉報(bào)

ID:313600 發(fā)表于 2018-6-15 16:06 | 顯示全部樓層
這個(gè)設(shè)計(jì)電源要求是5V還是3.3V
回復(fù)

使用道具 舉報(bào)

ID:352896 發(fā)表于 2018-6-29 15:40 | 顯示全部樓層
將程序中的hex文件燒入,結(jié)果不正確,可排除元件焊接問(wèn)題,請(qǐng)問(wèn)是怎么回事,大家有遇到問(wèn)題嗎?
回復(fù)

使用道具 舉報(bào)

ID:352896 發(fā)表于 2018-6-30 20:21 | 顯示全部樓層
我自己買(mǎi)的零件焊接,燒入之后這樣,哪位朋友可以幫幫忙看看咋回事D:\TIM圖片20180630201921.jpg嗎?
回復(fù)

使用道具 舉報(bào)

ID:398209 發(fā)表于 2018-11-10 20:43 | 顯示全部樓層
樓主好人
回復(fù)

使用道具 舉報(bào)

ID:424494 發(fā)表于 2018-11-18 22:59 | 顯示全部樓層
huang150 發(fā)表于 2018-6-29 15:40
將程序中的hex文件燒入,結(jié)果不正確,可排除元件焊接問(wèn)題,請(qǐng)問(wèn)是怎么回事,大家有遇到問(wèn)題嗎?

你用的單片機(jī)是51或者52嗎 它們的內(nèi)存只有4k和8k喔 那個(gè)hex文件我看了下有10k那么大 ,應(yīng)該內(nèi)存不夠下載不進(jìn)去吧
回復(fù)

使用道具 舉報(bào)

ID:340809 發(fā)表于 2018-12-24 16:32 | 顯示全部樓層
能請(qǐng)教個(gè)問(wèn)題嗎?看到請(qǐng)回復(fù)
回復(fù)

使用道具 舉報(bào)

ID:359667 發(fā)表于 2018-12-25 09:41 | 顯示全部樓層
回望2017 發(fā)表于 2018-4-24 17:26
仿真用的hex文件不是程序里面的hex,用程序的hex出現(xiàn)錯(cuò)誤,怎么回事???

我也是這樣,用仿真里面的hex進(jìn)行仿真是可以的。但是用程序里面里的就有很多錯(cuò),想問(wèn)一下你是怎么解決的,求幫助
回復(fù)

使用道具 舉報(bào)

ID:578735 發(fā)表于 2019-10-24 12:44 | 顯示全部樓層
不錯(cuò),內(nèi)容超級(jí)可以
回復(fù)

使用道具 舉報(bào)

ID:578735 發(fā)表于 2019-10-24 12:46 | 顯示全部樓層
資料很全,很有用,畢設(shè)剛好有用,感謝。!
回復(fù)

使用道具 舉報(bào)

ID:576506 發(fā)表于 2020-4-14 08:41 來(lái)自觸屏版 | 顯示全部樓層
正好需要這個(gè)
回復(fù)

使用道具 舉報(bào)

ID:705967 發(fā)表于 2020-4-24 23:11 | 顯示全部樓層
用程序里的hex怎么不對(duì)呢???求樓主解答啊
回復(fù)

使用道具 舉報(bào)

ID:705967 發(fā)表于 2020-4-25 10:28 | 顯示全部樓層
zhenge 發(fā)表于 2018-11-18 22:59
你用的單片機(jī)是51或者52嗎 它們的內(nèi)存只有4k和8k喔 那個(gè)hex文件我看了下有10k那么大 ,應(yīng)該內(nèi)存不夠下載 ...

WAWAWA,,,求解答,,,,還有后續(xù)回復(fù)嗎
回復(fù)

使用道具 舉報(bào)

ID:760313 發(fā)表于 2020-5-29 01:39 | 顯示全部樓層
仿真lcd沒(méi)有顯示呀
請(qǐng)問(wèn)這可以出來(lái)仿真結(jié)果嗎?求回復(fù),感謝
回復(fù)

使用道具 舉報(bào)

ID:772623 發(fā)表于 2020-6-10 17:19 | 顯示全部樓層
很棒,感謝樓主
回復(fù)

使用道具 舉報(bào)

ID:800180 發(fā)表于 2020-7-9 16:38 | 顯示全部樓層
這功能現(xiàn)在很火
回復(fù)

使用道具 舉報(bào)

ID:491875 發(fā)表于 2022-2-12 09:58 | 顯示全部樓層
玩玩可以,但實(shí)用價(jià)值不大!18B20測(cè)體溫肯定不行!分辨率太低!精度不夠!體溫要求精度0.1℃!
回復(fù)

使用道具 舉報(bào)

ID:633719 發(fā)表于 2022-3-6 23:14 | 顯示全部樓層
他的檢測(cè)LCD忙碌狀態(tài)有問(wèn)題,把寫(xiě)地址和寫(xiě)數(shù)據(jù)的子函數(shù)里的檢測(cè)直接注釋掉就行了,或者去別的工程里找一個(gè)放進(jìn)去
回復(fù)

使用道具 舉報(bào)

ID:633719 發(fā)表于 2022-3-7 00:54 | 顯示全部樓層
我真吐了,顯示、eeprom、脈搏、體溫、四個(gè)主要內(nèi)容都有問(wèn)題,哪搬來(lái)的程序啊
回復(fù)

使用道具 舉報(bào)

ID:1004815 發(fā)表于 2022-8-11 11:05 | 顯示全部樓層
很全的資料,感謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表