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

正文內(nèi)容

江蘇大學(xué)單片機(jī)課程設(shè)計(jì)-多功能數(shù)字鐘的設(shè)計(jì)(已修改)

2025-06-20 05:35 本頁面
 

【正文】 單片機(jī)課程實(shí)驗(yàn)報(bào)告 班 級(jí) J 計(jì)算機(jī) 1302 學(xué) 號(hào) 4131110037 姓 名 楊嵐 指導(dǎo)老師 余景華 一、 多功能數(shù)字鐘的設(shè)計(jì)要求: LED 顯示器上實(shí)現(xiàn)正常的時(shí)分秒計(jì)時(shí) ,并從該時(shí)間開始計(jì)時(shí) 、校分功能 ,通過指示燈表示 ,鬧時(shí)時(shí)間可以設(shè)定,通過指示燈表示 二、課程設(shè)計(jì)電路圖: 圖 1 設(shè)計(jì)電路圖 ?HD7279A 的片選引腳 CS 連在 ; 通過 C8051F020 的 、 連接 7279A 的 CLK 和 DATA 實(shí)現(xiàn)串行數(shù)據(jù)編程; ?KEY 連在比較器 1 的同相輸入端 CP1P 三、設(shè)計(jì)思路: 根據(jù)課程設(shè)計(jì)要求,我們要設(shè)計(jì)一個(gè)多功能數(shù)字電子時(shí)鐘,隨著人類科技文明的發(fā)展,高精度、多功能、小體積、低功耗,是現(xiàn)代時(shí)鐘發(fā)展的趨勢(shì)。在這種趨勢(shì)下,時(shí)鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。本實(shí)驗(yàn)正是基于這種設(shè)計(jì)方向,以單片機(jī)( C8051F020)為控制核心,設(shè)計(jì)制作一個(gè)多功能的數(shù)字時(shí)鐘。在這些當(dāng)中,必須要求要有時(shí)鐘功能、校時(shí)校分功能、整點(diǎn)報(bào)時(shí)和鬧鐘功能等。 ,初始化 I/O端口以及定時(shí)器和使能比較器等,為系統(tǒng)的運(yùn)行做必要的準(zhǔn)備。 ,這個(gè)過程中搞清楚,通過鍵盤輸入的數(shù)據(jù)送到了哪里,是通過什么樣的方式送進(jìn)去的,同時(shí)對(duì)時(shí)間的計(jì)時(shí)有一個(gè)嚴(yán)密的算法來控制。 ,可以通過按鍵來進(jìn)行校時(shí)、校分的功能。并顯示出校正后的時(shí)間 ,在設(shè)置鬧鐘的同時(shí),原時(shí)間能確保正確行走。 7279指令說明: 88H,閃爍控制指令 ,d1d8對(duì)應(yīng) 8個(gè)數(shù)碼管 ,0表示閃爍 ,1表示不閃爍。 開始 輸入按鍵 (ABCD) 輸入按鍵 (F) 當(dāng)達(dá)到整點(diǎn)時(shí), A (校時(shí)的高位 ) F(輸入鬧鐘) 數(shù)碼管閃爍 3秒 B(校時(shí)的低位) 當(dāng)當(dāng)前時(shí)間與鬧鐘時(shí)間相等時(shí), C(校分的高位) 數(shù)碼管閃爍 2秒。 D(校分的低位) 圖 2 功能模塊圖 ?輸入按鍵 A使得時(shí)鐘的時(shí)高位加 1,若時(shí)高位值超過 2 則返回 0 值。 ?輸入按鍵 B 使得時(shí)鐘的時(shí)低位加 1,若時(shí)低位值超過 9 則返回 0 值同時(shí)時(shí)高位加 1,最后判斷時(shí)高位 1且時(shí)低位 3 則時(shí)高位 =0,時(shí)低位 0。 ?輸入按鍵 C使得時(shí)鐘的分高位加 1,若分高位值超過 5,則時(shí)低位加 1,分高位至 0。 ?輸入按鍵 D使得時(shí)鐘的分低位加 1,若分低位值超過 9,則分高位加 1,分低位至 0。 ?輸入按鍵 E使得時(shí)鐘的秒高位加 1,若秒高位值超過 5,則分低位加 1,秒高位至 0。 ?按鍵 F 進(jìn)入鬧鐘模塊。 在鍵盤上輸入時(shí)分秒 進(jìn)入校分校時(shí)功能 進(jìn)入校分校時(shí)功能 進(jìn)入鬧鐘功能 四、程序的結(jié)構(gòu)圖 否 是 圖 3 主程序流程圖 開始 關(guān)看門狗 端口初始化 定時(shí)器 T0初始化 使能比較器 1 開定時(shí)器 0 中斷 開總體中斷 復(fù)位 7279 在最右端數(shù)碼管閃爍顯示“ — ” 從鍵盤上輸入時(shí)間 InputNum 有效按鍵 數(shù)碼管更新顯示 DispValue 校時(shí)校分模塊 整點(diǎn)報(bào)時(shí)模塊 鬧鐘功能 返回顯示時(shí)間 五、具體功能模塊的設(shè)計(jì)及實(shí)現(xiàn): 端口初始化: 將允許 SMBus、 SPI0和 UART0,使能交叉開關(guān)和弱上拉。 實(shí)現(xiàn)代碼: void PORT_Init (void) { XBR0 = 0x07。 //允許 SMBus、 SPI0和 UART0 XBR1 = 0x00。 XBR2 = 0x44。 //使能交叉開關(guān)和弱上拉 } 定時(shí)器初始化 將 T0以方式一,系統(tǒng)時(shí)鐘頻率計(jì)數(shù), 1000個(gè)脈沖為一秒。 實(shí)現(xiàn)代碼: void Timer0_Init (void) { CKCON|=0x8。 //T0按系統(tǒng)時(shí)鐘頻率計(jì)數(shù) TMOD|=0x1。 //T0方式 1 Count1ms=10。 TR0 = 0。 //停止 T0 TH0 = (SYSCLK/1000) 8。 //定時(shí) 1ms的時(shí)間常數(shù) TL0 = SYSCLK/1000。 TR0 = 1。 //啟動(dòng) T0 IE|= 0x2。 //開 T0中斷 } 讀取按鍵值 首先需要判斷是否按鍵,若未按鍵則返回 1,若按鍵則記錄保存按鍵的值,將其放在keyvalue中保存。 實(shí)現(xiàn)代碼: unsigned char GetKeyValue(void) { unsigned char KeyValue。 if(CPT1CNamp。0x40) return 1。//if (P17==1) return 1。 //無鍵按下 Send7279Byte(0x15)。 //發(fā)讀鍵盤命令 KeyValue=Receive7279Byte()。 NOSELECT7279。 return KeyValue。 } 否 是 圖 4 讀取按鍵值 流程圖 首次啟動(dòng)程序時(shí)輸入初始時(shí)間 首先在顯示器上顯示 ,提示程序開始運(yùn)行,其后將按鍵進(jìn)來的六個(gè)數(shù)字依次保存在 num中(若按鍵不是 09則無效),然后再顯示器上顯示。 實(shí)現(xiàn)代碼: unsigned long InputNum(void) { unsigned long Num=0。 unsigned char i=0, KeyValue。 DispLED( ,0)。//輸入提示 FlashLED(0)。 //第一位閃爍 Delay1s(1)。 while(1) { KeyValue=GetKeyValue()。 是否按鍵 發(fā)送讀取讀鍵盤命令 接受鍵盤值將其保存在 keyvalue 中 返回 keyvalue 值 返回 1 開始 結(jié)束 if (i==6) //6位數(shù)據(jù)輸入完,返回 { FlashLED(8)。 //關(guān)閃爍 return Num。 } if((KeyValue=0) amp。amp。 (KeyValue=9)) //只接收十進(jìn)制的 0到 9 { i++。 Send7279Byte(0xC8)。 //發(fā)送鍵碼值,按方式 1譯碼下載顯示 Send7279Byte(KeyValue)。 MoveLeft()。 //顯示并左移一位,仍使低位顯示并閃爍。 Send7279Byte(0x90)。 Send7279Byte(0x01)。 NOSELECT7279。 WaitKeyOff()。 Num*=10。 //轉(zhuǎn)換成十進(jìn)制 Num+=KeyValue。 Delay1ms(200)。 } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1