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

正文內(nèi)容

基于at89s52單片機的模擬電梯設計(編輯修改稿)

2025-07-11 15:27 本頁面
 

【文章內(nèi)容簡介】 主要是在高速串行通信情況下才使用,在這里我用的是 12MHZ 石英晶體。對電容無嚴格要求,但它的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振蕩速度有一點影響。 C1和 C2 可在 20100PF 之間取值,一般情況取 30PF。外部時鐘方式是把外部振蕩信號源直接接入 XTAL1 或 XTAL2。由于 XTAL2邏輯電平不是 TTL 的,所以還要接一個上拉電阻 。 程序下載模塊 該模塊完成的功能是把源程序代碼下載到 AT89S51 芯片中,它需要 和微機上的 ISP 下載器軟件配合使用來完成這樣的功能。 ISP 為在線編程接口, J2 為標準 10P JTAG 下載接口。 ISP 在線編程接口為 89S51 單片機提供了方便的在線編程方法。使用時將 ISP 下載線一端與 PC 并口相連接,一端與 ISP 接口相連,使用 ISP 下載軟件即可實現(xiàn) MCU 在線編程。 下載線插接說明:兩排十針下載口, 1 號引腳的邊上有一個小方框;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為 1 號引腳,這一點一定要切記,不然的話程序下載不進去。 設計電路及連線 圖 電路連接圖 三.軟件設計 軟件功能描述 此單片機模擬電梯 用綠色發(fā)光二極管組成的箭頭來指示電梯當前是處于上升狀態(tài)還是下降狀態(tài) ,用數(shù)碼管顯示當前是處于哪一層 ,用紅色發(fā)光二極管指示電梯走到哪一層會停 .電源接通后 ,若沒有人按下停止按鍵 ,它就以每層 2 秒的速度一直上下運行 ,若有人按下某一層的停止按鍵 ,它就會在相應的那一層停止 4 秒鐘 ,并伴有開門和關門的聲音提示。 流程圖設計 初始化 按鍵查詢 1 層按鍵按下 2 層按鍵按下 5 層按鍵按下 6 層按鍵按下 3 層按鍵按下 7 層按鍵按下 4 層按鍵按下 8 層按鍵按下 對應中斷程序 單片機 C 語言程序 模擬電梯程序 include sbit key3=P1^1。 sbit key2=P1^0。 sbit key1=P1^2。 sbit key4=P1^3。 sbit key5=P1^4。 sbit key6=P3^7。 sbit key7=P3^6。 //關門升降 sbit key8=P3^5。 //開門延時鍵 sbit P24=P2^4。 sbit P25=P2^5。 sbit P26=P2^6。 sbit P27=P2^7。 sbit zhengzhuan=P2^0。 //電動機正轉(zhuǎn) sbit fanzhuan=P2^1。 //電動機反轉(zhuǎn) unsigned int i,j。 unsigned char sanlou=0。 unsigned char erlou=0。 bit biaozhi=0。 unsigned char yilou=0。 unsigned char qusanlou=0。 unsigned char querlou=0。 unsigned char quyilou=0。 unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 //延時 1ms 函數(shù) void delay(unsigned int t) { for(i=0。it。i++) { for(j=0。j121。j++) {。} } } //外按三樓函數(shù) void display3(void) { if(qusanlou==1) { for(i=0。i500。i++) { for(j=0。j121。j++) { 。 } } } if(P26==0) //如果現(xiàn)在在一樓則顯示從一樓到三樓函數(shù) { P2=0xb0。 P0=tab[1]。 for(i=0。i500。i++) { for(j=0。j121。j++) { if(key2==0) //判讀外二樓有沒有人按下 { delay(10)。 while(key2==0)。 erlou=1。 } if(key8==0amp。amp。qusanlou==1)。 //同時要是之前的內(nèi)三樓鍵按下才有效 { delay(10)。 while(key8==0)。 delay(1000)。 //如果再次開門就延時 1s } if(key7==0) { delay(10)。 while(key7==0)。 i=200。 //把 i 變成 200 跳出延時函數(shù) } } } zhengzhuan=1。 fanzhuan=0。 //電機正轉(zhuǎn) delay(1000)。 delay(1000)。 delay(1000)。 delay(1000)。//上一層樓的時間 P2=0xd0。 P0=tab[2]。 for(i=0。i500。i++) { for(j=0。j121。j++) { if(key8==0amp。amp。qusanlou==1)。 //同時要是內(nèi)三樓鍵按下才有效 { delay(10)。 while(key8==0)。 delay(1000)。 //如果再次開門就延時 1s } if(key7==0) { delay(10)。 while(key7==0)。 i=200。 //把 i 變成 200 跳出延時函數(shù) } } } if(erlou==1) { delay(1000)。 //在二樓停留多 1s 當模擬有人進出 zhengzhuan=0。 fanzhuan=0。 //電機停止 } zhengzhuan=1。 fanzhuan=0。 //電機正轉(zhuǎn) delay(1000)。 delay(1000)。 delay(1000)。 delay(1000)。//上一層樓的時間 P2=0xe0。 P0=tab[3]。 for(i=0。i500。i++) { for(j=0。j121。j++) { if(key8==0amp。amp。qusanlou==1)。 //同時要是內(nèi)三樓鍵按下才有效 { delay(10)。 while(key8==0)。 delay(1000)。 //如果再次開門就延時 1s } if(key7==0) { delay(10)。 while(key7==0)。 i=200。 //把 i 變成 200 跳出延時函數(shù) } } } } if(P25==0) { P2=0xd0。 P0=tab[2]。 zhengzhuan=1。 fanzhuan=0。 //電機正轉(zhuǎn) delay(1000)。 delay(1000)。 delay(1000)。 delay(1000)。 P2=0xe0。 P0=tab[3]。 } if(P24==0) //如果現(xiàn)在還是顯示 3 樓 { P2=0xe0。 P0=tab[3]。 } sanlou=0。 erlou=0。 qusanlou=0。 zhengzhuan=0。 fanzhuan=0。 //電機停止 } // 外按二樓函數(shù),不過最后還是到先三樓去 void display2(void) { if(querlou==1) { for(i=0。i500。i++) { for(
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1