wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6149|回復: 4
打印 上一主題 下一主題
收起左側

[榨干芯片性能]STC15F104E/W 8腳單片機 MD5算法移植+軟串口發送源程序

  [復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 npn 于 2020-7-23 22:43 編輯

STC15F104E/STC15F104W 單片機芯片,字符串寫入EEPROM的第1個扇區 (限511字節,最后1字節為空字符0)。
由于該型號芯片的RAM容量有限,使用EEPROM的第2個扇區擴展RAM空間。
晶振頻率:11.0592Mhz 波特率:9600,如有問題請在樓下跟帖回復。
(2020-07-23) V1.1 刪改部分函數變量,優化RAM占用。



單片機源程序如下:

  1. #include "stc15f104e.h"
  2. #include "intrins.h"
  3. #define ReverseIntBytes(l) l<<24|l>>24|(l&0xFF0000)>>8|(l&0xFF00)<<8;
  4. #define XchgVar(A,B) A=A^B;B=A^B;A=A^B;
  5. #define U8 unsigned char
  6. #define U16 unsigned int
  7. #define U32 unsigned long
  8. U8 code  *eeprom = 0x1000;
  9. U32 code *eeprom32 = 0x1000;
  10. U32 code ti[]={
  11.         0xd76aa478,0xe8c7b756,0x242070db,0xc1bdceee,
  12.         0xf57c0faf,0x4787c62a,0xa8304613,0xfd469501,0x698098d8,
  13.         0x8b44f7af,0xffff5bb1,0x895cd7be,0x6b901122,0xfd987193,
  14.         0xa679438e,0x49b40821,0xf61e2562,0xc040b340,0x265e5a51,
  15.         0xe9b6c7aa,0xd62f105d,0x02441453,0xd8a1e681,0xe7d3fbc8,
  16.         0x21e1cde6,0xc33707d6,0xf4d50d87,0x455a14ed,0xa9e3e905,
  17.         0xfcefa3f8,0x676f02d9,0x8d2a4c8a,0xfffa3942,0x8771f681,
  18.         0x6d9d6122,0xfde5380c,0xa4beea44,0x4bdecfa9,0xf6bb4b60,
  19.         0xbebfbc70,0x289b7ec6,0xeaa127fa,0xd4ef3085,0x04881d05,
  20.         0xd9d4d039,0xe6db99e5,0x1fa27cf8,0xc4ac5665,0xf4292244,
  21.         0x432aff97,0xab9423a7,0xfc93a039,0x655b59c3,0x8f0ccc92,
  22.         0xffeff47d,0x85845dd1,0x6fa87e4f,0xfe2ce6e0,0xa3014314,
  23.         0x4e0811a1,0xf7537e82,0xbd3af235,0x2ad7d2bb,0xeb86d391
  24.         };

  25. U8 code ss[4][4]={
  26.         {7,12,17,22},{5,9,14,20},{4,11,16,23},{6,10,15,21}
  27. };

  28. union md5_key {
  29.         U32 l[4];
  30.         U8 c[16];
  31. };

  32. union udata {
  33.         U32 l;
  34.         U8 c[4];
  35. };

  36. union udata2 {
  37.         U32 l[2];
  38.         U8 c[8];
  39. };

  40.         sbit txd = P3^1;
  41.         void delay_uart(){
  42.             U8 data a,b;
  43.             for(b=3;b>0;b--)
  44.                 for(a=94;a>0;a--);
  45.         }

  46.         void txd_data(U8 i) {
  47.                 U8 j = 1;
  48.                 delay_uart();
  49.                 txd = 0;
  50.                 do {
  51.                         delay_uart();
  52.                         txd = i & j;
  53.                         j <<= 1;
  54.                 } while (j);
  55.                 delay_uart();
  56.                 txd = 1;
  57.         }

  58.         void send_text(U8 *text){
  59.                 for(;*text;text++){
  60.                         txd_data(*text);
  61.             }
  62.         }

  63. void eeprom_open(){
  64.         IAP_CONTR = 0x83;
  65.         IAP_CMD = 0;
  66.         IAP_ADDRH        = 0x00;
  67.         IAP_ADDRL        = 0x00;
  68. }

  69. void eeprom_close(){
  70.         IAP_CONTR = 0;
  71.         IAP_CMD = 0;
  72.         IAP_TRIG = 0;
  73.         IAP_ADDRH = 0;
  74.         IAP_ADDRL = 0;
  75. }

  76. void eeprom_write(U16 addr,U8 dat){
  77.         IAP_CONTR = 0x83;
  78.         IAP_CMD = 2;
  79.         IAP_ADDRL = addr;
  80.         IAP_ADDRH = addr >> 8;
  81.         IAP_DATA = dat;
  82.         IAP_TRIG = 0x5a;
  83.         IAP_TRIG = 0xa5;
  84.         _nop_();_nop_();_nop_();
  85. }

  86. void eeprom_erase(U16 addr){
  87.     IAP_CONTR = 0x83;
  88.     IAP_CMD = 3;
  89.     IAP_ADDRL = addr;
  90.     IAP_ADDRH = addr >> 8;
  91.     IAP_TRIG = 0x5a;
  92.     IAP_TRIG = 0xa5;
  93.     _nop_(); _nop_();_nop_();
  94. }

  95. U8 block = 0;

  96. void witre_md5_data(U8 address,U8 byte){
  97.         eeprom_write(0x200|((block<<6)|address),byte);
  98. }

  99. U8* md5(U8 *i){
  100.         union md5_key md5_key;
  101.         union udata2 md;
  102.         U32 A,B,C,D,g;
  103.         U16 z,pc=0,len=0,gn;
  104.         U8 a,c,r,m;
  105.         bit f,s128=0;
  106.         md5_key.l[0] = 0x67452301;
  107.         md5_key.l[1] = 0xefcdab89;   
  108.         md5_key.l[2] = 0x98badcfe;
  109.         md5_key.l[3] = 0x10325476;
  110.         for(;*i;i++) len++;
  111.         gn=((len+8)>>6)+1;
  112.         i -= len;
  113.                 for(z=1;z<=gn;z++){
  114.                         for(c = 0;c < (z == gn ? 56 : 64); c++){
  115.                         f = pc >= len;
  116.                         a = pc & 63 ^ 3;
  117.                         if(f && !s128){
  118.                                  s128=1;
  119.                                 witre_md5_data(a,128);
  120.                         } else {
  121.                                 witre_md5_data(a,f ? 0 : *i++);
  122.                         }
  123.                         pc++;
  124.                 }
  125.         if(z == gn) {
  126.                 md.l[0]=len;md.l[1]=0;
  127.                 for(a=0;a<3;a++){
  128.                         f = 0;
  129.                         for(c=0;c<8;c++){
  130.                                 m=md.c[c^3];
  131.                                 r= m<<1|f;
  132.                                 f= m>>7;
  133.                                 md.c[c^3]=r;
  134.                         }
  135.                 }
  136.                 for(c=0;c<8;c++){
  137.                         witre_md5_data(56|c,md.c[c]);
  138.                 }
  139.         }

  140.         A=md5_key.l[0];B=md5_key.l[1];
  141.         C=md5_key.l[2];D=md5_key.l[3];
  142.         for(a=0;a<64;a++){
  143.                 switch(a>>4){
  144.                         case 0:{g=(B&C)|((~B)&D);c=a;break;}
  145.                         case 1:{g=(D&B)|((~D)&C);c=5*a+1;break;}
  146.                         case 2:{g=B^C^D;c=3*a+5;break;}
  147.                         case 3:{g=C^(B|(~D));c=7*a;break;}
  148.                 }

  149.         A=B+_lrol_(A+g + eeprom32[0x80 | (block << 4) | (c & 15)] + ti[a],ss[a>>4][a&3]);
  150.         XchgVar(A, D); XchgVar(B, D); XchgVar(C, D);
  151.         }
  152.                 if(++block > 7){
  153.                         eeprom_erase(0x200);
  154.                         block = 0;
  155.                 }

  156.         md5_key.l[0]+=A;md5_key.l[1]+=B;
  157.         md5_key.l[2]+=C;md5_key.l[3]+=D;
  158.                 }

  159.                 for(c=0;c<4;c++){
  160.                         md5_key.l[c]=ReverseIntBytes(md5_key.l[c]);
  161.                 }
  162.         return md5_key.c;
  163. }

  164. void main(){
  165. U8 z;
  166. U8* md5_answer;
  167. eeprom_open();
  168. eeprom_erase(0x200);
  169. send_text("STC15F104E MD5 V1.1\r\n");
  170. send_text("md5(\"");
  171. send_text(eeprom);
  172. send_text("\")=");
  173. md5_answer = md5(eeprom);
  174. for (z = 0; z < 16; z++) {
  175.         txd_data(((md5_answer[z] >> 4) < 10 ? 48 : 87) + (md5_answer[z] >> 4));
  176.         txd_data(((md5_answer[z] & 15) < 10 ? 48 : 87) + (md5_answer[z] & 0xF));
  177. }

  178. send_text("\r\n");
  179. eeprom_close();
  180. while (1) {
  181.         WDT_CONTR = 0x37;
  182. }


  183. }

復制代碼


所有資料51hei提供下載:

MD5-STC15F104E V1.1.zip (13.15 KB, 下載次數: 39)

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂 踩
回復

使用道具 舉報

6#
ID:57657 發表于 2020-7-24 22:47 | 只看該作者
szb314 發表于 2020-7-24 15:32
EEPROM 當RAM用會不會很慢

添加IO口賦值語句,然后用邏輯分析儀測量即可。
回復

使用道具 舉報

5#
ID:807591 發表于 2020-7-24 15:32 | 只看該作者
EEPROM 當RAM用會不會很慢
回復

使用道具 舉報

無效樓層,該帖已經被刪除
板凳
ID:17647 發表于 2020-7-13 15:45 | 只看該作者
正在找STC15F104E/W 軟串口發送源程序,謝謝了!
回復

使用道具 舉報

沙發
ID:328014 發表于 2020-7-12 16:43 | 只看該作者
這個牛逼啊,單片機居然能干這么高端的事情
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
性生活视频网站| 成人av动漫在线观看| 国产毛片av| 国产精品 欧美 日韩| av丝袜天堂网| 欧美日本韩国在线| 久久久久久久久久亚洲| 欧美日本国产一区| 国产欧美日韩在线| 天堂蜜桃一区二区三区| 色婷婷av一区二区三区丝袜美腿| 黄色的视频在线观看| www.三区| www.久久91| 日韩精品一区二区三区四区五区 | 寂寞少妇一区二区三区| 欧美精品色图| 一区二区三区| 黄色网页在线播放| 免费看成一片| 国产精品美女一区二区视频| 中文天堂在线视频| 在线视频这里只有精品| 中文字幕第80页| 欧美精品一区二区性色a+v| 成人欧美一区二区三区在线湿哒哒| 在线观看国产精品91| 91麻豆精品国产综合久久久久久| 亚洲欧美经典视频| 91亚洲国产成人精品一区二三| 媚黑女一区二区| 亚洲a在线视频| 另类春色校园亚洲| 国产综合色激情| 美足av综合网| 免费a在线看| 日本护士...精品国| 免费全黄无遮挡裸体毛片| 另类free性欧美护士| 亚洲国产一二三区| 久久影视中文字幕| 国产在线欧美在线| 人人艹在线视频| 真人bbbbbbbbb毛片| 日韩av影视大全| 亚洲色图久久久| 国产a级一级片| 久青草视频在线播放| 亚洲精品国产精品国自产| 91黄在线观看| 91影院在线免费观看视频| 久久久视频免费观看| 北条麻妃久久精品| 色悠悠久久久久| 亚洲人成网在线播放| 蜜桃精品视频在线| 欧美日韩国产免费观看| 99久久精品国产亚洲精品| 一区三区在线欧| 日本天堂一区| 国产九一精品| 国产一区二区在线| 欧美日韩一二三四| 欧美精品久久久久久| 波多野结衣在线观看一区二区三区 | 国产超碰人人模人人爽人人添| 乱子伦一区二区三区| www.com亚洲| 国产精品尤物视频| 国产精品成人久久久| av大片免费观看| 九九热精品视频在线| 亚洲国产成人精品女人久久| 国产主播第一页| 亚洲午夜精品久久久| 国产美女永久免费| 色屁屁草草影院ccyycom| 中国xxx69视频| 在线亚洲精品自拍| 国产成人福利| eeuss影院www在线观看免费| sm一区二区三区| 亚洲人成77777男人| 第九色区av在线| 成人短视频在线| 2021中文字幕在线| 韩日一区二区| 欧美男人操女人视频| 四虎成人av| 国产欧美另类| 国产精品中文字幕一区二区三区| 99国产精品国产精品毛片| 亚洲国产成人一区二区三区| 亚洲精品国产精品乱码不99 | 免费在线观看av| 多野结衣av一区| 欧美久久久网站| 亚洲区小说区| 在线不卡亚洲| 久久99国产精品免费| 99久久精品情趣| 亚洲精品高清视频在线观看| 91成人免费网站| 日韩av资源在线播放| 欧美精品一二区| 国产精品人人做人人爽| 精品国产乱码久久久久久蜜柚 | 国产高清免费在线观看| 欧美色图第二页| 97超碰在线资源站| 电影av一区| av激情成人网| 精品盗摄女厕tp美女嘘嘘| 国产日韩欧美三区| 99久久er热在这里只有精品15| 亚洲精品国产无天堂网2021| 日韩午夜在线影院| 欧美激情a在线| julia一区二区中文久久94| 天堂v在线视频| 天天综合网久久| 欧美一级特黄高清视频| 国产又粗又黄又爽的视频| 欧美xxxx三人交性视频| 亚洲社区在线| 国产三级电影在线播放| 国产成人高清精品免费5388| 国产综合自拍| 91丨九色porny丨蝌蚪| 婷婷夜色潮精品综合在线| 日韩高清中文字幕| 国产精品678| 亚洲自拍三区| 韩国av中国字幕| 久久久久久久99| 久久久免费网站| 国产女王在线**视频| 日韩伦理在线一区| 成人激情电影在线| 日韩精选视频| 日韩成人精品一区| 国产一本一道久久香蕉| 午夜在线电影亚洲一区| 永久免费精品影视网站| 国产有码一区二区| 福利视频一区二区三区四区| 精品无码人妻一区| 国产日韩欧美一区二区东京热| www.噜噜色.com| 久草在线视频资源| 欧美激情偷拍自拍| 26uuu国产日韩综合| 精品视频一区二区三区免费| 久久久久久久一区二区| 亚洲视频精品一区| 成人免费看aa片| 亚洲成a人片在线| 成人伦理视频网站| 欧美日韩国产网站| 国产美女诱惑一区二区| 亚洲精品国产第一综合99久久| 亚洲天堂男人的天堂| 成人片在线免费看| 三级av免费看| 国产精品视频一二区| 7878视频在线观看| 欧美成人黄色| 久久精品国产精品青草| 日本道在线观看一区二区| 韩国精品久久久999| 蜜臀av.com| 日本福利片在线观看| 精品国产二区三区| 女人天堂av在线播放| 国产精品videosex性欧美| 国产视频一区在线观看| 亚洲天堂av女优| 午夜欧美性电影| 日韩欧美视频免费观看| 精品无线一线二线三线| 国产一线二线在线观看| 亚洲国产高清一区| 亚洲二区在线观看| 9.1国产丝袜在线观看| 色综合久久久久无码专区| 久草精品视频在线观看| www.午夜| 日韩中文字幕在线一区| 成人免费电影视频| 亚洲欧美日韩中文在线制服| 日本不卡二区| 日韩在线中文字幕视频| 黄色电影网站在线观看| 日韩视频网站在线观看| 国产一区二区在线影院| 日韩一区二区三区视频| 精品国产乱码久久久久久108| 欧洲女同同性吃奶| 国产免费自拍视频| 日本肉肉一区| 99精品欧美一区| 色噜噜久久综合伊人一本| 福利网在线观看| 天天做天天爱夜夜爽| 91成人福利在线观看| 婷婷精品在线观看| 国产精品超碰97尤物18| 性色av一区二区三区| 999在线观看| 亚洲成年人电影| 91高清视频在线观看| 麻豆精品一区二区三区| 日韩成人高清在线| 影音先锋成人资源网站| 黄瓜视频在线免费观看| 国产在线视频网址| 亚洲国内精品| 日韩美女一区二区三区| 一区二区在线不卡| 麻豆精品久久久久久久99蜜桃| 男人av在线| 国产欧美短视频| 亚洲国产精品yw在线观看| 400部精品国偷自产在线观看| 久久久久久无码午夜精品直播| 亚洲人成小说| 亚洲欧美日韩国产| 日韩av在线电影网| koreanbj精品视频一区| 亚洲奶汁xxxx哺乳期| 久久青草伊人| 久久午夜羞羞影院免费观看| 国内自拍欧美激情| 亚洲av无码一区二区三区网址 | 亚洲小说春色综合另类电影| 国产精品乱人伦中文| 国产精品 欧美在线| 日本不卡一区视频| 最新中文字幕在线视频| 一区二区自拍| 日韩黄在线观看| 成人性视频欧美一区二区三区| 亚洲精品影院在线| caoporn成人| 黑丝美女久久久| 四虎影视永久免费在线观看一区二区三区| 伊人手机在线视频| 久草免费在线| 高清不卡一区二区| 青青草原一区二区| 久久久精品少妇| 男人的天堂在线视频| 麻豆国产一区二区| 欧美另类在线观看| 亚洲精品视频大全| 亚洲精品666| 日韩国产欧美三级| 欧美高清videos高潮hd| 丰满少妇一区二区三区| 无夜福利视频观看| 日韩国产欧美在线观看| 欧美激情在线一区| 亚洲毛片亚洲毛片亚洲毛片| 在线看片你懂得| 另类中文字幕网| 欧美亚洲国产视频小说| 美国一级片在线观看| av黄色在线观看| 国产高清不卡二三区| 国产精品成人一区二区三区吃奶 | 亚洲美女免费视频| 久久久久久99| 亚洲成人一二三区| 中文在线免费一区三区| 色老汉一区二区三区| 一级性生活视频| 欧美黄色免费视频| 日韩欧美精品| 国产亚洲欧洲高清| 波多野结衣av在线免费观看| 青青草在线视频免费观看| 成人自拍视频在线| 99r国产精品视频| 国产精品久久久久久免费免熟| 日本国产亚洲| 欧美体内she精视频| 色欲av无码一区二区人妻| www.噜噜色.com| 免费日本视频一区| 国产精品成人久久久久| 欧美成人一区二区视频| 久久视频免费| 日韩精品在线看片z| 日本wwwxx| 美女做暖暖视频免费在线观看全部网址91| 懂色av中文字幕一区二区三区 | 国产精品1234区| 影视一区二区三区| 在线精品亚洲一区二区不卡| 日韩精品一区二区三区不卡| 2018av男人天堂| 国产成人免费xxxxxxxx| 国产精品18毛片一区二区| 视频污在线观看| 91日韩免费| 国产亚洲欧洲一区高清在线观看| 成人av资源网| 日韩成人黄色片| 在线国产一区二区| 久久免费福利视频| www.色国产| 丁香一区二区| 中文字幕不卡av| 精品97人妻无码中文永久在线| 成人免费福利| 精品国产91九色蝌蚪| 深爱五月激情网| 嗯~啊~轻一点视频日本在线观看| 日韩欧美主播在线| 日韩欧美理论片| 天堂地址在线www| 天天色天天操综合| 狠狠干狠狠操视频| yw视频在线观看| 亚洲图片欧美色图| 韩国视频一区二区三区| 黄色片在线看| 亚洲大片在线观看| 亚洲欧美手机在线| 拍真实国产伦偷精品| 精品欧美一区二区三区| 伊人免费视频二| 黄色av电影在线播放| 色综合久久久久久久| 不许穿内裤随时挨c调教h苏绵 | 91免费版视频| 国产又黄又大久久| 免费久久99精品国产自| 污污视频在线免费观看| 国产精品亚洲午夜一区二区三区| 欧美一区观看| 2018高清国产日本一道国产| 国产精品沙发午睡系列990531| 人人干视频在线| 国产资源在线播放| 色综合中文字幕国产| 污污内射在线观看一区二区少妇| 国产白丝在线观看| 日韩一级免费观看| 黄色录像二级片| 91免费精品国偷自产在线在线| 日韩视频永久免费观看| 91尤物国产福利在线观看| 欧美freesex交免费视频| 亚洲japanese制服美女| 国产娇喘精品一区二区三区图片| 国产一区欧美二区| 免费看黄色a级片| 三级在线观看| 欧美性猛交xxxx黑人交| 91无套直看片红桃在线观看| 97成人在线| 91av在线视频观看| 久久午夜宅男免费网站| 狠狠色丁香九九婷婷综合五月| 一区二区三区四区久久| 深夜影院在线观看| 欧美日韩你懂得| 久久久国产精华液| 日韩免费久久| 国产福利不卡| 免费的很黄很污的视频网站| 亚洲黄色性网站| 亚洲成人网在线播放| 成人福利一区| 国产精品久久精品| 91高清视频| 中文字幕在线不卡视频| 91精品啪在线观看国产| 精品国产亚洲一区二区三区大结局| 97视频在线观看网址| 国产视频每日更新| 国产精品美女一区二区| 久久久久久久无码| 免费欧美网站| 国产精品视频免费在线| xxx在线视频| 精品久久久久久| www.色小姐com| 久久久久久久久丰满| 欧美久久久久久一卡四| 又黄又爽在线免费观看| 欧美一区二区高清| 最新中文字幕第一页| 日本伊人色综合网| 国产网站免费在线观看| 在线观看涩涩| 国产亚洲欧洲一区高清在线观看| 中文字幕人妻一区| 欧美日韩一本|