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

正文內容

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

2025-09-28 18:08 上一頁面

下一頁面
 

【正文】 ASCII字符集庫,只有并口接口,無串口接口 。 ( 7) 恒流源模塊 1. 原理介紹: 恒流源是輸出電流保持不變的電流源,而理想的恒流源為: a)不因負載 (輸出電壓 )變化而改變。實際的恒流源皆有內阻 R。 ( 32) 電流鏡電路 Current Mirror: 電流鏡是一個輸入電流 IS與輸出電流 IO相等的電路: 圖 13 電流鏡電路 Q1和 Q2 的特性相同,即 VBE1 = VBE2, β1 = β2 。 11 如果只用一個三極管不能滿足需求 ,可以用兩個三極管架成 : 圖 17 恒流源 或是 圖 18 恒流源 方案 4. 電路圖 如下所示: 兒也是 12 圖 19 恒流源電路 圖中的第一組運放電路是跟隨器,對輸入的電壓取樣電路進行阻抗變換。運放上面的 R12 和 D9是供電電源 12V 的指示電路, 12V通過開關供給后 D9 發(fā)光指示電壓正常。 后面一組運放電路中 Q4 三極管的作用時增大運放的電流輸出能力,因為負載比較小,運放驅動能力 還是認同與蛾 可能不夠, R19 基本沒有作用在電路中, RX1 可能是負載或者假負載, 比如輸出不接任何負載,電流基本都流過 RX1,如果不接 RX1,在沒有負載的情況下輸出就是電壓最大值接近 12V,在這種電壓輸出下,運放的正負端會有較大的壓差,有可能會損壞運放 358。采用 ICC AVR 編譯器。 開始 初始化 判斷環(huán)境在明暗 判斷移動小車位置 判斷 LED燈好壞 設置實時時間、開關燈時間 顯示 并輸出相應動作 14 五 、 結論 硬件設計和軟件設計是電子設計中不可缺少的內容 ,為了滿足設計的功能和指標的要求,我們必須在開始設計時就考慮到硬件與軟件的協(xié)調;不然會增加軟件實現(xiàn)時困難和復雜程度,有時即使硬件和軟件單獨能用,卻不能使他們組成的系統(tǒng)工作,故在設計的過程中必須考慮軟硬件的處理能力以及它們的接口是否兼容,實現(xiàn)軟硬件的信號過渡。 //操作的是數(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 晶振下,通過軟件仿真反復實驗得到的數(shù)值 for( i=0ye。 foutr( i=0。j++)。 dutrelay(5)。 }utr /******************************************* 函數(shù) tru 名稱 : LCD1602_write_dat(uchar dat) 功 能 utr: 向 1602 液晶寫入一個字節(jié)數(shù)據(jù) 參 數(shù) : datrut 是數(shù)據(jù) 返回值 : 無 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)。 //寫第二行時要重新定位數(shù)據(jù)指針 //write_(0X80+0x40) } /******************************************* 函數(shù)名稱 : DS1302_init 功 能 : 初始化 DS1302 的數(shù)據(jù)接口 參 數(shù) : 無 返回值 : 無 /********************************************/ void DS1302_portinit(void) { DDRB|=BIT(RTC_CLK)|BIT(RTC_DATA)|BIT(RTC_CS)。 //控制命令 ,WP 位為 1,不允許寫操作 } /******************************************* 函數(shù)名稱 : DS1302_writeB 功 能 : 向 DS1302 寫入一個字節(jié)數(shù)據(jù) (沒有 RST 操作 ) 參 數(shù) : byte要寫入的數(shù)據(jù) 返回值 : 無 /********************************************/ void DS1302_writeB(uchar byte) { uchar i。=~BIT(RTC_CLK)。=~BIT(RTC_DATA)。 //數(shù)據(jù)右移 1 位,為送出新數(shù)據(jù)位做準備 } } /******************************************* 函數(shù)名稱 : DS1302_writeD 功 能 : 向 DS1302 的某個地址寫入一個字節(jié)數(shù)據(jù) 參 數(shù) : addr地址值(寄存器或 RAM) data要寫入的地址 返回值 : 無 /********************************************/ void DS1302_writeD(uchar addr,uchar data) { PORTCamp。 //拉低時鐘端 delayns(10)。 //寫入操作命令(地址) delayns(10)。 DS1302_writeB(data)。 //調整片選脈沖 PORTCamp。 //寫入地址從秒寄存器開始 DS1302_writeD(C_WP|WR,UPROTECT)。i++) { DS1302_writeD(addr|WR,ptTimeD[i])。 //控制命令 ,WP 位為 1,不允許寫操作 } /******************************************* 函數(shù)名稱 : DS1302_readB 功 能 : 從 DS1302 讀出一個字節(jié)數(shù)據(jù) (沒有 RST 操作 ) 參 數(shù) : 無 返回值 : byte讀出的數(shù)據(jù) /********************************************/ uchar DS1302_readB(void) { uchar i,byte=0。=~BIT(RTC_DATA)。 //保存讀入的數(shù)據(jù)位 21 PORTB|=BIT(RTC_CLK)。 //時鐘下降沿, DS1302 輸出數(shù)據(jù)位 delayns(10)。=~BIT(PB7)。 PORTCamp。 //拉低時鐘端 delayns(10)。 //寫入操作命令(地址) delayns(10)。=~BIT(RTC_CLK)。 //返回讀出的數(shù)據(jù) } /******************************************* 函數(shù)名稱 : DS1302_getT 功 能 : 讀取 DS1302 的當前時間 參 數(shù) : time[]讀取的時間數(shù)組 22 返回值 : 無 /********************************************/ void DS1302_getT(uchar time[]) { uchar i。 //調整片選脈沖 DS1302_writeB(0xbf)。 //【 7 個數(shù)據(jù)( BCD 格式) +1 個控制】 } PORTCamp。 //拉低時鐘端 (時鐘端在不操作時為低 ) } /******************************************* 函數(shù)名稱 : display 功 能 : 讀取 DS1302 的當前時間 參 數(shù) : time[]讀取的時間數(shù)組 返回值 : 無 /********************************************/ void display(uchar add,uchar dat) { LCD1602_write_(add)。 } /******************************************* 函數(shù)名稱 : key_press 功 能 : 檢測是否有鍵按下 參 數(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])。//讀回當前時間的值 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 使能位 }
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1