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

正文內(nèi)容

基于單片機(jī)80c51模擬路燈控制系統(tǒng)的課題設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 ASCII字符集庫(kù),只有并口接口,無(wú)串口接口 。 ( 7) 恒流源模塊 1. 原理介紹: 恒流源是輸出電流保持不變的電流源,而理想的恒流源為: a)不因負(fù)載 (輸出電壓 )變化而改變。實(shí)際的恒流源皆有內(nèi)阻 R。 ( 32) 電流鏡電路 Current Mirror: 電流鏡是一個(gè)輸入電流 IS與輸出電流 IO相等的電路: 圖 13 電流鏡電路 Q1和 Q2 的特性相同,即 VBE1 = VBE2, β1 = β2 。 11 如果只用一個(gè)三極管不能滿足需求 ,可以用兩個(gè)三極管架成 : 圖 17 恒流源 或是 圖 18 恒流源 方案 4. 電路圖 如下所示: 兒也是 12 圖 19 恒流源電路 圖中的第一組運(yùn)放電路是跟隨器,對(duì)輸入的電壓取樣電路進(jìn)行阻抗變換。運(yùn)放上面的 R12 和 D9是供電電源 12V 的指示電路, 12V通過(guò)開(kāi)關(guān)供給后 D9 發(fā)光指示電壓正常。 后面一組運(yùn)放電路中 Q4 三極管的作用時(shí)增大運(yùn)放的電流輸出能力,因?yàn)樨?fù)載比較小,運(yùn)放驅(qū)動(dòng)能力 還是認(rèn)同與蛾 可能不夠, R19 基本沒(méi)有作用在電路中, RX1 可能是負(fù)載或者假負(fù)載, 比如輸出不接任何負(fù)載,電流基本都流過(guò) RX1,如果不接 RX1,在沒(méi)有負(fù)載的情況下輸出就是電壓最大值接近 12V,在這種電壓輸出下,運(yùn)放的正負(fù)端會(huì)有較大的壓差,有可能會(huì)損壞運(yùn)放 358。采用 ICC AVR 編譯器。 開(kāi)始 初始化 判斷環(huán)境在明暗 判斷移動(dòng)小車(chē)位置 判斷 LED燈好壞 設(shè)置實(shí)時(shí)時(shí)間、開(kāi)關(guān)燈時(shí)間 顯示 并輸出相應(yīng)動(dòng)作 14 五 、 結(jié)論 硬件設(shè)計(jì)和軟件設(shè)計(jì)是電子設(shè)計(jì)中不可缺少的內(nèi)容 ,為了滿足設(shè)計(jì)的功能和指標(biāo)的要求,我們必須在開(kāi)始設(shè)計(jì)時(shí)就考慮到硬件與軟件的協(xié)調(diào);不然會(huì)增加軟件實(shí)現(xiàn)時(shí)困難和復(fù)雜程度,有時(shí)即使硬件和軟件單獨(dú)能用,卻不能使他們組成的系統(tǒng)工作,故在設(shè)計(jì)的過(guò)程中必須考慮軟硬件的處理能力以及它們的接口是否兼容,實(shí)現(xiàn)軟硬件的信號(hào)過(guò)渡。 //操作的是數(shù)據(jù) define LCD_RW_H PORTD|=BIT(PD6)。 //1602 使能 define LCD_OE_L PORTDamp。 /********gd****************全局變量宏定義 **********/ uchar hour,hghdourshi,hourge,minute,minuteshi,minutege, second,strecondshi,secondge,haomiao,haomiaoshi,haomiaoge。 //5/4 是在 8MHz 晶振下,通過(guò)軟件仿真反復(fù)實(shí)驗(yàn)得到的數(shù)值 for( i=0ye。 foutr( i=0。j++)。 dutrelay(5)。 }utr /******************************************* 函數(shù) tru 名稱 : LCD1602_write_dat(uchar dat) 功 能 utr: 向 1602 液晶寫(xiě)入一個(gè)字節(jié)數(shù)據(jù) 參 數(shù) : datrut 是數(shù)據(jù) 返回值 : 無(wú) tru /**************rtu********************************/ 18 void LCD1602_write_dat(uchar dat) { rtu LrtuCD_RS_H。rut LCD_OE_Hrut。 LCsruD_C_DDR。tru LCD1602_write_(0X0C)。 LCD1602_write_(0X06)。 //寫(xiě)第二行時(shí)要重新定位數(shù)據(jù)指針 //write_(0X80+0x40) } /******************************************* 函數(shù)名稱 : DS1302_init 功 能 : 初始化 DS1302 的數(shù)據(jù)接口 參 數(shù) : 無(wú) 返回值 : 無(wú) /********************************************/ void DS1302_portinit(void) { DDRB|=BIT(RTC_CLK)|BIT(RTC_DATA)|BIT(RTC_CS)。 //控制命令 ,WP 位為 1,不允許寫(xiě)操作 } /******************************************* 函數(shù)名稱 : DS1302_writeB 功 能 : 向 DS1302 寫(xiě)入一個(gè)字節(jié)數(shù)據(jù) (沒(méi)有 RST 操作 ) 參 數(shù) : byte要寫(xiě)入的數(shù)據(jù) 返回值 : 無(wú) /********************************************/ void DS1302_writeB(uchar byte) { uchar i。=~BIT(RTC_CLK)。=~BIT(RTC_DATA)。 //數(shù)據(jù)右移 1 位,為送出新數(shù)據(jù)位做準(zhǔn)備 } } /******************************************* 函數(shù)名稱 : DS1302_writeD 功 能 : 向 DS1302 的某個(gè)地址寫(xiě)入一個(gè)字節(jié)數(shù)據(jù) 參 數(shù) : addr地址值(寄存器或 RAM) data要寫(xiě)入的地址 返回值 : 無(wú) /********************************************/ void DS1302_writeD(uchar addr,uchar data) { PORTCamp。 //拉低時(shí)鐘端 delayns(10)。 //寫(xiě)入操作命令(地址) delayns(10)。 DS1302_writeB(data)。 //調(diào)整片選脈沖 PORTCamp。 //寫(xiě)入地址從秒寄存器開(kāi)始 DS1302_writeD(C_WP|WR,UPROTECT)。i++) { DS1302_writeD(addr|WR,ptTimeD[i])。 //控制命令 ,WP 位為 1,不允許寫(xiě)操作 } /******************************************* 函數(shù)名稱 : DS1302_readB 功 能 : 從 DS1302 讀出一個(gè)字節(jié)數(shù)據(jù) (沒(méi)有 RST 操作 ) 參 數(shù) : 無(wú) 返回值 : byte讀出的數(shù)據(jù) /********************************************/ uchar DS1302_readB(void) { uchar i,byte=0。=~BIT(RTC_DATA)。 //保存讀入的數(shù)據(jù)位 21 PORTB|=BIT(RTC_CLK)。 //時(shí)鐘下降沿, DS1302 輸出數(shù)據(jù)位 delayns(10)。=~BIT(PB7)。 PORTCamp。 //拉低時(shí)鐘端 delayns(10)。 //寫(xiě)入操作命令(地址) delayns(10)。=~BIT(RTC_CLK)。 //返回讀出的數(shù)據(jù) } /******************************************* 函數(shù)名稱 : DS1302_getT 功 能 : 讀取 DS1302 的當(dāng)前時(shí)間 參 數(shù) : time[]讀取的時(shí)間數(shù)組 22 返回值 : 無(wú) /********************************************/ void DS1302_getT(uchar time[]) { uchar i。 //調(diào)整片選脈沖 DS1302_writeB(0xbf)。 //【 7 個(gè)數(shù)據(jù)( BCD 格式) +1 個(gè)控制】 } PORTCamp。 //拉低時(shí)鐘端 (時(shí)鐘端在不操作時(shí)為低 ) } /******************************************* 函數(shù)名稱 : display 功 能 : 讀取 DS1302 的當(dāng)前時(shí)間 參 數(shù) : time[]讀取的時(shí)間數(shù)組 返回值 : 無(wú) /********************************************/ void display(uchar add,uchar dat) { LCD1602_write_(add)。 } /******************************************* 函數(shù)名稱 : key_press 功 能 : 檢測(cè)是否有鍵按下 參 數(shù) : 無(wú) 返回值 : 鍵按下時(shí)為 1,否則為 0 /********************************************/ uchar key_press() { uchar temp。 temp=KEY_DATA。 } else { return 1。 keyamp。 case 0XB8: key=0x1。 case 0XE8: key=0x3。=~BIT(6)。 default: key=16。 } /************************主函數(shù) ************************/ void main() { uchar i=1,j,k,shezhi,a=1,b。 LCD1602_init()。:39。)。 while(1) { kaishi: DS1302_getT(gettime)。 if(chucun[2]==gettime[2]) k=3。 PORTB|=BIT(6)。 display(0x80+0x48,table[gettime[1]%16])。//讀回當(dāng)前時(shí)間的值 LCD1602_write_(0x80+0x44)。DS1302_setT(gettime)。 case 0x1: i++。=0x0F。if(gettime[2]%163)gettime[2]amp。 case 3:{gettime[1]+=0x0F。} break。display(0x80+0x48,table[gettime[1]%16])。=0x0F。if(gettime[0]%169)gettime[0]amp。 } } break。} break。} break。} break。 display(0x80+0x05,39。r39。)。 display(0x80+0x09,39。:39。)。 } if(error==2) { display(0x80+0x04,39。r39。)。 display(0x80+0x08,39。 39。)。 display(0x80+0x0c,39。 } }// 程序清單 define uchar unsigned char define uint unsigned int /***************傳感器常量控制位的宏定義 **************************/ define KEY_out DDRB|=0X07 //傳感器方向定義輸出 define KEY_in DDRBamp。 //ADC 使能位 }
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1