基于51單片機的心率計_第1頁
基于51單片機的心率計_第2頁
基于51單片機的心率計_第3頁
基于51單片機的心率計_第4頁
基于51單片機的心率計_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于51單片機(AT89C2051)的心率計工作原理:該作品通過紅外對管檢測手指血管舒張收縮情況,反應為電壓的變化,經過一級無源低通濾波和三極管共射極電路放大后進入LM358雙運放集成芯片,其中一級運放構成有源一階低通放大,放大參數設置在300倍左右,另一級運放構成單限比較器,通過調整電位器設置閾值電壓。輸出電平直接接入單片機P3.2(INT0)外部中斷入口處,通過程序計算信號周期,從而計算測試者心率,通過諾基亞5110液晶顯示出來。以下為作品工作圖:當檢測信號異常,心率值超出正常范圍(40-170)時顯示Err錯誤提示:電路板為洞洞板,背面焊錫走線如下:拆除液晶5110后電路正面圖如下:后來

2、修改的電路圖(手繪粗糙,大家將就看吧!):本人QQ:769942445,歡迎大家交流。以下為源程序(已通過測試):#include #define uchar unsigned char#define uint unsigned int#define ulong unsigned long sbit sce = P12; /片選sbit res = P13; /復位,0復位sbit dc = P14; /1寫數據,0寫指令sbit sdin = P15; /數據sbit sclk = P16; /時鐘sbit key =P10;bit flag;uchar count,count1;uint

3、time;uchar dis3;/6*16字符unsigned char code shuzi=/*- 文字: 0 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 1 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x00,0x08,0xFC,0x00,0x

4、00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*- 文字: 2 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00,/*- 文字: 3 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x08,0x04,0x24,0x24,0xD8,0x00,0x

5、01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 4 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00,/*- 文字: 5 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x

6、02,0x02,0x01,0x00,/*- 文字: 6 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 7 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x

7、00,0x00,/*- 文字: 8 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 9 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00,/*

8、- 文字: E -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x02,0x03,0x00,/*- 文字: r -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=6x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=6x16 -*/0x20,0xE0,0x40,0x20,0x20,0x00,0x02,0x03,0x02,0x00,0x00,0x00,; unsigned c

9、har code hanzi=/*- 文字: 單 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x00,0x00,0x7C,0x55,0x56,0xFC,0x56,0x55,0x54,0x7C,0x00,0x00,0x21,0x21,0x21,0x21,0x21,0x27,0x21,0x21,0x21,0x21,0x21,0x00,/*- 文字: 片 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=

10、12x16 -*/0x00,0x00,0xFF,0x48,0x48,0x48,0x4F,0xC8,0x08,0x08,0x08,0x00,0x24,0x22,0x21,0x20,0x20,0x20,0x20,0x27,0x20,0x20,0x20,0x00,/*- 文字: 機 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x84,0x64,0xFF,0x24,0x44,0xFE,0x02,0x02,0xFF,0x02,0x00,0x00,0x21,0x20,0x27,0x24,0x22

11、,0x21,0x20,0x20,0x27,0x24,0x27,0x00,/*- 文字: 實 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x88,0x86,0xA2,0xCA,0x92,0x83,0xFA,0x82,0x82,0x8A,0x86,0x00,0x20,0x24,0x24,0x24,0x22,0x21,0x20,0x21,0x22,0x24,0x20,0x00,/*- 文字: 驗 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*-

12、 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x21,0x3D,0xA1,0xFF,0x10,0xC8,0x14,0xD3,0x14,0xC8,0x10,0x00,0x21,0x25,0x24,0x23,0x24,0x25,0x24,0x25,0x26,0x25,0x24,0x20,/*- 文字: 心 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x80,0x70,0x00,0xFC,0x00,0x01,0x0E,0x00,0x80,0x30,0xC0,0x00,0x0

13、0,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x00,0x00,0x00,/*- 文字: 率 -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x42,0x46,0x2A,0x52,0x6A,0xD7,0x6A,0x52,0x2A,0x46,0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,/*- 文字: 計 -*/*- Trebuchet MS9; 此字體下對

14、應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x10,0xF1,0x02,0x00,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x02,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,/*- 文字: : -*/*- Trebuchet MS9; 此字體下對應的點陣為:寬x高=12x12 -*/*- 高度不是8的倍數,現調整為:寬度x高度=12x16 -*/0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x00,0x

15、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,;void delayms(unsigned int ii)/1ms延時函數unsigned int i,x;for (x=0;xii;x+)for (i=0;i100;i+);/*-LCD_write_byte: 使用SPI接口寫數據到LCD輸入參數:dt:寫入的數據;command :寫數據/命令選擇;編寫日期:20080918 -*/void LCD_write_byte(unsigned char dt, unsigned char

16、 command)unsigned char i; sce=0;dc=command;for(i=0;i8;i+) if(dt&0x80)sdin=1;elsesdin=0;dt=dt1;sclk=0; sclk=1; dc=1;sce=1;sdin=1;/*-LCD_init: 3310LCD初始化編寫日期:20080918 - */void LCD_init(void)res=0; delayms(10); res=1; LCD_write_byte(0x21,0);/初始化Lcd,功能設定使用擴充指令LCD_write_byte(0xC6,0);/設定液晶偏置電壓LCD_write_by

17、te(0x06,0);/溫度校正 LCD_write_byte(0x13,0);/1:48LCD_write_byte(0x20,0);/使用基本指令LCD_write_byte(0x0C,0);/設定顯示模式,正常顯示/*-LCD_set_XY: 設置LCD坐標函數輸入參數:X:083 Y:05編寫日期:20080918 -*/void LCD_set_XY(unsigned char X, unsigned char Y)LCD_write_byte(0x40 | Y, 0);/ columnLCD_write_byte(0x80 | X, 0);/ row /*-LCD_clear: L

18、CD清屏函數編寫日期:20080918 -*/void LCD_clear(void)unsigned char t;unsigned char k;LCD_set_XY(0,0);for(t=0;t6;t+) for(k=0;k84;k+) LCD_write_byte(0x00,1); /*-LCD_write_shu: 顯示6(寬)*16(高)點陣列數字字母符號等半角類輸入參數:c:顯示的字符;編寫日期:20080918 -*/void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) /row:列

19、page:頁 dd:字符unsigned char i; LCD_set_XY(row*6, page);/ 列,頁 for(i=0; i6;i+) LCD_write_byte(shuzic*12+i,1); LCD_set_XY(row*6, page+1);/ 列,頁 for(i=6; i12;i+) LCD_write_byte(shuzic*12+i,1); /*-LCD_write_hanzi: 顯示12(寬)*16(高)點陣列漢字等半角類輸入參數:c:顯示的字符;編寫日期:20080918 -*/void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) /row:列 page:頁 dd:字符unsigned char i; LCD_set_XY(row*6, page);/ 列,頁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論