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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求pic16f887芯片的應用實例

[復制鏈接]
跳轉到指定樓層
樓主
ID:311426 發(fā)表于 2018-8-9 16:10 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
如題,需要用pic16f887為芯片來做混合式交流接觸器,實現(xiàn)交流接觸器的無弧分斷,主要是軟件程序部分,哪位大佬有這個案例或者類似的例子還請不吝分享,必有重謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

地板
ID:152816 發(fā)表于 2020-4-12 20:22 | 只看該作者
我也用來測試一下 這程序沒顯示任何字符
回復

使用道具 舉報

板凳
ID:311426 發(fā)表于 2018-8-11 18:27 | 只看該作者
多謝大神 !
回復

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2018-8-11 10:50 | 只看該作者
  1. #include <pic.h>       //調(diào)用頭文件,可以去PICC軟件下去查找PIC16F88X單片機的頭文件
  2. __CONFIG(XT&WDTDIS&LVPDIS&BORDIS);    //定義配置字,晶振類型:XT,關閉開門狗,禁止低電壓編程,禁止欠壓復位

  3. #define RSPIN  RB5 //Data or Instrument Select
  4. #define RWPIN  RB4 //Write or Read
  5. #define EPIN  RB3 //6800 mode Enable single

  6. unsigned int a;
  7. unsigned int b;



  8. void delay(unsigned int t)
  9. {
  10.         unsigned int i,j;
  11.         for(i=0;i<t;i++)
  12.         {
  13.                 for(j=0;j<10;j++);
  14.         }
  15. }



  16. void lcd_wait_busy(void)
  17. {  
  18.         TRISD7=1;                              //為讀狀態(tài)做準備,把RD7設為輸入
  19.            RSPIN=0;                           //選擇指令寄存器
  20.            RWPIN=1;                           //選擇讀
  21.            EPIN=1;                                   //使能線電平變化
  22.            while(RD7==1);         //讀忙狀態(tài),不忙時退出
  23.            EPIN=0;                                   //恢復使能線電平
  24.            TRISD7=0;                           //把RD7設置為輸出
  25. }


  26. void lcd_write_com(unsigned char combuf)
  27. {  
  28.         RSPIN=0;                  //選擇指令寄存器
  29.            RWPIN=0;                   //選擇寫
  30.            PORTD=combuf;       //把命令字送入RD        
  31.            EPIN=1;                    //使能線電平變化,命令送入1602的8位數(shù)據(jù)口
  32.            asm("NOP");         //來一個空操作,以延時片刻
  33.            EPIN=0;                    //恢復使能線電平
  34. }


  35. void lcd_write_com_busy(unsigned char combuf)
  36. {  
  37.         lcd_wait_busy();                //調(diào)用忙檢測函數(shù)
  38.            lcd_write_com(combuf);         //調(diào)用寫命令函數(shù)
  39. }


  40. void lcd_write_data(unsigned char databuf)
  41. {  
  42.         lcd_wait_busy();        //調(diào)用忙檢測函數(shù)
  43.            RSPIN=1;                  //選擇數(shù)據(jù)寄存器
  44.            RWPIN=0;                   //選擇寫
  45.            PORTD=databuf;      //把數(shù)據(jù)字送入RD口
  46.            EPIN=1;                    //使能線電平變化,命令送入1602的8位數(shù)據(jù)口
  47.            asm("NOP");
  48.            EPIN=0;                    //恢復使能線電平
  49. }


  50. void lcd_write_address(unsigned char x,unsigned char y)
  51. {  
  52.         x&=0x0f;                        //列地址限制在0-15
  53.            y&=0x01;                        //行地址限制在0-1
  54.            if(y==0x00)
  55.               lcd_write_com_busy(x|0x80);           //第一行的列地址寫入
  56.            else
  57.               lcd_write_com_busy((x+0x40)|0x80);           //第二行的列地址寫入
  58. }


  59. void lcdreset(void)
  60. {  
  61.         delay(150);
  62.         lcd_write_com(0x38);
  63.            delay(50);
  64.         lcd_write_com(0x38);
  65.            delay(50);
  66.         lcd_write_com(0x38);
  67.            lcd_write_com_busy(0x38);       //8位數(shù)據(jù),雙列,5*7字形
  68.            lcd_write_com_busy(0x08);                //顯示功能關,無光標
  69.            lcd_write_com_busy(0x01);                //清屏指令
  70.            lcd_write_com_busy(0x06);                //寫入新的數(shù)據(jù)后,光標右移,顯示屏不移動
  71.            lcd_write_com_busy(0x0c);                //顯示功能開,無光標,
  72. }         

  73.        
  74. void lcd_write_char(unsigned char x,unsigned char y,unsigned char buf)
  75. {                 
  76.         lcd_write_address(x,y);         //寫入地址                       
  77.            lcd_write_data(buf);                //寫入顯示數(shù)據(jù)   
  78. }


  79. void timer0init(void)
  80. {
  81.         T0CS=0;                //TMR0工作于定時器方式
  82.         PSA=1;                 //TMR0不分頻
  83.         T0IF=0;                //清除TMR0中斷標志
  84.         T0IE=1;                //TMR0中斷允許       
  85.         TMR0=0x13;             //賦初值,以便TMR0每250US中斷一次
  86.         GIE=1;
  87. }


  88. void interrupt  ISR(void)
  89. {
  90.         if(T0IF==1)           //250us
  91.           {
  92.                 TMR0=0x13;
  93.                 T0IF=0;
  94.                 if(++a>399)  //計數(shù)400次后,為0.1秒
  95.                 {
  96.                         a=0;
  97.                         if(++b>9999) a=0;  //將顯示數(shù)字限定在0-9999中                                                       
  98.                 }
  99.         }
  100. }


  101. void main(void)
  102. {       
  103.           ANSEL=0X00;                          //所有IO為數(shù)字IO
  104.           ANSELH=0X00;                          //所有IO為數(shù)字IO
  105.           OSCCON=0X08;                    //系統(tǒng)時鐘由CONFIG決定
  106.         TRISB=0B11000111;           //RB3-5設置為輸出
  107.           TRISD=0B00000000;           //RD設置為輸出                             
  108.           lcdreset();                                 //復位1602       
  109.         timer0init();            
  110.           while(1)
  111.           {                
  112.             lcd_write_char(0,0,0x30+b/1000);                         //顯示數(shù)據(jù)百位
  113.                 lcd_write_char(1,0,0x30+(b%1000)/100);          //顯示數(shù)據(jù)十位
  114.                 lcd_write_char(2,0,0x30+(b%100)/10);                  //顯示數(shù)據(jù)個位
  115.                 lcd_write_char(3,0,'.');                                          //顯示"."
  116.                 lcd_write_char(4,0,0x30+b%10);                          //顯示數(shù)據(jù)小數(shù)       
  117.                 lcd_write_char(5,0,'S');                                          //顯示"S"
  118.           }
  119. }
復制代碼
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲一级 | 成人性视频免费网站 | 国产极品粉嫩美女呻吟在线看人 | 成人精品鲁一区一区二区 | 国产黄色大片 | 亚洲毛片在线观看 | 日韩在线视频观看 | 一级毛片观看 | 久久99视频精品 | 亚洲国产欧美在线人成 | 成人国产一区二区三区精品麻豆 | 国产 欧美 日韩 一区 | 免费色网址 | av在线播放网址 | 国产乱码精品一区二区三区忘忧草 | 在线婷婷| 日本在线中文 | 国产日韩一区二区三区 | 欧美一级免费 | 操到爽| 久久国产福利 | 日韩一区二区三区在线观看视频 | 女女百合av大片一区二区三区九县 | 国产乱码精品一区二区三区av | 台湾佬久久| 免费一级片 | 婷婷色在线播放 | 亚洲精品福利在线 | 亚洲精品aⅴ | 91综合在线视频 | 中文字幕的av | 成人影院在线观看 | 久久99深爱久久99精品 | 久久av资源网| 国产高清一区二区三区 | 国产福利精品一区 | 成人片免费看 | 成人国产毛片 | 国产精品视频一区二区三区 | 国产精品爱久久久久久久 | 一区二区三区高清在线观看 |