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

正文內(nèi)容

單片機原理與接口技術(shù)課程設(shè)計論文-資料下載頁

2024-10-23 08:32本頁面

【導讀】信模塊、數(shù)碼管顯示模塊、LED發(fā)光二極管、鍵盤等接口電路的設(shè)計;包括流水燈、計數(shù)器、定時器、LCD字符顯示、鍵盤控制等功能程序設(shè)計;集中進行電路板焊接與測試;出課程設(shè)計報告。本文闡述了STC單片機實驗平臺設(shè)計原理與實現(xiàn)方法。設(shè)計報告介紹了該開發(fā)板的開發(fā)過程及相關(guān)硬件設(shè)計。實驗板可以作為主控制模塊安裝于控制系統(tǒng)中執(zhí)行控制任務,也。作簡單,性價比高,具有一定的實用價值。

  

【正文】 / 開始全置 0 while(1) { while( TF0 ) // 使用查詢方式實現(xiàn) { t++。 TF0 = 0。 // TF0 清零,循環(huán)定時 20 次 } if( t == 18 ) { t = 1。 num++。 shi = num/10。 ge = num%10。 } while( num == 60 ) //判斷計數(shù)到 60 S 時,數(shù)碼管從零計數(shù) { num = 0。 } EN_Y1()。 P0 = led_mod[shi]。 //顯示十位數(shù) delay_us(500)。 EN_Y0()。 P0 = led_mod[ge]。 //顯示個位數(shù) delay_us(500)。 } } 數(shù)碼管選擇 include include include include /******************************************************************** * function : sbit * explain : 開關(guān) 位定義 * add : ********************************************************************/ sbit Key1 = P3^2 。 // Key1 顯示 L2 sbit Key3 = P3^4 。 // Key3 顯示 H3 sbit Key4 = P3^5 。 // Key4 顯示 秒表 /******************************************************************** * function : LED2_switch * explain : 選擇 LED 的循環(huán)模式 * add : ********************************************************************/ 24 void LED2_switch(void) { int led2_switch。 while(1) { // Key1 if( Key1 == 0 ) { delay_1ms(10)。 if( Key1 == 0 ) { led2_switch = 1 。 // 左循環(huán) } } // Key3 if( Key3 == 0 ) { delay_1ms(10)。 if( Key3 == 0 ) { led2_switch = 3 。 // 右循環(huán) } } // Key4 if( Key4 == 0 ) { delay_1ms(10)。 if( Key4 == 0 ) { led2_switch = 4 。 // 花樣循環(huán) } } switch(led2_switch) { case 1: L2()。 break。 case 3: H3()。 break。 case 4: watch()。 break。 } 25 } } 液晶顯示 include include include include define uchar unsigned char define uint unsigned int sbit RS = P1^6。 sbit RW = P1^7。 uchar LCD_Status。 /******************************************************************** * function : sbit 及 相應變量的定義 * explain : * add : ********************************************************************/ sbit LS138_A = P2^5 。 // 38 譯碼器的地址選擇線 其中 C 為高位 sbit LS138_B = P2^6 。 sbit LS138_C = P2^7 。 sbit LS138_EN = P1^5 。 // 74LS138 /******************************************************************** * function : EN_Y2 * explain : * add : ********************************************************************/ void EN_Y2(void) { LS138_C = 0 。 LS138_B = 1 。 // 010 LS138_A = 0 。 } /******************************************************************** * function : EN_Y7 * explain : ********************************************************************/ void EN_Y7(void) { LS138_C = 1 。 LS138_B = 1 。 // 111 LS138_A = 1 。 } /***************************************************************** 26 * 檢查忙函數(shù) * function : BF( Busy Flag)位為忙標志。 * explain : BF= 1,表示忙, LCM 不能接收命令和數(shù)據(jù); * BF= 0,表示 LCM 不忙,可以接收命令和數(shù)據(jù)。 * ADD : *****************************************************************/ uchar Busy_Check() { RS = 0。 RW = 1。 // RS = 0 控制寄存器 RW = 1 讀 EN_Y2()。 delay_1ms(2)。 // E 為使能端 LCD_Status = P0。 // 讀出 LCD 狀態(tài) delay_1ms(2)。 EN_Y2()。 EN_Y7()。 // 當 E 出現(xiàn)負跳變時,液晶模塊執(zhí)行命令 return LCD_Status。 } /***************************************************************** * function : wcmd * explain : 寫命令函數(shù) RS = 0。 RW = 0。 * ADD : *****************************************************************/ void wcmd( uchar cmd ) { while( (Busy_Check()amp。0x80)==0x80 )。 // 判斷設(shè)備處于忙狀態(tài) RS = 0。 RW = 0。 // 指令寄存器寫入 EN_Y2()。 // E 置高 等待負跳變寫入 P0 = cmd。 // 命令由 P0 送入 LCD delay_1ms(2)。 EN_Y7()。 // 負跳變 執(zhí)行命令 } /***************************************************************** * function : wdat * explain : 寫數(shù)據(jù)函數(shù) RS = 1。 RW = 0。 * ADD : *****************************************************************/ void wdat( uchar dat ) { while( (Busy_Check()amp。0x80)==0x80 )。 // 判斷設(shè)備處于忙狀態(tài) RS = 1。 RW = 0。 // 數(shù)據(jù)寄存器寫入 EN_Y2()。 P0 = dat。 // 命令由 P0 送入 LCD delay_1ms(2)。 EN_Y7()。 // 負跳變寫入數(shù)據(jù) } /***************************************************************** 27 * function : LCD_Init * explain : LCD 初始化 * ADD : *****************************************************************/ void LCD_Init() { wcmd(0x38)。 delay_1ms(20)。 // 0011 1000 8 bit 數(shù)據(jù)接口 N=1 雙 行顯示 F=0 5*7 點陣字符 wcmd(0x01)。 delay_1ms(20)。 // 0000 0001 清屏 wcmd(0x06)。 delay_1ms(20)。 // 0000 0110 // I/D= 1 光標 左 右 當讀或?qū)懸粋€字符后 地址指針加 1 // 且光標加 1 向右移動一個字符位置 // S= 0 寫入一個字符 整屏顯凈漂 wcmd(0x0e)。 delay_1ms(20)。 // 0000 1110 D= 1,開顯示 C= 1,有光標 B = 0, 字符不閃爍 } /***************************************************************** * function : point * explain : 主程序進來顯示開關(guān)模式的提示信息 * ADD : *****************************************************************/ void point() { wcmd(0x80+0x00)。 // 第 1 行 第 1 列 顯示 “ LCD_Init()。 wdat(39。139。)。 wdat(39。.39。)。 wdat(39。L39。)。 wdat(39。i39。)。 wdat(39。g39。)。 wdat(39。h39。)。 wdat(39。t39。)。 wcmd(0x80+0x09)。 // 第 1 行 第 10 列 顯示 “ wdat(39。239。)。 wdat(39。.39。)。 wdat(39。L39。)。 wdat(39。E39。)。 wdat(39。D39。)。 wcmd(0x80+0x40)。 // 第 2 行 第 1 列 顯示 “ wdat(39。339。)。 wdat(39。.39。)。 wdat(39。L39。)。 wdat(39。C39。)。 28 wdat(39。D39。)。 wcmd(0x80+0x49)。 // 第 2 行 第 10 列 顯示 “ wdat(39。439。)。 wdat(39。.39。)。 wdat(39。A39。)。 wdat(39。D39。)。 wdat(39。D39。)。 } /***************************************************************** * function : course_design * explain : 顯示 “ 洛陽理工學院課程設(shè)計 ” * ADD
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1