freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)電子秤的設(shè)計(jì)-資料下載頁(yè)

2024-11-12 14:58本頁(yè)面

【導(dǎo)讀】隨著微電子技術(shù)的應(yīng)用,市場(chǎng)上使用的傳統(tǒng)稱重工具已經(jīng)滿足不了人們的要求。為了改變傳統(tǒng)稱重工具在使用上存在的問(wèn)題,在本設(shè)計(jì)中將智能化、自動(dòng)化、人性化用在了電子秤重的控制系統(tǒng)中。本系統(tǒng)主要由單片機(jī)來(lái)控制,測(cè)量物體重量部分由稱重傳感器及A/D轉(zhuǎn)換器組成,加上顯示單元,此電子秤俱備了功能多、性能價(jià)格比高、功耗低、系統(tǒng)設(shè)計(jì)簡(jiǎn)單、使用方便直觀、速度快、測(cè)量準(zhǔn)確、自動(dòng)化程度高等特點(diǎn)。本系統(tǒng)以AT89S52單片機(jī)為主控芯片,外圍附以稱重電路、顯示電路、報(bào)警電路、鍵盤電路等構(gòu)成智能稱重系統(tǒng)電路板,從而實(shí)現(xiàn)自動(dòng)稱重系統(tǒng)的各種控制功能。關(guān)鍵詞:AT89S52單片機(jī),A/D轉(zhuǎn)換,LED;電子秤是利用稱重傳感器作為變換元件,把被稱物體的重量按一定的比例關(guān)系轉(zhuǎn)換成與其相應(yīng)的電信號(hào),并用電子儀表進(jìn)行測(cè)量和顯示的裝置。傳統(tǒng)的正應(yīng)力和新研制的切應(yīng)力負(fù)荷傳感器都不能實(shí)現(xiàn)幾公斤至幾十公斤量程范圍內(nèi)的測(cè)量。

  

【正文】 1。//第三個(gè)使能數(shù)碼管使能寄存器 為1 } else//如果Count2=50 { DisplayEnable[0]=0。//第一個(gè)使能數(shù)碼管使能寄存器 為0 DisplayEnable[1]=0。//第二個(gè)使能數(shù)碼管使能寄存器 為0 DisplayEnable[2]=0。//第三個(gè)使能數(shù)碼管使能寄存器 為0 } if(Count2200)///如果Count2200 { Count2=0。//Count2為0 } } else//如果如果SetFlag為0 { DisplayEnable[0]=1。//第一個(gè)使能數(shù)碼管使能寄存器 為1 DisplayEnable[1]=1。//第二個(gè)使能數(shù)碼管使能寄存器 為1 DisplayEnable[2]=1。//第三個(gè)使能數(shù)碼管使能寄存器 為1 }}void DelayMS(unsigned int number) //延時(shí)函數(shù){ unsigned int count。//聲明一個(gè)變量 for(count=0。count=number。count++)//count從0開(kāi)始自加1,加到count為number為止,number是你在調(diào)用DelayMS時(shí)輸入的數(shù) { _nop_()。//空操作的函數(shù),在程序里沒(méi)有定義, _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 }}void Delay0(void)//延時(shí)函數(shù){ unsigned char count_0=0,count_1=0。//count_1=0 沒(méi)用 ,可以刪去。 for(count_0=0。count_0=count_0++)//count_0 自加1,加到250后跳出循環(huán),達(dá)到延時(shí)的目的。 { }}void GetKey(void)//獲得按鍵程序{ Key1=1。 Key2=1。 if(Key1==0)//檢測(cè)按鍵是否被按下(P2^1) { Delay0()。//延時(shí) if(Key1==0) { Key1AsisstFlag=0xff。 } } if(Key2==0)//(P2^0) 按下Key2為0 { Delay0()。 if(Key2==0) { Key2AsisstFlag=0xff。 } } Delay0()。 if(Key1AsisstFlag) { if(Key1==1)//檢測(cè)按鍵按下后是否被松開(kāi) { Delay0()。 if(Key1==1) { Key1AsisstFlag=0。 Key1Flag=0xff。 } } } if(Key2AsisstFlag) { if(Key2==1) { Delay0()。 if(Key2==1) { Key2AsisstFlag=0。 Key2Flag=0xff。 } } } // if(Key1AsisstFlag) { Key1LongDownCount++。 if(Key1LongDownCount=50) { Key1LongDownCount=50。 // Key1LongDownFlag=0xff。 } else { Key1LongDownFlag=0x00。 } } else { Key1LongDownCount=0。 Key1LongDownFlag=0x00。 } if(Key2AsisstFlag) { Key2LongDownCount++。 if(Key2LongDownCount=50) { Key2LongDownCount=50。 Key2LongDownFlag=0xff。 } else { Key2LongDownFlag=0x00。 } } else { Key2LongDownCount=0。 Key2LongDownFlag=0x00。 }}void ProcessDISData(unsigned int DisplayData)//處理顯示數(shù)據(jù){ DisplayNUM[0]=DisplayData%1000%100%10。//顯示的最地位 DisplayNUM[1]=DisplayData%1000%100/10。 DisplayNUM[2]=DisplayData%1000/100。 //顯示的最高位}void display(void)//顯示數(shù)據(jù)函數(shù){ if(DisplayEnable[0]) DISDataBus=DisplayCode[DisplayNUM[0]]。 else DISDataBus=0xff。 Nixie0=0。 DelayMS(100)。 Nixie0=1。 if(DisplayEnable[1]) DISDataBus=DisplayCode[DisplayNUM[1]]。 else DISDataBus=0xff。 Nixie1=0。 DelayMS(100)。 Nixie1=1。 if(DisplayEnable[2]) DISDataBus=DisplayCode[DisplayNUM[2]] else DISDataBus=0xff。 Nixie2=0。 DelayMS(100)。 Nixie2=1。}void GetWeight(void)//獲得濕度函數(shù){ ALE=1。 DelayMS(10)。 ALE=0。 STR=1。 EOC=1。 DelayMS(5)。 STR=0。 while(EOC==0) {} OE=1。 DelayMS(1)。 ADDataBus=0xff。 DelayMS(10)。 Weight=ADDataBus。//采樣 Weight=(Weight1)。 EOC=0。 OE=0。}void main(void)//主函數(shù),程序在此函數(shù)里順序執(zhí)行{ TMOD=0x01。//T0工作于方式1 TH0=0xfc。 TL0=0x17。// ET0=1。//允許T0中斷 EA=1。//允許全局中選 TR0=1。//啟動(dòng)T0 DisplayEnable[0]=1。 DisplayEnable[1]=1。 DisplayEnable[2]=1。 Beep=1。 SetWeight=300。//重量初始報(bào)警值 while(1)//循環(huán)執(zhí)行以下程序 { GetKey()。//判斷按鍵 if(Key1Flag)//如果按下的是增加鍵 { Key1Flag=0x00。//Key1Flag置0 Count1=0。 SetFlag=0xff。//SetFlag變量是LED用來(lái)判斷顯示的狀態(tài)的。 SetWeight++。//報(bào)警值重量加1 if(SetWeight510)//如果超過(guò)510 { SetWeight=510。//報(bào)警值重量為510 } } if(Key2Flag)//如果按下的是減少鍵 { Key2Flag=0x00。//Key2Flag置0 Count1=0。 SetFlag=0xff。 SetWeight。//重量減1 if(SetWeight,<0)//如果重量超過(guò)1000。 { SetWeight=0。//重量變?yōu)? } } if(Key1LongDownFlag)//應(yīng)該是長(zhǎng)時(shí)間按下增加鍵 { Key1LongDownFlag=0x00。//增加鍵置0 Key1LongDownCount=49。 Count1=0。 SetFlag=0xff。 SetWeight++。 if(SetWeight510) { SetWeight=510。 } } if(Key2LongDownFlag) { Key2LongDownFlag=0x00。 Key2LongDownCount=49。 Count1=0。 SetFlag=0xff。 SetWeight。 if(SetWeight1000) { SetWeight=0。 } } GetWeight()。//獲取重量 if(SetFlag)//如果SetFlag為0xff,即正在調(diào)整量程 { ProcessDISData(SetWeight)。//出來(lái)要顯示的數(shù)據(jù),SetWeight為要處理的數(shù)據(jù)。 } else// { ProcessDISData(Weight)。//出來(lái)要顯示的數(shù)據(jù),Weight為要處理的數(shù)據(jù)。 } display()。//顯示量程,重量。 if(WeightSetWeight)//如果重量大于報(bào)警值 { Beep=0。//P2^4這個(gè)口的數(shù)據(jù)為0,出現(xiàn)報(bào)警聲 Led=0。//P2^2這個(gè)口的數(shù)據(jù)為0,LED出現(xiàn)報(bào)警顯示 } else//如果正常,則正常顯示。 { Beep=1。 Led=1。 } } }附錄Ⅲ 元器件清單序號(hào)器件型號(hào)數(shù)量1按鍵3個(gè)2報(bào)警器蜂鳴器1個(gè)3晶震12Mhz1個(gè)4A/D轉(zhuǎn)換ADC08091個(gè)5單片機(jī)89S521個(gè)6三極管C90123個(gè)7顯示3位LED1個(gè)8電容30PF/3V2個(gè)9電容22μ/52V1個(gè)10電容1000μ/50V1個(gè)11電容100μ/50V1個(gè)12電阻300Ω/4W10個(gè)13電阻10KΩ/4W4個(gè)14電阻1KΩ/4W1個(gè)15電阻470Ω/4W1個(gè)16導(dǎo)線若干
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1