版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ZLG鍵盤輸入實驗修改記錄版本號.作者描述修改日期0.1徐珊First Draft2011-9-14審核記錄姓名職務(wù)簽字日期ZLG 數(shù)碼管1.1 實驗介紹通過本次實驗熟悉ZLG7290芯片設(shè)計和驅(qū)動流程,熟悉I2C在實際設(shè)計中的應(yīng)用,ZLG7290是一款非常實用的鍵盤數(shù)碼管驅(qū)動芯片,只占用MCU的三個管腳,一個I2C的資源和一個中斷口,也可以用查詢方式來檢測,這樣比較浪費CPU的資源,所以還是用中斷的方式,這與原來的相比,還是節(jié)約了不少管腳資源,這個實驗是STM32驅(qū)動ZLG7290,通過寄存器直接查詢的方式,讓ZLG7290驅(qū)動數(shù)碼管并顯示數(shù)據(jù)并接受鍵盤輸入值顯示鍵盤的原值。1.2 實驗?zāi)繕?biāo)
2、 1. 理解固件庫的結(jié)構(gòu)2. 分析和學(xué)習(xí)固件庫3. 靈活運用 ZLG7290 1.3 實驗時間60分鐘1.4 預(yù)備知識熟悉C語言知識,熟練MDK的使用1.5 實驗步驟1.解壓stm32f10x_stdperiph_lib.zip 可以從ST官方網(wǎng)站免費下載(在實驗包里已經(jīng)下載好)。本教程使用的標(biāo)準(zhǔn)庫版本為 3.1.2.2.創(chuàng)建一個ZLG_Key文件夾2.1 新建子文件夾User,用于存放用戶源程序2.2 新建子文件夾Project,用戶KEIL工程文件2.3 在Project下依次創(chuàng)建Obj和List子文件夾,存放編譯過程中產(chǎn)生的中間文件。3. 復(fù)制源代碼到ZLG_Key文件夾3.1 將stm
3、32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.1.2Libraries文件夾和Utilities文件夾整體復(fù)制到ZLG_Key文件夾下。這就是ST的標(biāo)準(zhǔn)庫,是以源代碼形式提供的。3.2 將庫中的演示代碼KeyDisplayUser中的文件i2c_zlg7290.h和stm32f10x_conf.h和i2c_zlg7290.c復(fù)制到ZLG_KeyUser文件夾.4. 新建Keil MDK工程4.1 啟動Keil MDK,點擊菜單 New uVision Project,新建一個工程,命名為ZLG_Key在Project文件夾下4.2 選擇CPU類型
4、為 STM32F107VC (這是MDV-STM32-107開發(fā)板采用的CPU類型)4.3 當(dāng)提示是否復(fù)制啟動代碼時,請選擇否。(我們用最新的庫中的啟動代碼,不用Keil軟件自帶的舊版本啟動文件)4.4 根據(jù)自己的需要修改Target名字。(名字任意)我們修改成ZLG_Key。4.5 為了便于代碼管理,在這個Project下創(chuàng)建幾個Group 如下圖:User : 存放用戶自己寫的源代碼RVMDK : 存放啟動文件(匯編文件)StdPeriph_Driver : 存放ST標(biāo)準(zhǔn)庫外設(shè)驅(qū)動文件CMSIS : 存放CMSIS接口文件(這也是庫的一部分)STM32_EVAL存放板集設(shè)備驅(qū)動文件4.6
5、創(chuàng)建好Group后,我們開始依次添加文件。4.6.1給User文件夾添加文件將ZLG_KeyUser文件加下的i2c_zlg7290.c添加到工程。4.6.2給RVMDK文件夾添加文件啟動文件路徑:ZLG_KeyLibrariesCMSISCoreCM3startuparm4.6.3給stdPeriph_Driver文件夾添加文件設(shè)備驅(qū)動文件路徑:ZLG_KeyLibrariesSTM32F10x_StdPeriph_Driversrc4.6.4給CMSIS文件夾添加文件CMSIS接口文件路徑: ZLG_Key LibrariesCMSISCoreCM34.6.4給STM32_EVAL文件夾添
6、加文件STM32_EVAL接口文件路徑: ZLG_Key GPIOUtilitiesSTM32_EVAL和 ZLG_Key GPIOUtilitiesSTM32_EVALSTM3210C_EVAL下面開始新建main.c主函數(shù)文件,點擊file菜單的中的new file如下圖所示,然后將新建的文件以main.c問文件名保存到User文件加下,然后再添加到工程User分組中。添加好文件的工程如下圖所示:5. 修改源代碼。我們將修改main.c 文件,換成下面的程序。/* * * file I2C/ZLG7290/main.c * author Sunxue * version V1.1.0 *
7、date 12/02/2012 * brief Main program body * * copy * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT
8、OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * © COPYRIGHT 2009 STMicroelectronics */ /* Includes -*/#include i2c_zlg7290.h#inclu
9、de stm32f10x.h#include stm3210c_eval_lcd.h#include stm32_eval.h#include /* addtogroup STM32F10x_StdPeriph_Examples * */* addtogroup I2C_ZLG7290 * */ /* Private variables -*/* Reset Value */uint8_t Tx0_Instr = 0xf0,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x03,0x00,0x00;/* 0-9 nega
10、tive common */uint8_t Tx0_Ram0_7 = 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6;/*Read Num from Zlg*/uint8_t Rx0_Num = 0x00,0x00,0x00;/* Private functions -*/void RCC_Configuration(void);/* * brief Main program * param None * retval None */int main(void) /* System clocks configuration -*/ RCC_C
11、onfiguration(); /* Initialize the LCD */ STM3210C_LCD_Init(); /* Clear the LCD */ LCD_Clear(White); /* Set the LCD Text Color */ LCD_SetTextColor(Blue); printf( Key Test n); printf( IIC ZLG7290 Test n); /* Initialize the I2C ZLG7290 driver -*/ I2C_ZLG_Init(); /I2C_ZLG_BufferWrite(Tx0_Instr, 0x00, 0x
12、04); /I2C_ZLG_BufferWrite(&Tx0_Instr7, 0x07, 0x02); /* Set FlashOnOff and ScanNum */ I2C_ZLG_BufferWrite(&Tx0_Instr12, 0x0c, 0x02); /* Set DpRam0 to DpRam3 */ I2C_ZLG_BufferWrite(Tx0_Ram0_7, 0x10, 0x04); /* Display Key Value */ printf( Passby On ! n); printf( Key Value is : 00 n); while (1) /* Test
13、INT */if(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_15)/* Read Key Value From SystemReg Key RepetCnt */I2C_ZLG_BufferRead(Rx0_Num, 0x00, 0x03);/* Write To DpRam2 */I2C_ZLG_ByteWrite(&Tx0_Ram0_7Rx0_Num1/10, 0x12);/* Write To DpRam3 */I2C_ZLG_ByteWrite(&Tx0_Ram0_7Rx0_Num1%10, 0x13);/* Display Key Value */
14、printf( Key Value is : %d%d n,Rx0_Num1/10,Rx0_Num1%10); /* * brief Configures the different system clocks. * param None * retval None */void RCC_Configuration(void) /* Setup the microcontroller system. Initialize the Embedded Flash Interface, initialize the PLL and update the SystemFrequency variabl
15、e. */ SystemInit();#ifdef USE_FULL_ASSERT/* * brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * param file: pointer to the source file name * param line: assert_param error line source number * retval None */void assert_failed(uint8_t
16、* file, uint32_t line) /* User can add his own implementation to report the file name and line number, ex: printf(Wrong parameters value: file %s on line %drn, file, line) */ /* Infinite loop */ while (1) #endif/* * */ /* * */ /* (C) COPYRIGHT 2012 STMicroelectronics *END OF FILE*/6. 配置工程, 點擊“Options”按鈕6.1 切換到Output。選擇Obj文件夾。6.2 切換帶Listing。選擇List文件夾6.3 切換到Target在Code Generation的Use MicroLIB 前打鉤,如下圖所示。6.4 切換到C/C+ 添加兩個預(yù)編譯宏USE_STDPERIPH_DRIVER, STM32F10X_CL, USE_STM3210C_EVAL,LCD_Debug (這是ST庫用到了這兩個宏) 修改Includes路徑6.5 切換到Debug 選擇硬件調(diào)試器(缺省是軟件仿真),我們選擇Cortex-M/R J-LINK/J-Trace調(diào)試器 在 Run to ma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024殘疾人勞動合同書
- 廠房裝修改造工程施工組織方案
- 2024廣東省政府采購合同書
- 2024產(chǎn)品試用合同
- Octyl-2-acetylamino-2-deoxy-β-D-galactopyranoside-生命科學(xué)試劑-MCE
- XX小學(xué)少先隊代表大會制度
- 課程設(shè)計體會收獲
- 金屬材精整工職業(yè)技能競賽理論考試題庫-上(單選題)
- 皇帝的新裝微課程設(shè)計
- 道路土方開挖、回填、碾壓施工方案
- 電力公司臨時用工安全管理辦法(標(biāo)準(zhǔn)版)
- 山東省濟(jì)南市歷下區(qū)2023-2024學(xué)年五年級上學(xué)期月考英語試卷(12月份)
- 江蘇省高速公路設(shè)計優(yōu)化指導(dǎo)意見
- 2024人教版道德與法治三年級上冊第四單元:家是最溫暖的地方大單元整體教學(xué)設(shè)計
- 房子兩年后過戶協(xié)議書模板
- 畢業(yè)研究生登記表(適用于江蘇省)
- 北師大版小學(xué)數(shù)學(xué)二年級上冊期中試卷含參考答案
- 1.1地球的自轉(zhuǎn)和公轉(zhuǎn)(第一課時)
- 1.1《堅持改革開放》課件3
- 2024年全國中級會計職稱之中級會計財務(wù)管理考試歷年考試題詳細(xì)參考解析
- 2024年新發(fā)傳染病或流行病的防控知識試題及答案
評論
0/150
提交評論