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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于mega16單片機1602LCD顯示程序,定時亮燈裝置

[復制鏈接]
跳轉到指定樓層
樓主

自制定時亮燈裝置。單片機程序如下。
  1. // Target : M16
  2. // Crystal: 12.000Mhz

  3. #include <iom16v.h>
  4. #include <macros.h>

  5. #define uchar unsigned char  
  6. #define uint unsigned int  
  7. #define mclk 1000000
  8. //12000000
  9. //8000000
  10. #pragma interrupt_handler uart_rx:12

  11. #define key_port PORTD     
  12. #define key_port_ddr DDRD
  13. #define key_port_pin PIND
  14. uchar WENZI1[]="JIESHOUDAOD: ...."; //WENZI1
  15. uchar WENZI2[]="receiving ... ..."; //WENZI2
  16.   uint FASONGSHUZU[10];                  //SHUJU1
  17. uint x=9;
  18. uchar temn,count;
  19. uchar temtab;
  20. long int i,w,e;
  21. long int jd,k,sz;
  22. int g,s;

  23. uchar rdata,flag=0;//baocun jieshoudao d shuju



  24. void delay (uint ms)
  25. {
  26.           uint i,j;
  27.           for(i=0;i<ms;i++)
  28.           {
  29.                      for (j=0;j<1141;j++);
  30.           }
  31. }

  32. void DelaymS (uint i)
  33. {
  34.           uint j;
  35.           for(;i!=0;i--)
  36.           {
  37.                      for (j=20;j!=0;j--);
  38.           }
  39. }


  40. void uart_init(uint baud)
  41. {
  42. PORTA = 0x00;

  43. DDRA  = 0x01;

  44. UCSRB=0X00;
  45. UCSRA=0X00;//
  46. UCSRC=(1<<URSEL)|(0<<UPM0)|(3<<UCSZ0);//選擇UCSRC,異步模式,禁止校驗,1位停止位,8為數據位。
  47. baud=mclk/16/baud-1;
  48. UBRRL=baud;
  49. UBRRH=baud>>8;
  50. UCSRB=(1<<TXEN)|(1<<RXEN)|(1<<RXCIE);//接收、發送使能,接收中斷使能。
  51. SREG=BIT(7);
  52. DDRD  = 0x3F;//portd6輸入,其他輸出,顯示程序//pd7shuru
  53. DDRB = 0XFF; //輸出,顯示程序
  54. //DDRD|=0X02;//配置pd1,TXD為輸出,通信
  55. DDRC  = 0xFF;//配置C為輸出,通信
  56. }
  57. void uart_rx()
  58. {
  59. UCSRB&=~BIT(RXCIE);//jieshou zhongduan guanbi ,
  60. rdata=UDR;
  61. flag=1;
  62. UCSRB|=BIT(RXCIE);//DAKAI JIESHOU ZHOGNDUAN HANSHU
  63. }


  64. void uart_sendB(uchar data)
  65. {
  66. while(!(UCSRA&(BIT(UDRE))));//di5wei=1;DENGDAI JICUNQI WEIKONG
  67. UDR=data;
  68. while(!UCSRA&(BIT(TXC)));//fasong jieshu
  69. UCSRA|=BIT(TXC);
  70. }

  71. void write_com(uchar com)
  72. {
  73.   PORTD &= ~BIT(4);
  74. PORTD &= ~BIT(5); //KONGZHIKOU,PD4,5,3 為RS,R/W,EA。數據位為PB口
  75. PORTB = com; //SHUJUKOU
  76. PORTD |= BIT(3); //
  77. delay(1);
  78. PORTD &= ~BIT(3); //
  79. }
  80. void write_data(uchar data)
  81. {
  82.   PORTD |= BIT(4);
  83. PORTD &= ~BIT(5);
  84. PORTB = data;
  85. PORTD |= BIT(3); //
  86. delay(1);
  87. PORTD &= ~BIT(3);//
  88. }


  89. void shujuchuli(long int  count)
  90. {
  91. uint i,j1,j2,j3,j4,j5,j6;
  92. count=count%100000;
  93.     j1=count/100000;
  94.         j2=count/10000;count=count%10000;   //小數點后第一位 + '0'
  95.         j3=count/1000;count=count%1000;   //小數點后第一位 + '0'
  96.         j4=count/100;count=count%100;
  97.         j5=count/10;count=count%10;
  98.         j6=count;

  99. FASONGSHUZU[0]=j1+0x30;
  100. FASONGSHUZU[1]=j2+0x30;
  101. FASONGSHUZU[2]=j3+0x30;
  102. FASONGSHUZU[3]=j4+0x30;
  103. FASONGSHUZU[4]=j5+0x30;
  104. FASONGSHUZU[5]=j6+0x30;
  105. }



  106. void xianshi1(uchar tab)
  107. {
  108. uint i;
  109.   write_com(0X38);
  110. delay(5);
  111.   write_com(0X01);
  112. delay(5);
  113. write_com(0X0C);
  114. delay(5);
  115. write_com(0X06);
  116. delay(5);
  117. write_com(0X80+0);
  118. delay(5);
  119.   for(i=0;i<16;i++)
  120. {
  121.    write_data(WENZI1[i]);
  122.   delay(5);
  123. }
  124. }



  125. void DISSHUJU(uint num)

  126. {
  127.    uint i;
  128.    write_com(0X80+0X40);
  129.    delay(5);
  130.    for(i=0;i<6;i++)
  131.      {
  132.             write_data(FASONGSHUZU[i]);
  133.            delay(5);
  134.            }
  135. }




  136. void xianshi2(uchar tab)
  137. {
  138. uint i;
  139.   write_com(0X38);
  140. delay(5);  
  141. write_com(0X01);
  142. delay(5);
  143. write_com(0X0C);
  144. delay(5);
  145. write_com(0X06);
  146. delay(5);
  147. write_com(0X80+0);
  148. delay(5);
  149. for(i=0;i<16;i++)
  150. {
  151.    write_data(WENZI2[i]);
  152.   delay(5);
  153. }
  154. }




  155. void YANSHIMIN(uint i)
  156. {
  157.           uint j;
  158.           for(;i!=0;i--)
  159.           {
  160.                      for (j=60;j!=0;j--)
  161.                  {
  162.                  DelaymS (5000);
  163.                  DelaymS (5000);
  164.                  }
  165.           }
  166. }

  167. //************************main***********************
  168. void main (void)                 //程序主函數
  169. {
  170.         uint k,i=8;
  171. uint j=20;
  172. unsigned char tem;
  173.         uart_init(1200);//初始化端口。同時打開串口?山邮沾跀祿
  174.         //uart_sendB(i);
  175.         //delay(10);
  176.         //uart_sendB(j);
  177.         //delay(10);

  178.         DelaymS (5000);        
  179.         PORTA=0X00;//DENGMIE
  180.         DelaymS (5000);        
  181.         PORTA=0XFF;//DENGMIE
  182.         //以下,接收按鍵調整延時時間
  183.         PORTD=PORTD|0X80;//ZHI 1,pd7  
  184.           for(j;j!=0;j--)
  185.           {
  186.         
  187.          tem=key_port_pin&0x80;
  188.         if( tem==0x00)
  189.         i=i++;
  190.         DelaymS (5000);        
  191.                 }                                
  192.         
  193.         //以下,顯示,延時
  194.         xianshi1(WENZI1[i]);
  195.         for(i;i!=0;i--)
  196.         {               
  197.         PORTA=0XFF;//DENGMIE
  198.         xianshi2(WENZI2[i]);
  199.                          shujuchuli(i);
  200.                           xianshi1(WENZI1[i]);
  201.                          DISSHUJU(FASONGSHUZU[i]);
  202.                         DelaymS (5000);        
  203.                         
  204.                           YANSHIMIN(60);
  205.                         
  206.                         
  207.                         
  208.         }
  209.         PORTA=0X00;//
  210.         DelaymS (5000);        
  211.         
  212. }

復制代碼

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩1区2区 | 草草视频在线观看 | 色婷婷精品国产一区二区三区 | 国内精品久久精品 | 精品欧美一区二区三区久久久 | 精品久久久久一区二区国产 | 久久久91精品国产一区二区三区 | 国产一区二区三区视频 | 欧美高清视频 | 欧美视频精品 | 欧美二区在线 | 一区二区三区免费看 | 亚洲欧美日韩精品 | 国产日韩欧美在线观看 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | av网站免费| 久久久性 | 高清视频一区二区三区 | 欧美一级大片免费看 | 午夜小电影 | 国产成人影院 | 97精品超碰一区二区三区 | 国内精品视频在线 | 国产成人精品一区二区三区在线 | 伊人色综合久久天天五月婷 | 日韩精品在线免费 | 精品亚洲视频在线 | 中国黄色在线视频 | 日本aa毛片a级毛片免费观看 | 欧美淫片 | 中文字幕伊人 | 国产成人精品免费 | 欧美精品一区二区免费 | 国产精品国色综合久久 | 久久久久久久av | 国产 亚洲 网红 主播 | 亚洲一区二区在线电影 | 在线视频 欧美日韩 | 欧美一区二区三区电影 | 青草视频在线 | 激情国产|