




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機(jī)軟件設(shè)計2023/1/31目錄程序的編寫、編譯程序的下載基礎(chǔ)程序設(shè)計典型模塊化程序程序的編寫、編譯KeilC環(huán)境設(shè)置創(chuàng)建項目1、基于AT89C52處理器2、新建源代碼文件,并保存命名xxx.c3、右鍵點(diǎn)擊“SourceGroupxx”將.c“AddFilestoGroup……”程序的編寫、編譯程序編寫:Demo示例/*功能:IO口操作,點(diǎn)亮一個LED*/#include<reg52.h>//包含頭文件,包含特殊功能寄存器的定義sbitLED=P0^0;//用sbit關(guān)鍵字定義LED到P0.0端口/*主函數(shù)*/voidmain(void){//此方法使用bit位對單個端口賦值LED=1;//將P0.0口賦值1,對外輸出高電平LED=0;//將P0.0口賦值0,對外輸出低電平,此時點(diǎn)亮了LEDwhile(1)//主循環(huán)
{//主循環(huán)中添加其他需要一直工作的程序
}}程序的編寫、編譯KeilC環(huán)境設(shè)置Target:設(shè)置時鐘晶振為12MHzOutput:選中CreateHEXFile選項,
編譯后會生成Hex文件,
用于下載到單片機(jī)中。Debug:左側(cè)配置軟件仿真模式;
右側(cè)配置硬件調(diào)試器仿真。(默認(rèn)即可)程序的編寫、編譯程序編譯編譯查看編譯輸出結(jié)果目錄程序的編寫、編譯程序的下載基礎(chǔ)程序設(shè)計典型模塊化程序程序的下載STC89C52STC
ISP下載器USB轉(zhuǎn)串口可代替MAX232,給51單片機(jī)下載程序引出接口分別為:+5V,+3.3V,GND,TXD,RXD.(如果把(GND)接到設(shè)備的有電壓的針腳上,加電可能會燒毀)需要安裝USB轉(zhuǎn)串口驅(qū)動,通常為340芯片組下載軟件:STC-ISP-V4.83程序的下載STC89C52冷啟下載:1、使用下載軟件發(fā)送下載命令2、給STC單片機(jī)上電(如果之前已經(jīng)上電,就要斷電再上電)3、STC單片機(jī)才能進(jìn)入到下載狀態(tài)不能下載?檢查線路是否接錯ISP接口電路與下載器接口電路電平?jīng)_突下載時下載速度太快程序的下載AT89S52USBASP/ISP通常為免驅(qū)型請實用帶保險的USB下載器,以便保護(hù)電腦U口程序的下載AT89S52USBASP/ISP下載軟件:AVRfighterProgisp目錄程序的編寫、編譯程序的下載基礎(chǔ)程序設(shè)計典型模塊化程序基礎(chǔ)程序設(shè)計單片機(jī)程序框架while()主循環(huán)延遲函數(shù)IO操作中斷操作基礎(chǔ)電路模塊控制蜂鳴器控制獨(dú)立按鍵輸入繼電器控制步進(jìn)電機(jī)控制數(shù)碼管顯示LCD1602顯示無單片機(jī)編程基礎(chǔ)的同學(xué),可簡單理解,采用模塊化、積木式搭建單片機(jī)系統(tǒng)代碼基礎(chǔ)程序設(shè)計程序框架單片機(jī)程序主體結(jié)構(gòu):While()大循環(huán)輪詢式執(zhí)行各任務(wù)外部中斷外部觸發(fā)中斷,如按鍵,執(zhí)行某任務(wù)定時器中斷
固定間隔時間執(zhí)行某任務(wù)#include<reg52.h>main(){//首先進(jìn)行IO、中斷、定時器工作模式初始化
while(1){//輪詢式執(zhí)行任務(wù)
}}voidISR_Key(void)interrupt0using1{//執(zhí)行外部中斷處理任務(wù)}voidTimer0_isr(void)interrupt1using1{//執(zhí)行定時器中斷處理任務(wù)}基礎(chǔ)程序設(shè)計while()主循環(huán)while(1)//主循環(huán)
{//主循環(huán)中添加需要一直工作的任務(wù)程序//任務(wù)一:led閃爍LED0=0;//將P0.0口賦值0,對外輸出低電平
Delay(10000);//調(diào)用延時程序;用于改變閃爍頻率
LED0=1;//將P0.0口賦值1,對外輸出高電平
Delay(10000);//任務(wù)二://任務(wù)三:}/*延時函數(shù),含有輸入?yún)?shù)unsignedintt,其值的范圍是0~65535*/voidDelay(unsignedintt){while(--t);}基礎(chǔ)程序設(shè)計延遲函數(shù)估算延遲函數(shù)/*uS延時函數(shù),參數(shù)unsignedchart,其值范圍是0~255。晶振12M。大致延時長度如下T=t
x
2+5uS*/voidDelayUs2x(unsignedchart){
while(--t);}/*mS延時函數(shù),參數(shù)unsignedchart,范圍是0~255。晶振12M*/voidDelayMs(unsignedchart){
while(t--)
{//大致延時1mS
DelayUs2x(245);
DelayUs2x(245);
}}精確延時請使用匯編機(jī)器周期指令周期晶振頻率基礎(chǔ)程序設(shè)計IO操作對單片機(jī)的控制,其實就是對I/O口的控制,無論單片機(jī)對外界進(jìn)行何種控制,或接受外部的何種控制,都是通過I/O口進(jìn)行的。51單片機(jī)總共有P0、P1、P2、P3四個8位雙向輸入輸出端口,每個端口都有鎖存器(即專用寄存器P0~P3)、輸出驅(qū)動器和輸入緩沖器。每個IO口有一個IO口寄存器Px,而且這個寄存器可以位尋址Px.n(定義詳見reg51.h或reg52.h)基礎(chǔ)程序設(shè)計IO操作1、當(dāng)P0作為I/O口使用時,特別是作為輸出時,輸出級屬于開漏電路,接拉電流負(fù)載時必須外接上拉電阻才會有高電平輸出;如果作為輸入,必須先向相應(yīng)的鎖存器寫“1”,才不會影響輸入電平。2、P1、P2
和P3
口為準(zhǔn)雙向口,
在內(nèi)部差別不大,
但使用功能有所不同。
P3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制P1口是用戶專用
8
位準(zhǔn)雙向I/O口,具有通用輸入/輸出功能,
每一位都能獨(dú)立地設(shè)定為輸入或輸出。當(dāng)有輸出方式變?yōu)檩斎敕绞綍r,
該位的鎖存器必須寫入“1”,
然后才能進(jìn)入輸入操作。
P2口是
8
位準(zhǔn)雙向I/O口。外接I/O設(shè)備時,
可作為擴(kuò)展系統(tǒng)的地址總線,輸出高8位地址,
與P0
口一起組成
16
位地址總線。
基礎(chǔ)程序設(shè)計IO操作示例#i
nclude<reg52.h>
sbit
bv=P2^0;//定義位變量,關(guān)聯(lián)P2.0管腳。sbit是數(shù)據(jù)類型
int
main(void)
{
unsigned
char
pv;
//位操作,以P2口的第0位為例:
bv=0;//直接對P2口的第0位管腳輸出低電平
bv=1;//
直接對P2口的第0位管腳輸出高電平
//總線操作輸出數(shù)據(jù),以P2口為例:
P2=0xaa;//直接賦值,P2口輸出數(shù)據(jù)0xaa
//總線操作讀取數(shù)據(jù),以P2口為例:
pv=P2;//直接讀取P2口的數(shù)據(jù)放到pv變量
return
0;
}基礎(chǔ)程序設(shè)計中斷8051:5個中斷源8052:6個中斷源(+T2)中斷號
優(yōu)先級中斷源中斷入口地址01高外部中斷0
0003H12定時器0000BH23外部中斷10013H34定時器10018H45低串口中斷0023HC語言程序中可不關(guān)心該地址基礎(chǔ)程序設(shè)計中斷主要與中斷程序控制相關(guān)的寄存器:
中斷允許控制寄存器IE定時器控制寄存器TCON串口控制寄存器SCON中斷優(yōu)先控制寄存器IP定時器工作方式控制寄存器TMOD定時器初值賦予寄存器(TH0/TH1,TL0/TL1)基礎(chǔ)程序設(shè)計中斷1.中斷允許控制寄存器IE:EX0(EX1):外部中斷允許控制位
EX0=1外部中斷0開關(guān)閉合
//開外部0中斷
EX0=0外部中斷0開關(guān)斷開ET0(ET1):定時中斷允許控制位
ET0=1
定時器中斷0開關(guān)閉合
//開定時器中斷0
ET0=0定時器中斷0開關(guān)斷開
ES:串口中斷允許控制位
ES=1串口中斷開關(guān)閉合
//開串口中斷
ES=0串口中斷開關(guān)斷開EA:總中斷控制
(EA=1:開總中斷)基礎(chǔ)程序設(shè)計中斷2.定時器控制寄存器TCON
//控制外部中斷和定時器中斷外部中斷:
IE0(IE1):外部中斷請求標(biāo)志位
當(dāng)外部中斷INT0(INT1)引腳出現(xiàn)有效的請求信號(接入低電平或下降沿信號時),此位由單片機(jī)自動置1,cpu開始響應(yīng),處理中斷,而當(dāng)入中斷程序后由單片機(jī)自動置0.
IT0(IT1):外部中斷觸發(fā)方式控制位
//選擇有效信號
IT0(IT1)=1:脈沖觸發(fā)方式,下降沿有效。
IT0(IT1)=0:電平觸發(fā)方式,低電平有效。基礎(chǔ)程序設(shè)計中斷2.定時器控制寄存器TCON
//控制外部中斷和定時器中斷定時器中斷:
TF0(TF1):定時器/計數(shù)器溢出中斷標(biāo)志位
當(dāng)定時器、計數(shù)器計數(shù)溢出的時候,此位由單片機(jī)自動置1,cup開始響應(yīng),處理中斷,而當(dāng)進(jìn)入中斷程序后由單片機(jī)自動置0.
TRO(TR1):定時器/計數(shù)器啟動位
TR0(TR1)=1;啟動定時器/計數(shù)器
TR0(TR1)=0;關(guān)閉定時器/計數(shù)器基礎(chǔ)程序設(shè)計中斷3.定時器工作方式TMOD低半字節(jié)(D0/D1/D2/D3)用來控制定時器/計數(shù)器0高半字節(jié)(D4/D5/D6/D7)用來控制定時器/計數(shù)器1GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1C/T=0時為定時功能,C/T=1時為計數(shù)功能(引腳外部脈沖)M0、M1——方式選擇功能基礎(chǔ)程序設(shè)計中斷4.定時器初值TL0/TH0(以12M晶振,工作方式1,16位計數(shù)器為例,定時Xus)
1.時鐘周期的時間t=1/12M=1/12us
2.機(jī)器周期的時間T=12*1/12=1us
3.每機(jī)器周期計數(shù)器+1,所以計數(shù)器+1經(jīng)過時間為1us
16為計數(shù)器要全部置1(即達(dá)到65535)+1后,溢出才會觸發(fā)中斷,所以初值=(65536-X)
4.將初值轉(zhuǎn)化為16進(jìn)制碼,分別付給TH0和TL0
eg:所定時間5ms;初值=(65536-5000)=60536=EC78;TH0=0XEC;TL0=0X78;程序中常用賦初值算法:
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;基礎(chǔ)程序設(shè)計中斷5.串口控制寄存器SCON定時器中斷:TI:串行口發(fā)送中斷標(biāo)志位
當(dāng)單片機(jī)串口發(fā)送完一幀數(shù)據(jù)后,此位由單片機(jī)自動置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會自動清0的,
必須由用戶在中斷服務(wù)中用軟件清0.
RI:串行口接收中斷標(biāo)志位
當(dāng)單片機(jī)串口接收完一幀數(shù)據(jù)后,此位由單片機(jī)自動置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會自動清0的,
必須由用戶在中斷服務(wù)軟件中用軟件清0.
基礎(chǔ)程序設(shè)計定時器中斷示例voidInit_Timer0(void){TMOD|=0x01; //使用模式1,16位定時器,“|”可使多個定時器互不影響TH0=(65536-60000)/256;
//賦初值(定時60ms)
TL0=(65536-60000)%256;EA=1;//總中斷打開
ET0=1;//定時器中斷打開
TR0=1;//定時器開關(guān)打開}main(){Init_Timer0();while(1);}/*定時器中斷子程序*/voidTimer0_isr(void)interrupt1using1{TH0=(65536-60000)/256;
//重新賦值
TL0=(65536-60000)%256;LED=~LED;//指示燈反相,可以看到閃爍}Demo:定時器中斷0基礎(chǔ)程序設(shè)計外部中斷示例功能:通過中斷接口P3.2連接的獨(dú)立按鍵測試,P0口的LED燈反向,邊沿觸發(fā)main(){
P0=0xaa;//P0口初始值
EA=1;//全局中斷開
EX0=1;//外部中斷0開
IT0=1;//邊沿觸發(fā)(IT0=0電平觸發(fā))
while(1)
{
//在此添加其他程序
}}/*外部中斷程序*/voidISR_Key(void)interrupt0using1{
P0=~P0;//進(jìn)入中斷程序執(zhí)行程序,//此時可以通過EA=0指令暫時關(guān)掉中斷}串口中斷以后再介紹Demo:外部中斷0邊沿觸發(fā)基礎(chǔ)程序設(shè)計發(fā)光二極管LED灌電流——拉電流??控制負(fù)載,盡量使用低電平有效(上電初始化,所有IO為高電平)單個LED控制sbitled0=P1^0;led0=0;//開燈led0=1;//關(guān)燈整個P1口控制:流水燈unsignedchartmp=0xfe;while(1){P1=tmp;delay();tmp=((tmp<<1)|1);if(tmp==0xff)tmp=0xfe;}低電平有效Demo:LED流水燈基礎(chǔ)程序設(shè)計蜂鳴器控制程序9013驅(qū)動高電平有效sbitbeer=P0^4;beer=0;//鳴叫beer=1;//關(guān)閉通過不同的間隔時間,可以達(dá)到類似倒車?yán)走_(dá)的效果voidbeer_freq(unsignedchart){beer=!beer;//鳴叫or關(guān)閉
DelayMs(t);}Demo:蜂鳴器基礎(chǔ)程序設(shè)計獨(dú)立按鍵sbitKEY=P3^2;//定義按鍵輸入端口sbitLED=P0^0;//定義led輸出端口voidmain(void){KEY=1; //按鍵輸入端口電平置高,輸入模式while(1) //主循環(huán)
{
if(!KEY) //如果檢測到低電平,說明按鍵按下,led點(diǎn)亮
LED=0;
else
LED=1; //如果按鍵未按下led滅
//上述4句可以用一句替代LED=KEY;//主循環(huán)中添加其他需要一直工作的程序
}}這里未考慮軟件去抖查詢方式亦可用外部中斷Demo:獨(dú)立按鍵控制LED基礎(chǔ)程序設(shè)計繼電器控制程序低電平有效sbitrelay=P0^0;relay=0;//常開閉合,外設(shè)接通電源relay=1;//常開斷開Eg:按鍵S1控制繼電器模塊(低電平有效)sbitKEY=P3^2;//定義按鍵輸入端口sbitRELAY=P0^0;//定義繼電器控制端口voidmain(void){KEY=1;//按鍵輸入端口電平置高
while(1)//主循環(huán)
{//按鍵按下,繼電器開關(guān)切換if(!KEY)RELAY=!RELAY;}}基礎(chǔ)程序設(shè)計步進(jìn)電機(jī)Uln2003驅(qū)動步進(jìn)電機(jī)1、拍數(shù):電機(jī)轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機(jī)為例:四相四拍運(yùn)行方式:AB-BC-CD-DA-AB四相八拍運(yùn)行方式:A-AB-B-BC-C-CD-D-DA-A2、步距角:對應(yīng)一個脈沖信號,電機(jī)轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。減速電機(jī)28BYJ-48-5步進(jìn)角度:5.625x1/64減速比:1/64***因為這個是帶減速齒輪的(減速比1/64),最后輸出軸上步進(jìn)角是5.625/64=0.08789度。***對于電機(jī),是64個脈沖為一圈。對于輸出軸,是4096個脈沖為一圈(64×64)。電機(jī)轉(zhuǎn)64圈,輸出軸轉(zhuǎn)1圈。實測512*4為一圈?基礎(chǔ)程序設(shè)計步進(jìn)電機(jī)接線方式:IN1----P00IN2----P01IN3----P02IN4----P03#defineMotorDataP0//步進(jìn)電機(jī)控制接口定義ucharphasecw[4]={0x08,0x04,0x02,0x01};//正轉(zhuǎn)電機(jī)導(dǎo)通相序D-C-B-Aucharphaseccw[4]={0x01,0x02,0x04,0x08};//反轉(zhuǎn)電機(jī)導(dǎo)通相序A-B-C-Ducharspeed_delay;//順時針轉(zhuǎn)動voidMotorCW(void){uchari;for(i=0;i<4;i++){MotorData=phasecw[i];Delay_xms(speed_delay);//轉(zhuǎn)速調(diào)節(jié)
}}//逆時針轉(zhuǎn)動voidMotorCCW(void){uchari;for(i=0;i<4;i++){MotorData=phaseccw[i];Delay_xms(speed_delay);//轉(zhuǎn)速調(diào)節(jié)
}}基礎(chǔ)程序設(shè)計數(shù)碼管(4位一體共陰極)段選位選*缺少驅(qū)動電路模塊,暫時無法在mini系統(tǒng)中實驗基礎(chǔ)程序設(shè)計液晶屏LCD1602控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等80字節(jié)顯示數(shù)據(jù)存儲器DDRAM通常只用每行前16個DDRAM地址:0X80+相對地址基礎(chǔ)程序設(shè)計液晶屏LCD1602讀狀態(tài)
輸入:RS=L,RW=H,E=H
輸出:DB0~DB7=狀態(tài)字
寫指令
輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼
輸出:無
讀數(shù)據(jù)
輸入:RS=H,RW=H,E=H
輸出:DB0~DB7=數(shù)據(jù)
寫數(shù)據(jù)
輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)
輸出:無基礎(chǔ)程序設(shè)計液晶屏LCD1602判忙函數(shù):讀狀態(tài)bitLCD_Check_Busy(void){DataPort=0xFF;RS_CLR;RW_SET;EN_CLR;_nop_();EN_SET;return(bit)(DataPort&0x80);}輸入:RS=L,RW=H,E=H
輸出:DB0~DB7=狀態(tài)字
基礎(chǔ)程序設(shè)計液晶屏LCD1602寫入命令函數(shù)voidLCD_Write_Com(unsignedcharcom){while(LCD_Check_Busy());//忙則等待
RS_CLR;RW_CLR;EN_SET;DataPort=com;_nop_();EN_CLR;}寫地址命令LCD_Write_Com(0x80+x);LCD_Write_Com(0xC0+x);輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼
輸出:無
基礎(chǔ)程序設(shè)計液晶屏LCD1602寫入數(shù)據(jù)函數(shù)voidLCD_Write_Data(unsignedcharData){while(LCD_Check_Busy());//忙則等待
RS_SET;RW_CLR;EN_SET;DataPort=Data;_nop_();EN_CLR;}輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)
輸出:無
基礎(chǔ)程序設(shè)計液晶屏LCD1602初始化函數(shù)voidLCD_Init(void){LCD_Write_Com(0x38);/*顯示模式設(shè)置*/DelayMs(5);LCD_Write_Com(0x38);DelayMs(5);LCD_Write_Com(0x38);DelayMs(5);LCD_Write_Com(0x38);LCD_Write_Com(0x08);/*顯示關(guān)閉*/LCD_Write_Com(0x01);/*顯示清屏*/LCD_Write_Com(0x06);/*顯示光標(biāo)移動設(shè)置*/DelayMs(5);LCD_Write_Com(0x0C);/*顯示開及光標(biāo)設(shè)置*/}基礎(chǔ)程序設(shè)計液晶屏LCD1602功能函數(shù)封裝寫入字符串函數(shù)voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s);寫入字符函數(shù)voidLCD_Write_Char(unsignedcharx,unsignedchary,unsignedcharData);Demo:LCD1602顯示目錄程序的編寫、編譯程序的下載基礎(chǔ)程序設(shè)計典型模塊化程序典型模塊化程序傳感器數(shù)據(jù)采集數(shù)字量(開關(guān)量)數(shù)字量(總線式:1-Wire/IIC/SPI/CAN)矩陣鍵盤串口通信窗口轉(zhuǎn)無線LCD12864液晶顯示NOKIA5110液晶顯示紅外解碼典型模塊化程序傳感器——開關(guān)量低電平有效MQ2煙霧檢測模塊
光照強(qiáng)度傳感器模塊聲音檢測傳感器模塊震動檢測傳感器模塊濕度HR202模塊模塊火焰檢測傳感器模塊高電平有效人體感應(yīng)模塊Demo:傳感器模塊-開關(guān)量實質(zhì):直接讀取IO電平靈敏度可調(diào)(藍(lán)色電位器調(diào)節(jié))預(yù)熱2分鐘典型模塊化程序傳感器——數(shù)字總線溫度傳感器DS18B20(1-Wire總線)Demo:溫度采集(DS18B20)Pin名稱注釋1GND地2DQ數(shù)字信息輸出端3VDD外界供電電源輸入端,在寄生電源接線方式時接地典型模塊化程序傳感器——數(shù)字總線DTH11溫濕度傳感器(1-Wire總線)功能:采集DHT11數(shù)據(jù),顯示到LCD1602上,超預(yù)定值報警LCD1602數(shù)據(jù)端口P2,控制端口rs/rw/en:P0^5--P0^7DHT11數(shù)據(jù)端口DO:P1^0報警輸出端口:P0^0低電平有效DHT11測試模塊變量定義及函數(shù)封裝:sbitrtio=P1^0;uchardata_byte;ucharRH,RL,TH,TL;voidstart(); //開始信號ucharreceive_byte(); //接收一個字節(jié)voidreceive(); //接收數(shù)據(jù)Demo:溫濕度采集(DHT11)典型模塊化程序傳感器——數(shù)字總線建議測量周期:60ms以上距離=高電平持續(xù)時間uSx聲速340M/S/2=高電平持續(xù)時間uSxuS/58cmDemo:超聲波測距(LCD1602)典型模塊化程序紅外解碼Demo:
紅外解碼1838萬能接收頭P3.3口,中斷方式按遙控器按鍵,液晶顯示4組碼值,分別是:用戶碼用戶碼數(shù)據(jù)碼數(shù)據(jù)反碼Eg:BOLE-HORSECode:1E-1E-00-FF典型模塊化程序紅外套件Demo:無線遙控方向盤2272-M4非鎖四路無線遙控遙控方向盤:UPLEFTRIGHTDOWN腳位名稱功能說明1VT
輸出狀態(tài)指示2D3數(shù)據(jù)輸出3D2數(shù)據(jù)輸出4D1數(shù)據(jù)輸出5D0數(shù)據(jù)輸出65V電源正極7GND
電源負(fù)極8ANT接天線端典型模塊化程序串口通信僅使用三根線即可TTLtoTTLRS232
toRS232典型模塊化程序串口通信參數(shù):串口號波特率數(shù)據(jù)位奇偶校驗位停止位數(shù)據(jù)流控制典型模塊化程序串口發(fā)送示例/*初始化串口中斷,timer1,mode2,8-bit重裝*/voidInitUART(void){SCON=0x50; //SCON:模式1,8-bitUART,使能接收
TMOD|=0x20;//TMOD:timer1,mode2,8-bit重裝
TH1=0xF4; //TH1:重裝值可使用專用小工具計算TR1=1; //TR1:timer1打開
EA=1; //打開總中斷
ES=1; //打開串口中斷}/*發(fā)送一個字節(jié)*/voidSendByte(unsignedchardat){SBUF=dat;w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車租賃合同個人對個人
- 個人收入水平統(tǒng)計表(男女性別細(xì)分)
- 疫情期間重點(diǎn)地區(qū)疫情防控表格
- 監(jiān)護(hù)人協(xié)議書文檔
- 外國的飲食文化與風(fēng)土人情:跨文化交流課程教案
- 供應(yīng)鏈管理優(yōu)化服務(wù)協(xié)議書
- 2025年阿壩貨運(yùn)上崗證考試題
- 無人機(jī)飛行表演安全操作及責(zé)任豁免協(xié)議
- 產(chǎn)品類型列表-手機(jī)、電腦、相機(jī)產(chǎn)品分類
- 品牌知名度調(diào)查表
- 成功八步課件
- 異物管控記錄表
- 模具保養(yǎng)記錄表
- 數(shù)字信號處理課后習(xí)題答案(吳鎮(zhèn)揚(yáng))
- 蜂膠表彰會中宏全國通用版模板課件
- 消化系統(tǒng)疾病PBL教學(xué)案例
- DBJ∕T 15-104-2015 預(yù)拌砂漿混凝土及制品企業(yè)試驗室管理規(guī)范
- 2022年HTD-8M同步帶輪尺寸表
- 皮帶滾筒數(shù)據(jù)標(biāo)準(zhǔn)
- 腳手架操作平臺計算書
- 煤礦供電系統(tǒng)及供電安全講座方案課件
評論
0/150
提交評論