欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1146|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)與PC機(jī)通信

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:558173 發(fā)表于 2019-6-10 18:18 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. unsigned char key_s,key_v,tmp;
  4. unsigned char display_code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x82,0xF8,0x80,0x90};
  5. char code str[]="welcome!\n\r";/*定義向PC機(jī)發(fā)送的內(nèi)容*/
  6. void send_str();/*聲明發(fā)送字符串函數(shù)*/
  7. bit scan_key();/*聲明按鍵函數(shù)*/
  8. void proc_key();/*聲明按鍵處理函數(shù)*/
  9. void send_char(unsigned char td);/*聲明發(fā)送字符函數(shù)*/
  10. void delayms(unsigned char ms);/*聲明延時(shí)函數(shù)*/
  11. sbit K1=P1^4;
  12. void main()
  13. {
  14. TMOD=0x20;/*定時(shí)器1工作于8位自動重載模式,用于產(chǎn)生波特率 */
  15. TH1=0xFD; /*波特率9600*/
  16. TL1=0xFD;
  17. SCON=0x50;/*設(shè)定串行口工作方式*/
  18. PCON=0xef;/*波特率不倍增*/
  19. TR1=1;        /*啟動定時(shí)器1*/
  20. IE=0x00;/*禁止任何中斷*/
  21. while(1)
  22. {
  23.   if(scan_key())
  24.   delayms(10);         /*延時(shí)去抖動*/
  25.   if(scan_key())
  26.   {
  27.    key_v=key_s;
  28.    proc_key();
  29.   }
  30.   if(RI)   /*是否傳來數(shù)據(jù)*/
  31.   {
  32.    RI=0;
  33.    tmp=SBUF;           /*暫存接受到的數(shù)據(jù)*/
  34.    delayms(10);
  35.    P0=display_code[tmp-0x30];  /*數(shù)據(jù)傳送到PO口*/
  36.    send_char(tmp);         /*回傳接受的數(shù)據(jù)*/
  37.   }
  38. }
  39. }
  40. bit scan_key() /*掃描按鍵*/
  41. {
  42. key_s=0x00;
  43. key_s|=K1;
  44. return(key_s^key_v);
  45. }
  46. void proc_key()         /*按鍵處理*/
  47. {
  48. if((key_v&0x01)==0)   /*k1按鍵按下*/
  49. {
  50.   send_str();        /*傳送字符串*/
  51. }
  52. }
  53. void send_char(unsigned char td) /*傳送一個(gè)字符*/
  54. {
  55. SBUF=td;
  56. while(!T1);   /*等待數(shù)據(jù)傳送*/
  57. T1=0;                  /*清除數(shù)據(jù)傳送標(biāo)志*/
  58. }
  59. void send_str()         /*傳送字符串*/
  60. {
  61. unsigned char i=0;
  62. while(str[i]!='\0')
  63. {
  64.   SBUF=str[i];
  65.   T1=0;          /*清除數(shù)據(jù)傳送標(biāo)志*/
  66.   i++;
  67. }
  68. }
  69. void delayms(unsigned char ms)         /*延時(shí)子程序*/
  70. {
  71. unsigned char j;
  72. while(ms--)
  73. {
  74.   for(j=0;j<120;j++);
  75. }
  76. }
復(fù)制代碼


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵(lì)!

查看全部評分

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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