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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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

使用道具 舉報(bào)

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);
    }

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

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)。
我們將首先禁用所有模擬輸入(因?yàn)槲覀儧]有使用任何模擬輸入)。 然后,我們將所有數(shù)字 I/O 引腳設(shè)置為輸入。 之后,我們將單獨(dú)將引腳 RB7 設(shè)置為輸出。 最后,我們將進(jìn)入一個(gè)無限循環(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ù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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)在成功了 感謝!!!
想問下要是傳送字符串該怎么整啊
怎么改動(dòng)語句呢
回復(fù)

使用道具 舉報(bào)

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

我給你來個(gè)程序試試



  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ù)

使用道具 舉報(bào)

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

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

使用道具 舉報(bào)

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

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

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: a级黄色片视频 | 亚洲精品国产第一综合99久久 | 国产黄色免费网站 | av无遮挡 | 国产美女精品视频 | 午夜免费福利片 | 91精品国产一区二区三区 | 亚洲性网| 91久久国产精品 | 免费黄网站在线观看 | 性欧美精品一区二区三区在线播放 | 亚洲国产精品一区二区第一页 | 一级免费毛片 | 国产激情视频在线观看 | 国产亚洲精品精品国产亚洲综合 | 美人の美乳で授乳プレイ | 国产一区二区三区四区五区加勒比 | 日本免费黄色一级片 | 日韩av在线免费 | 免费看的黄网站 | 久久久久国产精品人 | 成人精品国产免费网站 | 日韩高清一区二区 | 一区二区三区精品在线视频 | 日日天天 | 国产免费视频 | 国产一区欧美 | 成人二区| 美女国产 | 中文字幕一区二区三区乱码在线 | 久久成人精品视频 | 国产成人一区二区三区精 | 精品一区二区电影 | a级毛片毛片免费观看久潮喷 | 91视频播放 | 福利网站导航 | 久久精品99 | 成人精品视频 | 国产精品69av | 久久99精品视频 | 成人在线视频免费看 |