const CHAR *與CHAR * const的區別
上傳時間: 2017-09-16
上傳用戶:shus521
Ascii碼的8*8點陣數據,豎著排的。 code unsigned CHAR asc5x8dot[96][5]={//ASC碼0x20~0x7f
上傳時間: 2013-04-24
上傳用戶:HGH77P99
調用方法(加密》解密》加密): unsigned CHAR key1[] = "12345678"; unsigned CHAR key2[] = "abcdefgh"; unsigned CHAR key3[] = "~!@#$%^&"; //如果只需要兩組密鑰,則本組密鑰可以和密鑰1一樣。 unsigned CHAR en_data[] = "龍的子孫"; unsigned CHAR en_out_put[8]; //3DES 加密 des(en_data, key1, en_out_put, DES_ENCRYPT); des(en_out_put, key2, en_data, DES_DECRYPT); des(en_data, key3, en_out_put, DES_ENCRYPT);
上傳時間: 2013-07-10
上傳用戶:Poppy
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uCHAR unsigned CHAR #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uCHAR a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uCHAR duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uCHAR wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned CHAR b) //50us { unsigned CHAR a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uCHAR a,uCHAR b,uCHAR c,uCHAR d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uCHAR port) { uCHAR i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uCHAR j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230
#include <iom16v.h> #include <macros.h> #define uCHAR unsigned CHAR #define uint unsigned int uCHAR num,miao,fen,shi,miaoge,miaoshi,fenge,fenshi,shig
上傳時間: 2013-10-14
上傳用戶:sc965382896
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uCHAR unsigned CHAR uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uCHAR tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上傳時間: 2013-10-21
上傳用戶:13788529953
對應程序: #include<reg52.h> #define uint unsigned int #define uCHAR unsigned CHAR uCHAR code tab[]={ 0x81, 0x42, 0x24, 0x18, }; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=120;j>0;j--); } void init() { P0=0x00; }
上傳時間: 2014-01-17
上傳用戶:ruan2570406
第五章 Keil C51庫函數參考 C51強大功能及其高效率的重要體現之一在于其豐富的可直接調用的庫函數,多使用庫函數使程序代碼簡單,結構清晰,易于調試和維護,下面介紹C51的庫函數系統。 1. 第一節 本征庫函數(intrinsic routines)和非本征證庫函數 C51提供的本征函數是指編譯時直接將固定的代碼插入當前行,而不是用ACALL和LCALL語句來實現,這樣就大大提供了函數訪問的效率,而非本征函數則必須由ACALL及LCALL調用。 C51的本征庫函數只有9個,數目雖少,但都非常有用,列如下: _crol_,_cror_:將CHAR型變量循環向左(右)移動指定位數后返回 _iror_,_irol_:將int型變量循環向左(右)移動指定位數后返回 _lrol_,_lror_:將long型變量循環向左(右)移動指定位數后返回 _nop_: 相當于插入NOP _testbit_: 相當于JBC bitvar測試該位變量并跳轉同時清除。 _chkfloat_: 測試并返回源點數狀態。 使用時,必須包含#inclucle 一行。 如不說明,下面談到的庫函數均指非本征庫函數
上傳時間: 2013-10-19
上傳用戶:1184599859
假定從8位AD中讀取數據(如果是更高位的AD可定義數據類型為int),子程序為get_ad(); 1、限幅濾波法(又稱程序判斷濾波法) A、方法: 根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A) 每次檢測到新值時判斷: 如果本次值與上次值之差<=A,則本次值有效 如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值 B、優點: 能有效克服因偶然因素引起的脈沖干擾 C、缺點 無法抑制那種周期性的干擾 平滑度差 /* A值可根據實際情況調整 value為有效值,new_value為當前采樣值 濾波程序返回有效的實際值 */ #define A 10 CHAR value; CHAR filter() { CHAR new_value; new_value = get_ad(); if ( ( new_value - value > A ) || ( value - new_value > A ) return value; return new_value; } 2、中位值濾波法 A、方法: 連續采樣N次(N取奇數) 把N次采樣值按大小排列 取中間值為本次有效值 B、優點: 能有效克服因偶然因素引起的波動干擾 對溫度、液位的變化緩慢的被測參數有良好的濾波效果 C、缺點: 對流量、速度等快速變化的參數不宜 /* N值可根據實際情況調整 排序采用冒泡法*/
上傳時間: 2014-12-26
上傳用戶:nanshan
#ifndef __485_C__ #define __485_C__ #include #include #define unsigned CHAR uCHAR #define unsigned int uint /* 通信命令 */ #define __ACTIVE_ 0x01 // 主機詢問從機是否存在 #define __GETDATA_ 0x02 // 主機發送讀設備請求 #define __OK_ 0x03 // 從機應答 #define __STATUS_ 0x04 // 從機發送設備狀態信息 #define __MAXSIZE 0x08 // 緩沖區長度 #define __ERRLEN 12 // 任何通信幀長度超過12則表示出錯 uCHAR dbuf[__MAXSIZE]; // 該緩沖區用于保存設備狀態信息 uCHAR dev; // 該字節用于保存本機設備號 sbit M_DE = P1^0; // 驅動器使能,1有效 sbit M_RE = P1^1; // 接收器使能,0有效
上傳時間: 2014-12-26
上傳用戶:604759954