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

正文內(nèi)容

基于凌陽(yáng)單片機(jī)和lcd的電子鐘設(shè)計(jì)(編輯修改稿)

2024-11-28 10:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 過(guò)對(duì) PS、 C86引腳接不同的電平來(lái)選擇操作的時(shí)序( 8080操作時(shí)序接線(xiàn)圖: (PS接 VDD,C86接 VSS) , 6800操作時(shí)序接線(xiàn)圖: (PS接 VDD, C86接 VDD) ,行操作時(shí)序接線(xiàn)圖: (PS接 VSS,C86接 VSS或 VDD都可 ) )。 SPLC501液晶顯示模組中,設(shè)置了 PS和 C86的跳線(xiàn),供用戶(hù)選擇操作時(shí)序。 畢業(yè)設(shè)計(jì) 19 第四章 系統(tǒng)軟件設(shè)計(jì) 軟件的結(jié)構(gòu) 下圖中可以看出各文件之間的調(diào)用關(guān)系 。 圖 11 軟件結(jié)構(gòu) 數(shù)字鐘主要還是軟件實(shí)現(xiàn)的,數(shù)字鐘的軟件設(shè)計(jì)由以下程序構(gòu)成: :實(shí)現(xiàn) 系統(tǒng)的初始化、顯示開(kāi)機(jī)畫(huà)面、鍵盤(pán)掃描和語(yǔ)音播報(bào); :包含工程中大部分的功能函數(shù),包括各種界面的顯示、時(shí)間和日期的調(diào)整、秒表的調(diào)整、鬧鐘的時(shí)間設(shè)定、鬧鐘的鈴聲選擇等; :鍵盤(pán)掃描文件,文件中定義了鍵盤(pán)掃描函數(shù)、延時(shí)函數(shù)、用來(lái)實(shí)現(xiàn)對(duì)鍵盤(pán)的掃描等功能、鍵盤(pán)掃描采用查詢(xún)方式; :中斷服務(wù)函數(shù)文件,實(shí)現(xiàn)語(yǔ)音解碼、秒表以及時(shí)間、日期的修改; :語(yǔ)音播報(bào)函數(shù),實(shí)現(xiàn)語(yǔ)音播報(bào)日期、時(shí)間以及鬧鐘。 畢業(yè)設(shè)計(jì) 20 各模塊程序的說(shuō)明 概述 由于凌陽(yáng) SPCEA061A,使得外圍電路變的更簡(jiǎn)單。制作好系統(tǒng)的硬件電路后,整個(gè)系統(tǒng)的主體任務(wù)主要落在了程序的編寫(xiě)上。 SPCE061A 是凌陽(yáng)科技研發(fā)生產(chǎn)的性?xún)r(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開(kāi)發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn) C語(yǔ)言,可以實(shí)現(xiàn) C 語(yǔ)言與匯編語(yǔ)言的互相調(diào)用,并且,提供了語(yǔ)音錄放和語(yǔ)音識(shí)別的函數(shù)庫(kù),只要了解庫(kù)函數(shù)的使用方法,就可以很容易完成語(yǔ)音錄放,為軟件開(kāi)發(fā)提供了方便的條件。此次系統(tǒng)采用了模塊程序結(jié)構(gòu),模塊程序結(jié)構(gòu)包括了初始化,系統(tǒng)主程序模塊,語(yǔ)音播放模塊,顯示模塊。 C 語(yǔ)言屬于高級(jí)語(yǔ)言 ,有著匯編語(yǔ)言無(wú)法比擬的優(yōu)點(diǎn),而 SPCE061A 開(kāi)發(fā)系統(tǒng)抓住了這個(gè)關(guān)鍵,兩者結(jié)合,充分發(fā)揮各自的優(yōu)勢(shì)。在用到語(yǔ)音的時(shí)候,一般都是用 C 語(yǔ)言作為主程序,用匯編語(yǔ)言編制各種模塊,供主程序調(diào)用。本系統(tǒng)采用了這種編制方法使得相互調(diào)用非常簡(jiǎn)單。 主程序 主 程序流程如圖 12所示,在主程序中初始化了整個(gè)工程中用到的變量,初始化了液晶顯 示模塊。開(kāi) 2Hz中斷實(shí)現(xiàn)計(jì)時(shí)。在主程序中調(diào)用了鍵盤(pán)掃描程序,對(duì) IOA口的低三位進(jìn)行掃描,如果有鍵按下,就把相應(yīng)的鍵值存入到一個(gè)變量中,通過(guò)主程序來(lái)判斷是哪個(gè)鍵按下,并執(zhí)行相應(yīng)的功能 :若是 KEY1鍵按下,則會(huì)進(jìn)入功能選擇菜單,此時(shí) KEY1就會(huì)為確定鍵, KEY2為下翻鍵, KEY3為上翻鍵;若是 KEY2鍵按下,播報(bào)時(shí)間;若是 KEY3鍵按下,播報(bào)當(dāng)前的日期; KEY KEY3鍵同時(shí)按下控制鬧鐘的開(kāi) /關(guān)。 畢業(yè)設(shè)計(jì) 21 圖 12 主程序流程圖 中斷服務(wù)程序 中斷服務(wù)程序有三個(gè):一個(gè)是 2Hz中斷服務(wù)程序,用來(lái)計(jì)時(shí);一個(gè)是 1KHz中斷服務(wù)程序,用于秒表計(jì)時(shí);另外一個(gè)是 FIQ中斷服務(wù)程序,用來(lái)播放語(yǔ)音。程序的流程分別如圖 1圖 1圖 15。 畢業(yè)設(shè)計(jì) 22 圖 13 IRQ5時(shí)基中斷流程圖 另外一個(gè)是 FIQ中斷服務(wù)程序,用來(lái)播放語(yǔ)音。 圖 14 IRQ4時(shí)基中斷流程圖 畢業(yè)設(shè)計(jì) 23 圖 15 FIQ中斷程序 時(shí)間日期模塊 時(shí)間日期程序模塊的流程圖如圖 16所示 ,該模塊用到了 2Hz的時(shí)基中斷,用來(lái)實(shí)現(xiàn)計(jì)時(shí),同時(shí)實(shí)現(xiàn)了日期的更新,其中農(nóng)歷是使用查表的方法來(lái)實(shí)現(xiàn)的。 畢業(yè)設(shè)計(jì) 24 圖 16 時(shí)間日期模塊流程圖 SPLC501 液晶顯示模組顯示漢字 利用 SPLC501 液晶顯示模組顯示漢字比顯示英文字符稍微復(fù)雜一點(diǎn),因?yàn)橛⑽淖址?ASCII 碼中都有對(duì)應(yīng)字符,而 SPLC501 液晶顯示模組顯示的都是 ASCII 碼,漢字卻不能與 ASCII 碼對(duì)應(yīng),所以要先用字模提取工具把漢字提取成字模數(shù)據(jù),才能顯示。 利用 SPLC501 液晶顯示模組顯示漢字需要圖 17的操作過(guò)程。新建一個(gè)工程;利用字模提取工具提取字模數(shù)據(jù);把字模數(shù)據(jù)文件保存在工程文件夾,以方便工程調(diào)用;添加字模數(shù)據(jù)文件到畢業(yè)設(shè)計(jì) 25 工程,程序可以直接使用這些字模數(shù)據(jù);拷貝并添加驅(qū)動(dòng)程序文件;編寫(xiě)程序;運(yùn)行顯示。 利用SPLC501 液晶顯示模組顯示漢字的過(guò)程見(jiàn) 圖 17,和顯示英文字符的方法類(lèi)似,所不同的是顯示漢字的 API 函數(shù)為 LCD501_Bitmap(unsigned int x,unsigned int y,unsigned int *word)。 圖 17 利用 SPLC501液晶顯示模組顯示漢字需要的操作過(guò)程。 為了使用戶(hù)能夠方便快速地使用 SPLC501液晶顯示模組,凌陽(yáng)大學(xué)計(jì)劃提供了基于SPCE061A單片機(jī)的 SPLC501液晶顯示模組的驅(qū)動(dòng)程序,包括文本顯示、幾何圖形繪制和位圖顯示等功能函數(shù), SPLC501液晶顯示模組的驅(qū)動(dòng)程序架構(gòu)如圖所示: 畢業(yè)設(shè)計(jì) 26 圖 18 驅(qū)動(dòng)程序架構(gòu) 驅(qū)動(dòng)程序由 5個(gè)文件組成,分別為:底層驅(qū)動(dòng)程序文件: ;用戶(hù) API 功能接口函數(shù)文件: 、 、。 :該文件為底層驅(qū)動(dòng)程序的頭文件,主要對(duì)使用到的寄存器(如端口控制寄存器等)進(jìn)行定義,還對(duì) SPCE061A與 SPLC501液晶顯示模組的接口進(jìn)行配置;用戶(hù)可以根據(jù)自已的需求來(lái)配置此文件,但要使端口的分配符合實(shí)際硬件的接線(xiàn)。 :該文件為底層驅(qū)動(dòng)程序,負(fù)責(zé)與 SPLC501液晶顯示模組進(jìn)行數(shù)據(jù)傳輸?shù)娜蝿?wù),主要包括端口初始化、寫(xiě)控制指令、寫(xiě)數(shù)據(jù)、讀數(shù)據(jù)等函數(shù);這些函數(shù)僅供,不建議用戶(hù)在應(yīng)用程序中調(diào)用這些函數(shù)。 :該文件為用戶(hù) API功能函數(shù)文件的頭文件,主要對(duì)一些記住符進(jìn)行定義,以及配置 LCD的一些設(shè)置,另外該文件里還對(duì) ,用戶(hù)需要使用 LCD的 API功能函數(shù)時(shí),需要把該文件包含在用戶(hù)的 C文件中,好可調(diào)用。 :文件中定義了針對(duì) LCD顯示的各種 API功 能函數(shù)。 :該文件中提供了一些供 API功能函數(shù)調(diào)用的數(shù)據(jù)處理子程序,主要完成顯示效果的疊加、畫(huà)圓偏差量的計(jì)算等。 常用功能函數(shù)介紹(用戶(hù) API) ,包括:液晶顯示控制函數(shù)、文本顯示、圖形顯示等;下面介紹部分常用功能函數(shù): 液晶顯示控制類(lèi): 1, LCD501_Init 液晶初始化 程序: LCD501_Init(unsigned int InitialData) 描述:液晶顯示初始化函數(shù) 參數(shù): unsigned int InitialData 初始化顯示的字,低八位有效 畢業(yè)設(shè)計(jì) 27 返回:無(wú) 注意:在使用 LCD前,首先應(yīng)執(zhí)行該函數(shù),使 LCD處于可以正常顯示的狀態(tài) 2, LCD501_ClrScreen 清屏 程序: LCD501_ClrScreen(unsigned int Mode) 描述:液晶整屏清屏函數(shù) C語(yǔ)言調(diào)用 參數(shù): unsigned int Mode 清屏類(lèi)型 Mode=1則全點(diǎn)亮, Mode=0內(nèi)全清零 3, LCD501_ReverseColor 顯示翻轉(zhuǎn) 程序: void LCD501_ReverseColor(void) 描述:屏幕反色顯示。每執(zhí)行一次該函數(shù),屏幕顏色翻轉(zhuǎn)一次 5, LCD501_GetPaintMode 獲取當(dāng)前顯示模式 程序: unsigned int LCD501_GetPaintMode(void) 描述:設(shè)置圖形顯示模式 參數(shù):無(wú) 返回: ModeCode 圖形顯示模式,可以是下列數(shù)值之一: 0 PAINT_COVER: 1 PAINT_SET: 2 PAINT_CLR: 3 PAINT_REV: 4 PAINT_RECO: 注意:無(wú) 文本顯示 類(lèi)函數(shù): 1, LCD501_FontSet 設(shè)置文本字體 畢業(yè)設(shè)計(jì) 28 程序: void LCD501_FontSet(unsinged int Font) [8x16] [6X8] 描述 ::選擇顯示字符的大小類(lèi)型 參數(shù): Font 字符的類(lèi)型選擇 1 8X16 0 6X8 返回:無(wú) 注意:只針對(duì)顯示驅(qū)動(dòng)中包含的 ASCII碼顯示 2, LCD501_FontGet 獲取當(dāng)前文本字體 程序: unsigned int LCD501_FontGet(void) [8x16] [6X8] 描述:獲取當(dāng)前顯示字符的大 小類(lèi)型 返回:字符的類(lèi)型選擇 1 8X16 0 6X8 注意:只針對(duì)顯示驅(qū)動(dòng)中包含的 ASCII碼顯示 3, LCD501_PutChar 顯示單個(gè)字符 程序: void LCD501_PutChar(int x,int y,unsigned int a) [8x16] [6X8] 描述:顯時(shí) 8X1 6X8的自帶 ASCII字符,任意行定位 參數(shù): x 顯示字符的起始列( 0~128) y 顯示字符的起始行( 0~63) a ASCII碼 返回:無(wú) 注意:無(wú) 4, LCD501_PutString 顯 示字符串 程序: void LCD501_PutString(int x,int y,unsigned int a) [8x16] [6X8] 描述:顯時(shí) 8X1 6X8的自帶 ASCII字符,任意行定位 參數(shù): x 顯示字符的起始列( 0~128) y 顯示字符的起始行( 0~63) a ASCII碼 畢業(yè)設(shè)計(jì) 29 返回:無(wú) 注意:無(wú) 5, LCD501_Bitmap 位圖顯示 /漢字顯示 程序: void LCD501_Bitmap(unsigned int x,unsigned int y,unsigned int *word) 描述: DM Tool取的漢字字模、位圖字模顯示函數(shù) 參數(shù): x 顯示字符的起始列( 0~128) y 要顯示的字模的起始行( 0~64y_whide) *word 要顯示的漢字字模的數(shù)據(jù)首地址 返回:無(wú) 注意:只顯示用 DM Tool取字模軟件所取的漢字字模數(shù)據(jù);該函數(shù)可以在指定位置顯示位圖。參數(shù) x和 y是位圖的左上角坐標(biāo)。 word是 “ 位圖數(shù)據(jù) ” 的起始地址。 “ 位圖數(shù)據(jù) ” 的第一個(gè) Word聲明了位圖的大小,低 8位代表位圖寬度,高 8位代表位圖高度。如 0x172B表示位圖的寬為 43像素,高為 23像 素。從第二個(gè) Word開(kāi)始描述位圖每個(gè)點(diǎn)的顏色( 1黑色, 0白色)。點(diǎn)對(duì)應(yīng)每個(gè)數(shù)據(jù)位的情況為:從下到上,自左到右,以 WORD( 16bit)為存儲(chǔ)單位,不足 16位的補(bǔ) 0。可以利用凌陽(yáng)大學(xué)計(jì)劃提供的 DM Tool字模提取工具提取出漢字或 BMP圖像的字模數(shù)據(jù),然后直接引用由其生成的字模數(shù)組 3SPLC5401液晶顯示模組控制流程 ,利用模組資料中提供的 SPLC501液晶顯示模組驅(qū)動(dòng)程序進(jìn)行 LCD顯示編程時(shí),一定要在調(diào)用文本顯示或圖形顯示函數(shù),以及控制類(lèi)函數(shù)前調(diào)用 LCD的初始化函數(shù);在 LCD初始化程序中,會(huì)進(jìn)行端口初 始化 、 LCD初始設(shè)置以及變 量初始化等。 畢業(yè)設(shè)計(jì) 30 第五章 操作步驟 軟件的操作步驟 LCD 漢字顯示操作步驟 Tool 字模提取工具與顯示英文字符( ASCII 碼)不同,漢字不能直接顯示在點(diǎn)陣的 LCD 顯示器上,而是要借助一個(gè)工具,先把漢字轉(zhuǎn)換成 LCD 顯示器能顯示的形式。凌陽(yáng)科技教育推廣中心提供了針對(duì) unSP 系列 16 位單片機(jī)的字模數(shù)據(jù)提取工具 —— DM Tool;可以利用此工具提取漢字字模、 BMP 位圖字模,還可以很方便地提取 ASCII 碼字模。 DM Tool 在大學(xué)計(jì)劃網(wǎng)站SPLC501 液晶模組資料里提供 。 下面介紹利用 DM Tool 字模提取工具提取漢字字模的步驟。 第一步:安裝好 DM Tool 后,在 [開(kāi)始 ]?[程序 ]?[sunplus]?[DM Tool]打開(kāi) DM。 圖 19 DM Tool 界面 第二步:選擇 [File]— [News]菜單項(xiàng),新建工程,如圖 20所示: 畢業(yè)設(shè)計(jì) 31 圖 20 新建工程 選擇后,即新建了一個(gè)工程;如圖 21所示。用戶(hù)可以選擇 [File]菜單中的 [Save]菜單項(xiàng)來(lái)保存 工程,也可以直接對(duì)工程進(jìn)行操作,進(jìn)行字模數(shù)據(jù)提取的操作。 圖 21 新 建了一個(gè)工程 第三步:在輸入?yún)^(qū)中輸入漢字:列如羅江波波制作這時(shí)利用快捷鍵組合:“ Ctrl+Enter”,完成漢字的輸入操作,可以看到轉(zhuǎn)換列表中出現(xiàn)“羅江波波制作”四個(gè)漢字的列表,而在操作區(qū)畢業(yè)設(shè)計(jì) 32 中也會(huì)出現(xiàn)漢字的點(diǎn)陣圖。 第四步: 進(jìn)行字模數(shù)據(jù)的提取 。選擇菜單 [File]中的 [Export CChar file…] 菜單項(xiàng),或者直接用工具欄最右邊的“ Export”工具,打開(kāi)字模數(shù)據(jù)生成窗口。 第五步:在字模數(shù)據(jù)生成窗口中,選擇 [File]菜單中的 [Export CChar file]菜單項(xiàng),或工具欄中的“ Export CChar file”工具,開(kāi)始生成數(shù)據(jù),即打開(kāi)了“ E
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1