


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、STC89C52RC單片機介紹STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。主要特性如下:增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.1. 工作電壓:5.5V3.3V(5V單片機)/3.8V2.0V(3V單片機)2. 工作頻率范圍:040MHz,相當于普通8051的080MHz,實際工作頻率可達48MHz用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM3. 通用I/O口(32個)復位后為:,P1/P2/P3/P4是
2、準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片具有EEPROM功能具有看門狗功能共3個16位定時器/計數(shù)器。即定時器T0、T1、T2夕卜部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART工作溫度范圍:-40+85C(工業(yè)級)/075C(商業(yè)級)PDIP封裝STC89C52
3、RC單片機的工作模式掉電模式:典型功耗0.1可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序空閑模式:典型功耗2mA典型功耗正常工作模式:典型功耗4Ma7mA典型功耗掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備STC89C52RC引腳功能說明VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0P0.7P0.7,3932引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負載,對端口P0寫入每個引腳能驅(qū)動寫入“1時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)
4、據(jù)的復用總線位數(shù)據(jù)的復用總線。此時,P0口內(nèi)部上拉電阻有效。在FlashROM編在程時,P0端口接收指令字節(jié)端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)則輸出指令字節(jié)。驗證時,要求外接上拉電阻。P1端口(P1.0P1.7,18引腳):P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流()。此外,P1.0和P1.1還可以作為定時器/計數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的
5、觸發(fā)輸入(P1.1/T2EX),具體參見下表:在對FlashROM編程和程序校驗時,P1接收低8位地址。表XXP1.0和P1.1引腳復用功能P2端口(P2.0P2.7,2128引腳):P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電平,這時可用作輸入口。P2作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流(I)。在訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVXDPTR指令)時,P2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“M
6、OVXR1指令)時,P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個訪問期間不會改變。在對FlashROM編程和程序校驗期間,P2也接收高位地址和一些控制信號。P3端口(P3.0P3.7,1017引腳):P3是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3做輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流()。在對FlashROM編程或程序校驗時,P3還接收一些控制信號。P3口除作為一般I/O口外,還有其他一些復用
7、功能,如下表所示:表XXP3口引腳復用功能復用功能RST(9引腳):復位輸入。當輸入連續(xù)兩個機器周期以上高電平時為有效,用來完成單片機單片機的復位初始化操作。看門狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。ALE/ROG(30引腳)地址鎖存控制信號:(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳(ROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)
8、據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址位8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOV指令時有效。否則,ALE將被微弱拉高。這個ALE使能標志位(地址位8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。:外部程序存儲器選通信號(SEN)是外部程序存儲器選SEN(29引腳)通信號。當AT89C51RC從外部程序存儲器執(zhí)行外部代碼時,SEN在每個機器周期被激活兩次,而訪問外部數(shù)據(jù)存儲器時,SEN將不被激活。A/VPP(31引腳)訪問外部程序存儲器控制信號。:為使能從0000H到FFFFH的外部程序存儲器讀取指令,A必須接
9、GND。注意加密方式1時,A將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,A應該接VCC。在Flash編程期間,A也接收12伏VPP電壓。XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。#include#include/_nop_();延時函數(shù)用#defineucharunsignedchar#defineuintunsignedintsbitk1=P1A0;sbitk2=P1Al;sbitk3=P1A2;sbittemp_out=P1A5;sbithumi_out=P1A6;sbitIO=P3A2;uintcount;uc
10、hards1,ds2,ds3,ds4;ucharset_temp_H,set_temp_H_shi,set_temp_H_ge;/設(shè)定溫度的變量ucharset_temp_L,set_temp_L_shi,set_temp_L_ge;/設(shè)定溫度的變量ucharset_humi_H,set_humi_H_ge,set_humi_H_shi;/設(shè)置濕度的變量ucharset_humi_L,set_humi_L_ge,set_humi_L_shi;/設(shè)置濕度的變量ucharU8FLAG,k,flag;ucharU8count,U8temp;ucharU8T_data_H,U8T_data_L,U8R
11、H_data_H,U8RH_data_L,U8checkdata;ucharU8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;ucharU8comdata;uintU16temp1,U16temp2;ucharser=(0,0;uchari;ucharcodedis_7=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共陽LED段碼表0123456789voidDelay1(uintj)uchari;for(;j0;j-)fo
12、r(i=0;i0;i-);voidCOM(void)(uchari;for(i=0;i8;i+)(U8FLAG=2;/while(!IO)&U8FLAG+);Delay_10us();Delay_10us();/Delay_10us();U8temp=0;if(IO)U8temp=1;U8FLAG=2;while(IO)&U8FLAG+);/if(U8FLAG=1)break;U8comdata=1;U8comdata|=U8temp;/voidRH(void)(IO=0;Delay1(50);IO=1;Delay_10us();Delay_10us();Delay_10us();Delay_
13、10us();IO=1;if(!IO)(U8FLAG=2;while(!IO)&U8FLAG+);U8FLAG=2;while(IO)&U8FLAG+);COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;IO=1;U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_tem
14、p+U8RH_data_L_temp);if(U8temp=U8checkdata_temp)U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;voidxiaoyin()P2=0XFF;P0=0XFF;Delay_10us();voiddisp()P2=0xfe;P0=dis_7ds1;Delay1(5);xiaoyin();P2=0xfd;P0=dis_7ds2;
15、Delay1(5);xiaoyin();P2=0xfb;P0=dis_7ds3;Delay1(5);xiaoyin();P2=0xf7;P0=dis_7ds4;Delay1(5);xiaoyin();voiddisp_settemp_H()P2=0xfe;P0=0x87;Delay1(1);xiaoyin();P2=0xfd;P0=0x89;Delay1(1);xiaoyin();P2=0xf7;P0=dis_7set_temp_H_ge;Delay1(1);xiaoyin();P2=0xfb;P0=dis_7set_temp_H_shi;Delay1(1);xiaoyin();voiddis
16、p_settemp_L()P0=0x87;Delay1(1);xiaoyin();P2=0xfd;P0=0xc7;Delay1(1);xiaoyin();P2=0xf7;P0=dis_7set_temp_L_ge;Delay1(1);xiaoyin();P2=0xfb;P0=dis_7set_temp_L_shi;Delay1(1);xiaoyin();voiddisp_sethumi_H()P2=0xfe;P0=0x89;Delay1(1);xiaoyin();P2=0xfd;P0=0x89;Delay1(1);xiaoyin();P2=0xf7;P0=dis_7set_humi_H_ge;
17、Delay1(1);xiaoyin();P2=0xfb;P0=dis_7set_humi_H_shi;Delay1(1);xiaoyin();voiddisp_sethumi_L()(P2=0xfe;P0=0x89;Delay1(1);xiaoyin();P2=0xfd;P0=0xc7;Delay1(1);xiaoyin();P2=0xf7;P0=dis_7set_humi_L_ge;Delay1(1);xiaoyin();P2=0xfb;P0=dis_7set_humi_L_shi;Delay1(1);xiaoyin();voidkey_scan()(if(k1=0)(while(k1=0)
18、;flag+;if(flag=5)flag=0;if(flag=1)(while(k1=1)(if(k2=0)while(k2=0);set_temp_H+;if(set_temp_H=100)set_temp_H=0;if(k3=0)(while(k3=0);set_temp_H-;if(set_temp_H=-1)set_temp_H=100;set_temp_H_ge=set_temp_H%10;set_temp_H_shi=set_temp_H/10;disp_settemp_H();iapEraseSector(0x02000);iapProgramByte(0x02008,set_
19、temp_H);delay(20);if(flag=2)(while(k1=1)(if(k2=0)while(k2=0);set_temp_L+;if(set_temp_L=100)set_temp_L=0;if(k3=0)while(k3=0);set_temp_L-;if(set_temp_L=-1)set_temp_L=100;set_temp_L_ge=set_temp_L%10;set_temp_L_shi=set_temp_L/10;disp_settemp_L();iapEraseSector(0x02200);iapProgramByte(0x02208,set_temp_L)
20、;delay(20);/if(flag=3)(while(k1=1)(if(k2=0)(while(k2=0);set_humi_H+;if(set_humi_H=100)set_humi_H=0;if(k3=0)(while(k3=0);set_humi_H-;if(set_humi_H=-1)set_humi_H=100;set_humi_H_ge=set_humi_H%10;set_humi_H_shi=set_humi_H/10;disp_sethumi_H();iapEraseSector(0x02400);iapProgramByte(0x02408,set_humi_H);delay(20);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年煤礦工人工作總結(jié)范本大全
- 第二章 有理數(shù)及其運算第4節(jié)有理數(shù)的乘方(第1課時)教學設(shè)計2024-2025學年北師大版數(shù)學七年級上冊
- 采購部人員個人工作總結(jié)范文
- 專業(yè)代理公司合同范例
- 農(nóng)業(yè)展示銷售合同范例
- 保安合同范本
- 社區(qū)衛(wèi)生服務(wù)中心安全生產(chǎn)工作總結(jié)
- 沖貸合同范本
- 租賃合同補充協(xié)議范本
- 買賣正規(guī)新版合同范例
- 道路照明設(shè)施維護技術(shù)規(guī)程DB50-T 233-2020
- 爾雅家園的治理:環(huán)境科學概論考試答案
- 城市軌道交通乘客服務(wù)課件(完整版)
- 四川建設(shè)工程系統(tǒng)用戶滿意度測評實施辦法
- 山田家的氣象報告--完整版PPT課件
- 煤礦2021年重大安全風險分析預判防控報告全文
- 粱昆淼第四版數(shù)學物理方法第10章
- 急診腦卒中病人分診流程圖4.8
- 球閥使用說明書
- 對外漢語—春節(jié)學習教案
- 畢業(yè)設(shè)計(論文)800×800錘式破碎機
評論
0/150
提交評論