




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、STC12C5A60S單片機雙串口通信STC12C5A60S2 單片機是一款功能比較強大的單片機, 它擁有兩個全雙工串行通信接口,串口 1 的功能及操作 與傳統 51 單片機串行口相同;特殊的是 STC12C5A60S2 單片機內部有一個獨立波特率發生器,串口 1 可以使用 定時器 1 作為波特率發生器,也可以使用獨立波特率發 生器作為波特率發生器;而串口 2 只能使用獨立波特率 發生器作為波特率發生器。 下面是一段雙串口通信的程序: /*時間: 2012.11.24 芯片: STC12C5A60S2 晶振: 22.1184MHz 波特率: 9600bps 引腳定義:串行口 1:發送 &
2、;mdash;———TxD/P3.1 ; 接收 ————RxD/P3.0串行口 2:發送 ————TxD2/P1.3 ;接收 ————RxD2/P1.2 功能描述:STC12雙串口通信(中斷方式)當串行口 1接收數據后,將此數據由串行口 2 發送出1發送出去 當串行口 2 接收數據后,將此數據由串行
3、口去*/#include;#define S2RI 0x01/ 串口 2 接收中斷請求標志位 #define S2TI 0x02/ 串口 2 發送中斷請求標志位 unsigned char flag1,flag2,temp1,temp2;/* 串行口初始化函數void InitUART(void)TMOD = 0x20; /定時器 1 工作在方式 2動重裝SCON = 0x50; /串口 1 工作在方式 1 108 位自位異步收發 REN=1 允許接收TH1 = 0xFA; /定時器 1 初值TL1 = TH1;TR1 = 1; /定時器 1 開始計數EA =1;/ 開總中斷ES =1;/ 開
4、串口 1 中斷S2CON = 0x50; / 串口 2 工作在方式 1 10 位異步收發S2REN=1允許接收BRT = 0xFA; / 獨立波特率發生器初值AUXR = 0x10; /BRTR=1 獨立波特率發生器開始計數IE2 =0x01;/ /*開串口 2 中斷 ES2=1串行口 1 發送*void UART_1SendOneByte(unsigned char c) SBUF = c; while(!TI); / TI = 0;/*若 TI=0 ,在此等待串行口 2 發送*void UART_2SendOneByte(unsigned char c)S2BUF = c;while(!(
5、S2C0N&S2TI); Zz若 S2TI=0,在此等待S2CON&=S2TI; /S2TI=0/* 主函數 */void main(void)InitUART();/ 串行口初始化 while(1)/ 如果串口 1 接收到數據,將此數據由串口 2 發送 if(flag1=1)flag1=0;UART_2SendOneByte(temp1);/ 如果串口 2 接收到數據,將此數據由串口 1 發送 if(flag2=1)flag2=0;UART_1SendOneByte(temp2);/*串行口 1 中斷處理函數 */void UART_1Interrupt(void) inte
6、rrupt 4if(RI=1)RI=0;flag1=1; temp1=SBUF;/*串行口 2 中斷處理函數 */void UART_2Interrupt(void) interrupt 8 if(S2CON&S2RI)S2CON&=S2RI;flag2=1;temp2=S2BUF;12C5A60S2.h 的頭文件如下:/ / 新一代 1T 8051 系列 單片機內核特殊功能寄存器 C51Core SFRs/ 7 6 5 4 3 2 1 0Reset Valuesfr ACC = 0xE0; /Accumulator 0000,0000sfr B = 0xF0; /B Regi
7、ster 0000,0000ACsfr PSW = 0xD0; /Program Status Word CYF0 RS1 RS0 OV F1 P 0000,0000/sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbit RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0;/sfr SP = 0x81; /Stack Pointer 0000,0111sfr DPL = 0x82; /Data Pointer Low Byte 0000,0000sfr DPH = 0x83; /Data
8、Pointer High Byte0000,0000/ 新一代 1T 8051 系列 單片機系統管理特殊功能寄存器/ 7 6 5 4 3 2 1 0Reset Valuesfr PCON = 0x87; /Power Control SMOD SMOD0LVDF POF GF1 GF0 PD IDL 0001,0000/ 7 6 5 4 3 2 1 0Reset Valuesfr AUXR = 0x8E; /Auxiliary Register T0x12 T1x12UART_M0x6 BRTR S2SMOD BRTx12 EXTRAM S1BRS 0000,0000/sfr AUXR1= 0
9、xA2; /Auxiliary Register 1 - PCA_P4SPI_P4 S2_P4 GF2 ADRJ - DPS 0000,0000/*PCA_P4:0, 缺省 PCA 在 P1 口1, PCA/PWM從 P1 口切換到 P4 口 : ECl 從 P1.2 切換到 P4.1 口,PCA0/PWM0 從 P1.3 切換到 P4.2 口PCA1/PWM1 從 P1.4 切換到 P4.3 口SPl_P4:0, 缺省 SPI 在 P1 口1 ,SPI 從 P1 口切換到 P4 口: SPICLK 從 P1.7 切 換到 P4.3 口MISO 從 P1.6 切換到 P4.2 口MOSI 從
10、P1.5 切換到 P4.1 口SS 從 P1.4 切換到 P4.0 口S2_P4:0, 缺省 UART2 在 P1 口1, UART2 從 P1 口切換到 P4 口 : TxD2 從 P1.3 切換到 P4.3 口RxD2 從 P1.2 切換到 P4.2 口GF2: 通用標志位ADRJ:0,10位A/D轉換結果的高 8位放在 ADC_RES寄存器,低2位放在ADC_RESL寄存器1, 10位A/D轉換結果的最高 2位放在 ADC_RES寄存器的低2位,低8位放在ADC_RESL寄存器 DPS: 0, 使用缺省數據指針 DPTR01 ,使用另一個數據指針 DPTR1*/sfr WAKE_CLKO
11、 = 0x8F; / 附加的 SFR WAK1_CLKO/*7 6 5 4 3 2 1 0 ResetValuePCAWAKEUP RXD_PIN_IE T1_PIN_IE T0_PIN_IE LVD_WAKE _ T1CLKO T0CLKO 0000,0000B b7 - PCAWAKEUP : PCA 中斷可喚醒 powerdown 。 b6 - RXD_PIN_IE : 當 P3.0(RXD) 下降沿置位 RI 時可 喚醒 powerdown( 必須打開相應中斷 ) 。b5 - T1_PIN_IE : 當 T1 腳下降沿置位 T1 中斷標志時 可喚醒 powerdown( 必須打開相應中
12、斷 ) 。b4 - T0_PIN_IE : 當 T0 腳下降沿置位 T0 中斷標志時 可喚醒 powerdown( 必須打開相應中斷 ) 。b3 - LVD_WAKE: 當 CMPIN 腳低電平置位 LVD 中斷標志 時可喚醒 powerdown( 必須打開相應中斷 ) 。b2 -b1 - T1CLKO : 允許 T1CKO(P3.5) 腳輸出 T1 溢出脈沖, Fck1 = 1/2 T1 溢出率b0 - T0CLKO : 允許 T0CKO(P3.4) 腳輸出 T0 溢出脈沖, Fck0 = 1/2 T1 溢出率*/sfr CLK_DIV = 0x97; /Clock Divder - - -
13、 - CLKS2 CLKS1 CLKS0 xxxx,x000/sfr BUS_SPEED = 0xA1; /Stretch register - -ALES1 ALES0 - RWS2 RWS1 RWS0 xx10,x011 /*ALES1 and ALES0:00 : The P0 address setup time and hold time to ALE negative edge is one clock cycle01 : The P0 address setup time and hold time to ALE negative edge is two clock cycles
14、.10 : The P0 address setup time and hold time to ALE negative edge is three clock cycles. (default)11 : The P0 address setup time and hold time to ALE negative edge is four clock cycles.RWS2,RWS1,RWS0:000 : The MOVX read/write pulse is 1 clock cycle.001 :The MOVXread/writepulseis2 clockcycles.010 :T
15、he MOVXread/writepulseis3 clockcycles.011 :The MOVXread/writepulseis4 clockcycles.(default)100 :The MOVXread/writepulseis5 clockcycles.101 :The MOVXread/writepulseis6 clockcycles.110 : The MOVXread/write pulse is 7 clock cycles. 111 : The MOVXread/write pulse is 8 clock cycles.*/ / 新一代 1T 8051 系列 單片
16、機中斷特殊功能寄存器/ 有的中斷控制、中斷標志位散布在其它特殊功能寄存 器中,這些位在位地址中定義/ 其中有的位無位尋址能力,請參閱 新一代 1T 8051 系列 單片機中文指南/ 7 6 5 4 3 2 1 0Reset Valuesfr IE = 0xA8; / 中斷控制寄存器 EA ELVDEADC ES ET1 EX1 ET0 EX0 0x00,0000/sbit EA =IE7;sbit ELVD= IE6; /低壓監測中斷允許位sbit EADC= IE5; /ADC中斷允許位sbit ES =IE4;sbit ET1= IE3;sbit EX1= IE2;sbit ET0 = I
17、E1;sbit EX0 = IE0;/sfr IE2 = 0xAF; /Auxiliary Interrupt - - - - - ESPI ES2 0000,0000B/ 7 6 5 4 3 2 1 0Reset Valuesfr IP = 0xB8; / 中斷優先級低位 PPCA PLVDPADC PS PT1 PX1 PT0 PX0 0000,0000/sbit PPCA= IP7; /PCA模塊中斷優先級sbit PLVD= IP6; /低壓監測中斷優先級sbit PADC= IP5; /ADC中斷優先級sbit PS =IP4;sbit PT1= IP3;sbit PX1= IP2;
18、sbit PT0= IP1;sbit PX0= IP0;/ 7 65 4 3 2 10Reset Valuesfr IPH0xB7; / 中斷優先級高位 PPCAH PLVDHPADCH PSH PT1H PX1H PT0H PX0H 0000,0000sfr IP2 = 0xB5; / PSPI PS2 xxxx,xx00sfr IPH2 = 0xB6; / PSPIH PS2H xxxx,xx00/ 新一代 1T 8051 系列 單片機 I/O 口特殊功能寄存器/ 7 6 5 4 3 2 1 0Reset Valuesfr P0 = 0x80; /8 bitPort0 P0.7 P0.6
19、P0.5P0.4 P0.3 P0.2 P0.1 P0.0 1111,1111sfr P0M0 = 0x94; / 0000,0000sfr P0M1 = 0x93; / 0000,0000sfr P1 = 0x90; /8 bitPort1 P1.7 P1.6 P1.5P1.4 P1.3 P1.2 P1.1 P1.0 1111,1111sfr P1M0 = 0x92; / 0000,0000sfr P1M1 = 0x91; / 0000,0000sfr P1ASF = 0x9D; /P1 analog special functionsfr P2 = 0xA0; /8 bitPort2 P2.
20、7 P2.6 P2.5P2.4 P2.3 P2.2 P2.1 P2.0 1111,1111sfr P2M0 = 0x96; / 0000,0000sfr P2M1 = 0x95; / 0000,0000sfr P3 = 0xB0; /8 bitPort3 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 1111,1111sfr P3M0 = 0xB2; / 0000,0000sfr P3M1 = 0xB1; / 0000,0000sfr P4 = 0xC0; /8 bitPort4 P4.7 P4.6 P4.5 P4.4 P4.3 P4.2 P4.1 P4.0
21、1111,1111sfr P4M0 = 0xB4; / 0000,0000sfr P4M1 = 0xB3; / 0000,0000/ 7 6 5 4 3 2 1 0Reset Valuesfr P4SW = 0xBB; /Port-4 switch - LVD_P4.6 ALE_P4.5 NA_P4.4 - - - - x000,xxxx sfr P5 = 0xC8; /8 bitPort5 - - - -P5.3 P5.2 P5.1 P5.0 xxxx,1111sfr P5M0 = 0xCA; / 0000,0000sfr P5M1 = 0xC9; / 0000,0000/ / 新一代 1T
22、 8051 系列 單片機定時器特殊功能寄存器/ 7 6 5 4 3 2 1 0 Reset Valuesfr TCON= 0x88; /T0/T1 Control TF1 TR1 TF0TR0 IE1 IT1 IE0 IT0 0000,0000/sbit TF1 = TCON7;sbit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;sbit IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;sbit IT0 = TCON0;/sfr TMOD = 0x89; /T0/T1 Modes GATE1 C/T1
23、 M1_1M1_0 GATE0 C/T0 M0_1 M0_0 0000,0000sfr TL0 = 0x8A; /T0 Low Byte 0000,0000sfr TH0 = 0x8C; /T0 High Byte 0000,0000sfr TL1 = 0x8B; /T1 Low Byte 0000,0000sfr TH1 = 0x8D; /T1 High Byte 0000,0000/ / 新一代 1T 8051 系列 單片機串行口特殊功能寄存器 / 7 6 5 4 3 2 1 0Reset Valuesfr SCON = 0x98; /Serial Control SM0/FE SM1SM
24、2 REN TB8 RB8 TI RI 0000,0000/sbit SM0= SCON7; /SM0/FEsbit SM1= SCON6;sbit SM2= SCON5;sbit REN= SCON4;sbit TB8= SCON3;sbit RB8= SCON2;sbit TI =SCON1;sbit RI =SCON0;/sfr SBUF = 0x99; /Serial Data Buffer xxxx,xxxxsfr SADEN= 0xB9; /Slave Address Mask 0000,0000sfr SADDR = 0xA9; /Slave Address 0000,0000/
25、 7 6 5 4 3 2 1 0Reset Valuesfr S2CON= 0x9A; /S2 Control S2SM0 S2SM1 S2SM2S2REN S2TB8 S2RB8 S2TI S2RI 00000000Bsfr S2BUF = 0x9B; /S2 Serial Buffer xxxx,xxxxsfr BRT = 0x9C; /S2 Baud-Rate Timer 0000,0000/ 新一代 1T 8051 系列 單片機看門狗定時器特殊功能寄 存器sfr WDT_CONTR = 0xC1; /Watch-Dog-Timer Control register/ 7 6 5 4 3
26、 2 1 0 ResetValue/ WDT_FLAG - EN_WDT CLR_WDT IDLE_WDT PS2 PS1 PS0 xx00,0000/新一代1T 8051系列單片機PCAzPWM特殊功能寄存器 / 7 6 5 4 3 2 1 0Reset Valuesfr CCON = 0xD8; /PCA 控制寄存器。 CFCR - - - - CCF1 CCF0 00xx,xx00/sbit CF = CCON7; /PCA 計數器溢出標志 ,由硬件或 軟件置位 , 必須由軟件清 0。sbit CR = CCON6; /1: 允許 PCA 計數器計數 , 必須 由軟件清 0。/-/-sb
27、it CCF1 = CCON1; /PCA 模塊 1 中斷標志 , 由硬 件置位 , 必須由軟件清 0。sbit CCF0 = CCON0; /PCA 模塊 0 中斷標志 , 由硬 件置位 , 必須由軟件清 0。/sfr CMOD = 0xD9; /PCA 工作模式寄存器。 CIDL- - - CPS2 CPS1 CPS0 ECF 0xxx,x000/*CIDL: idle 狀態時 PCA 計數器是否繼續計數 , 0: 繼續 計數, 1: 停止計數。CPS2: PCA 計數器脈沖源選擇位 2。CPS1: PCA 計數器脈沖源選擇位 1。CPS0: PCA 計數器脈沖源選擇位 0。CPS2 CP
28、S1 CPS0000系統時鐘頻率fosc/12 。001系統時鐘頻率fosc/2 。010 Timer0溢出。011由 ECI/P3.4腳輸入的外部時鐘,最大fosc/2 。100系統時鐘頻率, Fosc/1101系統時鐘頻率/4 , Fosc/4110系統時鐘頻率/6 , Fosc/6111系統時鐘頻率/8 , Fosc/8ECF: PCA計數器溢出中斷允許位 ,1- 允許CF(CCoN.7) 產生中斷。*/sfr CL = 0xE9; /PCAsfr CH = 0xF9; /PCA/ 7 6 5 4 3 2 1計數器低位 0000,0000計數器高位 0000,00000Reset Val
29、uesfr CCAPM0 = 0xDA; /PCA模塊 0 PWM 寄存器 -ECoM0 CAPP0 CAPN0 MAT0 ToG0 PWM0 ECCF0 x000,0000sfr CCAPM1 = 0xDB; /PCA 模塊 1 PWM 寄存器 -ECoM1 CAPP1 CAPN1 MAT1 ToG1 PWM1 ECCF1 x000,0000/ECoMn = 1: 允許比較功能。/CAPPn = 1: 允許上升沿觸發捕捉功能。/CAPNn = 1: 允許下降沿觸發捕捉功能。/MATn = 1: 當匹配情況發生時 , 允許 CCON 中的 CCFn置位。/TOGn = 1: 當匹配情況發生時
30、, CEXn 將翻轉。 /PWMn = 1: 將 CEXn 設置為 PWM 輸出。/ECCFn = 1: 允許 CCON 中的 CCFn 觸發中斷。/ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn/ 0 0 00 0000x00未啟用任何功能。/ x 1 00 00x0x2116位CEXn上升沿觸發捕捉功能。/ x 0 1 0 0 0 x 0x11 16位CEXn下降沿觸發捕捉功能。/ x 1 1 0 0 0 x 0x31 16位CEXn邊沿(上、下沿)觸發捕捉功能/ 1 0 0 10x4916位軟件定時器。/ 1 0 0 10x4d16位高速脈沖輸出0x42/
31、1 0PWM。/ECOMnCAPPn CAPNnMATnTOGn PWMnECCFn/ 0 0 0 0 0 0 0 0x00無此操作/ 100001 0 0x428位PWM,無中斷/ 110001 1 0x63輸出由低變高可產生中斷/ 101001 1 0x53輸出由高變低可產生中斷/ 111001 1 0x73普通PWMPWMPWM輸出由低變高或由高變低都可產生中斷/sfr CCAP0L = 0xEA; /PCA 低 8 位。 0000,0000 sfr CCAP0H = 0xFA; /PCA 高 8 位。 0000,0000 sfr CCAP1L = 0xEB; /PCA 低 8 位。 0000,0000 sfr CCAP1H = 0xFB; /PCA 高 8 位。 0000,0000 / 7 6 5 4 3 2 1 0模塊 0 的捕捉 / 比較寄存器 模塊 0 的捕捉 / 比較寄存器 模塊 1 的捕捉 / 比較寄存器 模塊 1 的捕捉 / 比較寄存器ResetValueSfr PCA_PWM0 0xF2; /PCA 模塊 0 PWM寄存器EPC0H EPC0L xxxx,xx00Sfr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025二手車銷售合同范本
- 公共藝術設計
- 小班活動安全教育
- 2025合同簽署注意事項
- 2025年網站會員商務信息服務合同范本
- 2025燈光音響租賃合同范本
- 2025年金融危機背景下:合同法執行所面臨的挑戰及應對策略
- 2025餐飲服務合同范本
- 2024-2025蘇教版科學一年級下冊第三單元測試卷及答案
- 2025小學道德與法治教師課標考試模擬試卷及答案
- 專利代理師考試題庫含答案2024
- DB12 T1230-2023 政務信息資源共享 總體框架
- 管道拆除專項施工方案
- 廣西壯族自治區馬山縣實驗高中-雙休背后:從“要我學”到“我要學”的轉變-高三家長會【課件】
- GB/Z 27021.13-2025合格評定管理體系審核認證機構要求第13部分:合規管理體系審核與認證能力要求
- 湖南省長沙市四大名校2024-2025學年高三2月月考語文試題(原卷版+解析版)
- 《政府采購管理研究的國內外文獻綜述》5500字
- 糖尿病護理查房提出問題
- 2024年國網浙江省電力有限公司招聘考試真題
- 微專題2 質量守恒定律的應用(解析版)
- 分析化學考試題(附參考答案)
評論
0/150
提交評論