久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2135|回復: 0
收起左側

電暖桌調溫的單片機源程序

[復制鏈接]
ID:201874 發表于 2017-5-17 19:42 | 顯示全部樓層 |閱讀模式
51單片機源程序:
  1. #include<reg51.h>  //包含單片機寄存器的頭文件,四檔為一檔,主程序體現。有點過熱,占空比為了4比1或者5比1為好。晶振為4。43MHZ
  2. sbit S1=P3^4;     //將S1位定義為P1.4
  3. sbit D1=P2^5;  //將D1位定義為P2.0引腳
  4. sbit D2=P2^6;  //將D2位定義為P2.1引腳
  5. sbit D3=P2^7;
  6. sbit D4=P2^4;
  7. unsigned char Countor1; //設置全局變量,儲存定時器T1中斷次數
  8. unsigned char Countor2; //設置全局變量,儲存定時器T1中斷次數

  9. void delay(void)
  10. {
  11. unsigned int n;
  12. for(n=0;n<10000;n++)
  13.         ;
  14. }

  15. void dang1d(void)        
  16.   {
  17.            TMOD=0x10;
  18.     P0=0xfe;  //第一個LED亮,高檔
  19.         D1=0;
  20.         D2=0;
  21.         while(1){
  22.         D1=0;
  23.         D2=0;
  24.         delay();
  25.     break;
  26.         }
  27. }

  28. void dang2d(void)        
  29.   {
  30.            TMOD=0x10;
  31.     P0=0xfd; //第二個LED亮,二檔
  32.         D1=0;
  33.         D2=0;
  34.         while(1){
  35.         D1=0;
  36.         D2=0;
  37.         delay();
  38.     delay();
  39.     delay();
  40.     delay();
  41.     D1=1;
  42.         D2=1;
  43.         delay();
  44.     delay();
  45.     break;
  46.         }
  47. }

  48. void dang3d(void)        
  49.   {
  50.            TMOD=0x10;
  51.     P0=0xfb;  //第三個個LED亮,三檔
  52.         D1=0;
  53.         D2=0;
  54.         while(1){
  55.         D1=0;
  56.         D2=0;
  57.         delay();
  58.     delay();
  59.     delay();
  60.     D1=1;
  61.         D2=1;
  62.         delay();
  63. #include<reg51.h>  //包含單片機寄存器的頭文件
  64. sbit S1=P3^4;     //將S1位定義為P1.4
  65. sbit D1=P2^5;  //將D1位定義為P2.0引腳
  66. sbit D2=P2^6;  //將D2位定義為P2.1引腳
  67. sbit D3=P2^7;
  68. sbit D4=P2^4;
  69. unsigned char Countor1; //設置全局變量,儲存定時器T1中斷次數
  70. unsigned char Countor2; //設置全局變量,儲存定時器T1中斷次數

  71. void delay(void)
  72. {
  73. unsigned int n;
  74. for(n=0;n<10000;n++)
  75.         ;
  76. }

  77. void dang1d(void)        
  78.   {
  79.            TMOD=0x10;
  80.     P0=0xfe;  //第一個LED亮,高檔(39腳低電位)
  81.         D1=0;
  82.         D2=0;
  83.         while(1){
  84.         D1=0;
  85.         D2=0;
  86.         delay();
  87.     break;
  88.         }
  89. }

  90. void dang2d(void)        
  91.   {
  92.            TMOD=0x10;
  93.     P0=0xfd; //第二個LED亮,二檔(38腳)
  94.         D1=0;
  95.         D2=0;
  96.         while(1){
  97.         D1=0;
  98.         D2=0;
  99.         delay();
  100.     delay();
  101.     delay();
  102.     delay();
  103.     D1=1;
  104.         D2=1;
  105.         delay();
  106.     delay();
  107.     break;
  108.         }
  109. }

  110. void dang3d(void)        
  111.   {
  112.            TMOD=0x10;
  113.     P0=0xfb;  //第三個個LED亮,三檔(37腳下)
  114.         D1=0;
  115.         D2=0;
  116.         while(1){
  117.         D1=0;
  118.         D2=0;
  119.         delay();
  120.     delay();
  121.     delay();
  122.     D1=1;
  123.         D2=1;
  124.         delay();
  125.     delay();
  126.     delay();
  127.     break;
  128.         }
  129. }

  130. void dang4d(void)        
  131.   {
  132.            TMOD=0x10;
  133.     P0=0xf7;  //第四個LED亮,四檔(36腳)
  134.         D1=0;
  135.         D2=0;
  136.         while(1){
  137.         D1=0;
  138.         D2=0;
  139.         delay();
  140.         D1=1;
  141.         D2=1;
  142.         delay();
  143.     delay();
  144.     delay();
  145.         break;
  146.         }
  147. }

  148. void main(void)
  149. {  
  150.    unsigned char i;
  151.         i=0;    //將i初始化為0
  152.         while(1)
  153.          {
  154.                   if(S1==0)     //如果S1鍵按下
  155.                    {
  156.                           delay();  //延時一段時間
  157.               delay();
  158.                           if(S1==0) //如果再次檢測到S1鍵按下
  159.                             i++;    //i自增1
  160.                           if(i==6)  //如果i=9,重新將其置為1
  161.                             i=1;
  162.                                 
  163.                    }
  164.                  switch(i)   //使用多分支選擇語句
  165.                                  {
  166.                                    case 1: dang4d();  //第一個LED亮
  167.                                                         break;
  168.                                         case 2: dang3d();  //第二個LED亮
  169.                                               break;
  170.                                         case 3:dang2d();   //第三個LED亮
  171.                                               break;
  172.                                         case 4:dang1d();   //第四個LED亮
  173.                                               break;
  174.                                         case 5:P0=0xff;
  175.                                                  D1=1;
  176.                                                     D2=1;   //關機

  177.                                               break;
  178.                                              default:   //缺省值,關閉所有LED
  179.                                               P0=0xff;

  180.                                                   
  181.                                  }
  182.                  }         
  183. }


復制代碼


AT89S51單片機C語言程序范例.doc

1.64 MB, 下載次數: 3

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产三级国产aⅴ中文 | 国产情侣久久 | 午夜视频精品 | 久久乐国产精品 | 中文一区二区视频 | 久久久久久国产免费视网址 | 6080亚洲精品一区二区 | 91精品国产综合久久婷婷香蕉 | 麻豆av在线免费观看 | 九九在线精品视频 | 久久久黑人 | 亚洲欧美日韩中文字幕一区二区三区 | 午夜精品91 | 成人视屏在线观看 | 狠狠插狠狠操 | 亚洲精品888 | 国产精品视频免费看 | 黄色大片在线播放 | 色又黄又爽网站www久久 | av大全在线观看 | 欧美亚洲国产一区二区三区 | 日韩一区二区免费视频 | 九九热免费视频在线观看 | 91在线视频播放 | 久久久这里都是精品 | 在线观看视频一区二区三区 | 久久中文字幕一区 | 成人黄色av网址 | 日韩一二区 | 国产一级在线 | 精品久久99 | 99re在线播放 | 日韩美女在线看免费观看 | 亚洲精品在线视频 | 91视频进入 | 久久国产精品-久久精品 | 亚洲精品电影在线观看 | 亚洲精品一区二区在线观看 | 涩涩视频在线看 | 国产精品中文字幕在线播放 | 精品亚洲一区二区三区 |