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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2079|回復(fù): 9
收起左側(cè)

求幫忙 基于pic16f690做一些最基礎(chǔ)的小程序

[復(fù)制鏈接]
ID:1041233 發(fā)表于 2022-8-2 16:53 | 顯示全部樓層 |閱讀模式
有大佬幫忙看看嗎 網(wǎng)上沒咋找到教程 剛找的實習(xí)完全不會 求幫忙
回復(fù)

使用道具 舉報

ID:1041233 發(fā)表于 2022-8-2 16:56 | 顯示全部樓層
#include<pic.h>
void port_init();
void usart_init();
void main()
{
    usart_init();
    port_init();
   
     //while(!TRMT);

    while(1);
}
void port_init()
{
    TRISC=0x00;
    TRISB=0xff;
    PORTC=0x00;
}
void usart_init()
{
    TXSTA=0x24;
    RCSTA=0x90;
    SPBRG=12;
    GIE=1;
    PEIE=1;
    RCIE=1;
}
void interrupt com()
{
   
      if(RCIE&&RCIF)
    {
        PORTC=RCREG;
        TXREG=RCREG;
        while(!TRMT);
    }

}有大佬幫忙看看這個串口通信嗎
回復(fù)

使用道具 舉報

ID:1041233 發(fā)表于 2022-8-2 16:58 | 顯示全部樓層
還有數(shù)碼管原理圖上 跟信號燈同一個接口 但該怎么控制亮數(shù)碼管和信號燈,默認好像是只亮信號燈
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-8-3 17:06 | 顯示全部樓層
論壇里有這個單片機的中文數(shù)據(jù)手冊
下載下來,先看數(shù)據(jù)手冊,再用PIC的編程軟件編寫代碼和下載
都是用C語言的,跟8051沒有太大的區(qū)別,基本是一兩天就能上手了

不同的是PIC用的硬件堆棧,函數(shù)里面盡量不要有調(diào)用函數(shù)的代碼,一個函數(shù)就是一個函數(shù),代碼全部寫完,不要一個函數(shù)里雙調(diào)用其它函數(shù)
PIC中斷只有一個中斷入口,跟8051是不一樣的,所有的中斷都是一個地址,進入中斷之后要先查詢中斷標志位,檢測是哪個中斷觸發(fā)了,然后再進行操作
中斷函數(shù)中只做簡單和處理,不要在中斷函數(shù)中調(diào)用其它函數(shù)
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2022-8-3 18:32 | 顯示全部樓層
現(xiàn)在我們可以配置我們的數(shù)字 I/O,讓我們創(chuàng)建“Hello World!”的微控制器版本。

在本例中,將帶有串聯(lián)電阻 (220-470 Ohm) 的 LED 連接到引腳 10 (RB7)。
我們將首先禁用所有模擬輸入(因為我們沒有使用任何模擬輸入)。 然后,我們將所有數(shù)字 I/O 引腳設(shè)置為輸入。 之后,我們將單獨將引腳 RB7 設(shè)置為輸出。 最后,我們將進入一個無限循環(huán),讓 LED 閃爍。

完成此操作的代碼如下所示。 替換在指南的 MPLAB X & XC8 部分中創(chuàng)建的 main.c 文件的內(nèi)容。
  1. #include <xc.h>

  2. #define _XTAL_FREQ 4000000

  3. #pragma config FOSC=INTRCIO, WDTE=OFF, PWRTE=OFF, MCLRE=ON, CP=OFF, \
  4.                 CPD=OFF, BOREN=OFF, IESO=OFF, FCMEN=OFF

  5. int main()
  6. {
  7.     TRISA = 0xFF;
  8.     TRISB = 0xFF;
  9.     TRISC = 0xFF;

  10.     ANSEL = 0x00;
  11.     ANSELH = 0x00;

  12.     TRISBbits.TRISB7 = 0;

  13.     while(1)
  14.     {
  15.         PORTBbits.RB7 = 1;
  16.         __delay_ms(500);
  17.         PORTBbits.RB7 = 0;
  18.         __delay_ms(500);
  19.     }

  20.     return 0;
  21. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:879348 發(fā)表于 2022-8-4 07:59 | 顯示全部樓層
新手為什么要選擇這款單片機呢
回復(fù)

使用道具 舉報

ID:1041233 發(fā)表于 2022-8-4 09:37 | 顯示全部樓層
本帖最后由 ddahh 于 2022-8-4 10:09 編輯
angmall 發(fā)表于 2022-8-3 18:32
現(xiàn)在我們可以配置我們的數(shù)字 I/O,讓我們創(chuàng)建“Hello World!”的微控制器版本。

在本例中,將帶有串聯(lián) ...

老哥,現(xiàn)在成功了 感謝。!
想問下要是傳送字符串該怎么整啊
怎么改動語句呢
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2022-8-4 18:51 | 顯示全部樓層
ddahh 發(fā)表于 2022-8-4 09:37
老哥,現(xiàn)在成功了 感謝!!
想問下要是傳送字符串該怎么整啊
怎么改動語句呢

我給你來個程序試試



  1. #include <xc.h>
  2. #include <stdint.h>

  3. #define _XTAL_FREQ 4000000

  4. #pragma config FOSC=INTRCIO, WDTE=OFF, PWRTE=OFF, MCLRE=ON, CP=OFF, \
  5.                 CPD=OFF, BOREN=OFF, IESO=OFF, FCMEN=OFF

  6. //--------------------------------
  7. // Functions Declarations
  8. void UART_TRX_Init(void);

  9. // Globals
  10. uint8_t UART_Buffer = 0;
  11. //--------------------------------
  12. // Main Routine
  13. void main(void)
  14. {
  15.   //--[ Peripherals & IO Configurations ]--
  16.   UART_TRX_Init(); // Initialize The UART @ 9600bps
  17.   TRISC = 0x00; // Output Port (4-Pins)
  18.   PORTC = 0x00; // Initially OFF
  19.   //---------------------------
  20.   while(1)
  21.   {
  22.     // Stay Idle, Everything is handled in the ISR !
  23.     //PORTC = UART_Buffer;
  24.   }
  25.   return;
  26. }
  27. //--------------------------------
  28. // Functions Definitions

  29. void UART_TRX_Init()
  30. {
  31.   BRGH = 1; // Set For High-Speed Baud Rate
  32.   BRG16 = 0;  // FOSC/128
  33.   SPBRG = 25; // Set The Baud Rate To Be 9600 bps
  34.   // Enable The Ascynchronous Serial Port
  35.   SYNC = 0;
  36.   SPEN = 1;
  37.   // Set The RX-TX Pins to be in UART mode (not io)
  38.   TRISB6 = 1; // As stated in the datasheet
  39.   TRISB7 = 1; // As stated in the datasheet
  40.   //--[ Enable UART Receiving Interrupts ]--
  41.   RCIE = 1; // UART Receving Interrupt Enable Bit
  42.   PEIE = 1; // Peripherals Interrupt Enable Bit
  43.   GIE = 1; // Global Interrupt Enable Bit
  44.   //------------------
  45.   CREN = 1; // Enable Data Continous Reception
  46.   TXEN = 1; // Enable UART Transmission

  47. }

  48. void interrupt ISR (void)
  49. {
  50.   if (RCIF == 1)
  51.   {
  52.     UART_Buffer = RCREG; // Read The Received Data Buffer
  53.     PORTC = UART_Buffer; // Display The Received Data On LEDs
  54.         while(!TRMT);
  55.     TXREG = UART_Buffer;
  56.     RCIF = 0; // Clear The Flag
  57.   }
  58. }



復(fù)制代碼
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-8-4 20:09 | 顯示全部樓層
wufa1986 發(fā)表于 2022-8-4 07:59
新手為什么要選擇這款單片機呢

誰知道呢?如果不是工作需要或者有很大干擾源的電路,我都不想看一眼PIC
STC這個很多人的初戀型號她不香嗎?
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2022-8-5 08:53 | 顯示全部樓層
ddahh 發(fā)表于 2022-8-2 16:58
還有數(shù)碼管原理圖上 跟信號燈同一個接口 但該怎么控制亮數(shù)碼管和信號燈,默認好像是只亮信號燈

單片機是根據(jù)硬件電路圖的設(shè)計來寫代碼的

任何模擬引腳必須先使用 ANSEL 和 ANSELH 寄存器禁用,然后才能用作數(shù)字 I/O。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产乱码久久久久久闺蜜 | av国产精品毛片一区二区小说 | 动漫www.被爆羞羞av44 | 久久一| 免费国产视频在线观看 | 成人精品视频免费 | 欧美一级网站 | 成人av网站在线观看 | 欧美一区二区 | av网站免费看 | 日韩欧美一区二区三区四区 | 美国黄色一级片 | 精品亚洲一区二区三区四区五区 | 91久久夜色精品国产网站 | 黑人性hd | 免费av观看 | 久操伊人 | 欧美三区在线观看 | 美女福利网站 | 欧洲精品久久久久毛片完整版 | 一级毛片在线播放 | 狠狠操操| 中文字幕亚洲在线 | 久久99精品久久久 | 精品国模一区二区三区欧美 | aaa一区 | 精品久久精品 | 亚洲国产在 | 日韩一区二区三区在线视频 | 成人午夜免费网站 | 日韩中文字幕区 | 国产91丝袜在线播放 | 亚洲精品一区av在线播放 | 久久专区| 欧美日韩在线一区 | 欧美久久电影 | 尤物在线 | 黑人粗黑大躁护士 | 91av免费观看 | 欧美日本在线观看 | 国产精品精品视频一区二区三区 |