![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
松翰 MCU : SN8F5703
松翰 MCU : SN8F5703
公孫離
这个作者很懒,什么都没留下…
展开
-
SN8F5703 : ADC
代碼 : #include <SN8F5703.h> #include <stdio.h> // 這些數值只有在 MCU 主頻為 32MHz 才正常工作 #define L_S0RELH_4800 0x03 #define L_S0RELL_4800 0x98 #define L_S0RELH_9600 0x03 #define L_S0RELL_9600 0xcc #define L_S0RELH_19200 ...原创 2021-05-31 16:27:01 · 472 阅读 · 0 评论 -
SN8F5703 : UART 發送 & 接收
可以先參考這篇,因為是由這篇改進而來 https://blog.csdn.net/yenlinlab/article/details/117353498 需要注意的是,發送與接收的暫存器都是 S0BUF。 S0BUF 同時能取出 RX 接收資料,也能將要發送的 TX 資料寫入 S0BUF。 代碼 : #include <SN8F5703.h> // 這些數值只有在 MCU 主頻為 32MHz 才正常工作 #define L_S0RELH_4800 0x03 #define原创 2021-05-28 15:39:34 · 255 阅读 · 0 评论 -
SN8F5703 : UART 發送
發送腳 : 代碼 : #include <SN8F5703.h> // 這些數值只有在 MCU 主頻為 32MHz 才正常工作 #define L_S0RELH_4800 0x03 #define L_S0RELL_4800 0x98 #define L_S0RELH_9600 0x03 #define L_S0RELL_9600 0xcc #define L_S0RELH_19200 0x03 #define L_原创 2021-05-28 10:12:00 · 281 阅读 · 0 评论 -
SN8F5703 : PWM 輸出
寄存器: 代碼: #include <SN8F5703.h> #define P22_PWM10_ENABLE 0x01 #define P24_PWM11_ENABLE 0x02 #define P17_PWM12_ENABLE 0x04 #define P23_PWM20_ENABLE 0x10 #define P25_PWM21_ENABLE 0x20 #define P16_PWM22_ENABLE 0x40原创 2021-05-25 14:17:58 · 477 阅读 · 2 评论 -
SN8F5703 : Time 2 使用方法 (基本-自動重裝)
這個好處就是 : 不用每次把時間數值寫在中斷裡 // 0.001秒(1ms) : 65535-((16M/12)*0.001s)=65535-1333=64202(FACA) // 0.01秒(10ms) : 65535-((16M/12)*0.01s)=65535-13333=52202(CBEA) // 0.03秒(30ms) : 65535-((16M/12)*0.03s)=65535-40000=25535(63BF) // 0.049秒(49ms) : 65535-((16M/12)*0.049原创 2021-05-25 12:32:01 · 130 阅读 · 0 评论 -
SN8F5703 : Time 2 使用方法 (基本-手動重裝)
用法與 Timer 0 和 Timer 1 一樣 // 0.001秒(1ms) : 65535-((16M/12)*0.001s)=65535-1333=64202(FACA) // 0.01秒(10ms) : 65535-((16M/12)*0.01s)=65535-13333=52202(CBEA) // 0.03秒(30ms) : 65535-((16M/12)*0.03s)=65535-40000=25535(63BF) // 0.049秒(49ms) : 65535-((16M/12)*0.04原创 2021-05-25 12:22:51 · 125 阅读 · 0 评论 -
SN8F5703 : Timer 0 + Timer 1 使用方法
可以先參考前篇文章 : https://blog.csdn.net/yenlinlab/article/details/117229323 #include <SN8F5703.h> bit f0 = 0; // Timer 0 標誌位 bit f1 = 0; // Timer 1 標誌位 void Timer0ISR(void) interrupt ISRTimer0 { f0 = 1; TH0 = 0xFA; // Time 0 Hight byte (1原创 2021-05-25 11:24:01 · 257 阅读 · 1 评论 -
SN8F5703 : Time 0 使用方法
這是一個用 Time 0 去控制 P03 腳,產生 1ms 的電位變換。 時間參數只要調整 TH0 (Time 0 高位), TL0 (Time 0 低位) 還有 CLKSEL (主頻) 等這三個參數,計算公式就寫在代碼註解裡了,應該能很好理解。 // 0.001秒(1ms) : 65535-((16M/12)*0.001s)=65535-1333=64202(FACA) // 0.01秒(10ms) : 65535-((16M/12)*0.01s)=65535-13333=52202(CBEA) //原创 2021-05-24 18:34:41 · 271 阅读 · 0 评论 -
SN8F5703 : 基本 IO 輸出
輸入或輸出設置 : 開漏或推挽設置 : 代碼 : sbit P0_3 = P0^3; sbit P0_5 = P0^5; sbit P0_6 = P0^6; void main(){ P0M = 0xFF; // 設定P0x輸出或輸入 // Port 0 input/output mode register. // 0: Input mode, 1: Output mode P0OC = 0xFF; // (可不寫) 設定開漏或推挽輸出 { 0:推挽(預設), 1:開漏 } ( 只.原创 2021-05-17 18:49:53 · 584 阅读 · 0 评论