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

正文內(nèi)容

語(yǔ)音播報(bào)計(jì)時(shí)器的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-16 13:41 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 降沿時(shí)寫入片內(nèi)地址鎖存器的,因此可以有選擇地進(jìn)行語(yǔ)音的存儲(chǔ)錄放。因此,在錄音時(shí),在不同地址內(nèi)錄入不同的語(yǔ)音;放音時(shí),在單片機(jī)控制下同步放出對(duì)應(yīng)語(yǔ)音。(2)固定地址錄放音電路的工作原理固定地址錄放音電路較常使用的是從存儲(chǔ)器的首地址開始的固定地址,即把A0~A7引腳統(tǒng)統(tǒng)接地,錄放音通過(guò)有關(guān)按鍵進(jìn)行控制。固定地址的錄放音電路如圖316所示。本系統(tǒng)所采用的就是固定錄放音工作原理。圖316 固定地址錄放音電路錄音時(shí)按下S6鍵,REC電平由高變低,聲音由話筒輸入。同時(shí)由于RECLED端的電平較低,發(fā)光二極管發(fā)光,指示錄音正在進(jìn)行中。松開S6鍵,錄音中止,發(fā)光二極管熄滅。放音可通過(guò)兩種方式控制:第一種是電平觸發(fā)控制,按鍵按下,此時(shí)PLAYL端電平由高變低,放音開始。在放音過(guò)程中如果松開按鍵,PLAYL端電平變高,放音立即中止,否則放音將繼續(xù)下去,直至全部信息播完為止。第二種是脈沖觸發(fā)方式,單片機(jī)向端產(chǎn)生一個(gè)由高到低的電平跳變,器件就進(jìn)入放音狀態(tài),并一直進(jìn)行直至全部信息播完。 本設(shè)計(jì)選用固定地址錄放音電路,其放音方式采用的是第一種,電平觸發(fā)方式。當(dāng)定時(shí)時(shí)間到時(shí)。4 系統(tǒng)程序設(shè)計(jì)軟件在整個(gè)控制系統(tǒng)中起著舉足輕重的作用,軟件設(shè)計(jì)非常重要。在硬件電路一定的情況下,只要改變軟件就能實(shí)現(xiàn)一些不同的功能。本設(shè)計(jì)的軟件結(jié)構(gòu)采用模塊化設(shè)計(jì)方法,將LED動(dòng)態(tài)顯示程序、按鍵檢測(cè)和處理程序和定時(shí)時(shí)間到播報(bào)語(yǔ)音的程序分別編寫和調(diào)試,所有模塊調(diào)試成功后,將各個(gè)模塊程序進(jìn)行合并構(gòu)成單片機(jī)軟件系統(tǒng)。采用這種方法便于系統(tǒng)的設(shè)計(jì)和調(diào)試。本設(shè)計(jì)的內(nèi)存空間分如表41所示。表41 內(nèi)存空間分配表地址分配作用29H輸入鍵值存儲(chǔ)單元31HLED顯示器位數(shù)存儲(chǔ)單元32H~34H當(dāng)前時(shí)間秒,分,小時(shí)的存儲(chǔ)單元32H=秒 33H=分 34H=小時(shí)35H~38H當(dāng)前日期日、月、年、星期的存儲(chǔ)單元39H定時(shí)次數(shù)存儲(chǔ)單元3AH定時(shí)時(shí)間分的存儲(chǔ)單元3BH定時(shí)時(shí)間小時(shí)的存儲(chǔ)單元40H~43HLED段碼顯示緩沖區(qū),存儲(chǔ)顯示字符的BCD碼,低四位有效44H~47HLED位碼顯示緩沖區(qū),存儲(chǔ)LED的位碼信號(hào),高四位有效4AH~57H定時(shí)時(shí)間的存儲(chǔ)單元…………60H~7FH堆棧區(qū)主程序主要是完成系統(tǒng)的初始化(包括I/O口的初始化、DS1302時(shí)鐘芯片的初始化)、按鍵檢測(cè)和處理、時(shí)鐘數(shù)據(jù)的讀取和顯示以及根據(jù)條件判斷是否需要進(jìn)行定時(shí)報(bào)警等工作,以完成人機(jī)交互的功能系統(tǒng)主程序流程圖如圖41所示。開始初始化讀時(shí)鐘芯片顯示時(shí)間時(shí)間日期調(diào)整及定時(shí)時(shí)間設(shè)置置判斷定時(shí)時(shí)間到否播報(bào)語(yǔ)音及蜂鳴器提醒音有鍵按下否YNNYN41 主程序流程圖 LED動(dòng)態(tài)顯示程序模塊的設(shè)計(jì)本設(shè)計(jì)的時(shí)鐘源由時(shí)鐘芯片DS1302提供的,因此首先對(duì)時(shí)鐘芯片DS1302進(jìn)行初始化,再通過(guò)送顯示程序把當(dāng)前時(shí)間值送到相應(yīng)的數(shù)碼管顯示。LED動(dòng)態(tài)顯示程序的流程圖如圖42所示。DS1302初始化程序包括兩大塊,即存儲(chǔ)當(dāng)前時(shí)間子程序和讀取當(dāng)前時(shí)間子程序(略),詳見總程序。把當(dāng)前時(shí)間送緩沖區(qū)進(jìn)行顯示。READ: ACALL RD1302 ;顯示當(dāng)前時(shí)間 MOV A,43H PUSH ACC ANL A,0FH ;取低4位有效 ADD A,10H ;送到數(shù)碼管顯示“分”的個(gè)位 MOV P1,A ACALL DELAY ;延時(shí) 讀時(shí)鐘芯片送段碼送位碼顯示延時(shí)送段碼送位碼顯示延時(shí)送段碼送位碼顯示延時(shí)送段碼送位碼顯示延時(shí)小時(shí)十位小時(shí)個(gè)位分十位分個(gè)位圖42 LED動(dòng)態(tài)顯示程序的流程圖按鍵檢測(cè)和處理程序?yàn)橛脩粼O(shè)置時(shí)間和鬧鈴提供了人—機(jī)接口。本設(shè)計(jì)采用的是獨(dú)立式按鍵接口。通過(guò)采集按鍵的電平狀態(tài)來(lái)檢測(cè)按鍵的按下與否。在按鍵檢測(cè)程序中提供了延時(shí)防抖功能。按鍵檢測(cè)程序只有在檢測(cè)到“時(shí)間設(shè)置”鍵或者“定時(shí)時(shí)間設(shè)置”鍵被按下后方進(jìn)入處理程序。處理程序結(jié)束的條件為檢測(cè)到“確認(rèn)”鍵被按下。按鍵檢測(cè)與處理程序流程圖如圖43所示。程序設(shè)計(jì)的思路:按鍵檢測(cè)和處理程序的功能是實(shí)現(xiàn)當(dāng)前時(shí)間的調(diào)整、當(dāng)前日期的調(diào)整和輸入定時(shí)播報(bào)(鬧鐘)時(shí)間。(1)由按鍵電路設(shè)計(jì)可知,當(dāng)按下“時(shí)間設(shè)置”時(shí),產(chǎn)生一個(gè)低電平,便進(jìn)入當(dāng)前時(shí)間設(shè)置程序。(2)在程序中,將“小時(shí)”和“分”分別進(jìn)行調(diào)整。采用24小時(shí)時(shí)間表示,因此4位時(shí)間值要分別加以限制。即“小時(shí)”的數(shù)值允許范圍:0~23;“分”的數(shù)值允許范圍是0~59。(3)鍵盤接收的時(shí)間值為BCD碼方式,將它們轉(zhuǎn)化成二進(jìn)制數(shù)后,存儲(chǔ)在33H、34H單元,使當(dāng)前時(shí)間得到調(diào)整。(4)要實(shí)現(xiàn)對(duì)當(dāng)前日期調(diào)整程序的設(shè)計(jì)時(shí),其設(shè)計(jì)思路是當(dāng)按下“時(shí)間設(shè)置”鍵后,掃描P3口看是否需要設(shè)置日期,和設(shè)置時(shí)間一樣,在設(shè)置日期時(shí)也需要對(duì)數(shù)值加以限制,例如“月”的數(shù)值選擇1~12,“日”的數(shù)值選擇1~31,“星期” 的數(shù)值選擇1~7,注意:時(shí)鐘芯片有對(duì)小于31天的月末時(shí)間進(jìn)行調(diào)整和閏年自動(dòng)校正的功能。圖43 按鍵檢測(cè)與處理程序流程圖(5)定時(shí)時(shí)間設(shè)置程序,設(shè)計(jì)思路與當(dāng)前時(shí)間調(diào)整程序基本相同,輸入的定時(shí)播報(bào)(鬧鐘)時(shí)間存儲(chǔ)在4AH、4BH單元。(6)按鍵去抖動(dòng)的處理。由于機(jī)械觸點(diǎn)的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為5~10ms。而按鍵穩(wěn)定閉合時(shí)間的長(zhǎng)短則由在按鍵時(shí)的按鍵動(dòng)作決定的,一般為零點(diǎn)幾秒至數(shù)秒。按鍵抖動(dòng)會(huì)引起一次按鍵被多次誤讀,為了確保CPU對(duì)按鍵的一次閉合僅作一次處理,按鍵抖動(dòng)可用硬件或軟件兩種方法消除。本設(shè)計(jì)采用軟件方法消抖。按鍵消抖子程序: DELAY1: MOV R5,02H DL4: MOV R7,0FFH DL5: MOV R6,0FFH DL3: DJNZ R6,DL3 DJNZ R7,DL5 DJNZ R5,DL4 RET 把當(dāng)前時(shí)間和定時(shí)時(shí)間進(jìn)行比較,若當(dāng)前時(shí)間和定時(shí)時(shí)間相同時(shí),啟動(dòng)蜂鳴器發(fā)聲及播報(bào)語(yǔ)音,直到當(dāng)前時(shí)間與定時(shí)時(shí)間不相同時(shí),停止蜂鳴器及播報(bào)語(yǔ)音。其流程圖如圖43所示。開 始初始化顯示時(shí)間當(dāng)前時(shí)間和定時(shí)時(shí)間是否相同啟動(dòng)蜂鳴器播報(bào)語(yǔ) 音關(guān)閉蜂鳴器停止播報(bào)語(yǔ)音YYNN 圖43 語(yǔ)音提醒程序設(shè)計(jì)流程圖若要以語(yǔ)音的形式提醒自己,需要將提醒的語(yǔ)音進(jìn)行單字錄入和詞段錄入。例如,單字?jǐn)?shù)字“0~9”,“時(shí)”,“分”字段“當(dāng)前時(shí)間”,“上課時(shí)間到”等等進(jìn)行編程錄入。假設(shè)段控制碼值存儲(chǔ)在40H單元,單字語(yǔ)音錄入程序如下:RECORD: MOV DPTR,7FFFH ;語(yǔ)音接口地址 MOV A,0FFH MOVX @DPTR,A ;送停止錄音碼 MOV A,40H ;錄音控制碼40H送入A ACALL YS20MS ;延時(shí)20ms MOVX @DPTR,A ACALL YS05S ;,例如“分” MOV A,0FFH MOVX @DPTR,A ;送停止錄音碼RET當(dāng)錄入詞段時(shí),根據(jù)詞段長(zhǎng)度適當(dāng)增加延時(shí)及地址段長(zhǎng)度。例如,在首段錄入“當(dāng)前時(shí)間”字段,需要占用三個(gè)地址段長(zhǎng)度,若首段的控制碼為40H,下一個(gè)字段控制碼為42H。在放音時(shí),段控制碼為80H起始。此程序反復(fù)調(diào)用,直到放完語(yǔ)句中的單字和字段為止。PLAY: MOV DPRT,7FFFH MOV A,0FFH ;復(fù)位信號(hào) MOVX @DPTR,A MOV A,40H ;放音內(nèi)容送A寄存器 ACALL YS05S ;(單字)(字段) MOVX @DPTR,A ;送停止錄音碼ACALL YS05S MOV A,0FFFH ;送停止放音MOVX @DPTR,ARET 5 系統(tǒng)調(diào)試及分析調(diào)試在整個(gè)系統(tǒng)設(shè)計(jì)中起著非常重要的作用,調(diào)試結(jié)果,直接影響系統(tǒng)功能的實(shí)現(xiàn)。單片機(jī)控制系統(tǒng)的調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個(gè)部分。在硬件調(diào)試階段,調(diào)試工作的主要任務(wù)是排除故障,其中包括設(shè)計(jì)錯(cuò)誤和元件故障等。首先,用萬(wàn)能表逐步按照電路圖檢查L(zhǎng)ED顯示電路各器件的電源及各引腳的連接是否正確,檢查是否有短路等故障。在確定連接正確后,編寫一段檢測(cè)LED顯示電路的程序進(jìn)行測(cè)試顯示電路是否正確。結(jié)果雖然LED數(shù)碼管能夠顯示事先預(yù)計(jì)的數(shù)字,但是亮度不夠,在查閱相關(guān)資料后,得出就是沒有加上拉電阻導(dǎo)致驅(qū)動(dòng)LED顯示的電壓過(guò)低的原因,于是在加上1KΩ的上拉電阻后,LED顯示亮度增加。在調(diào)試時(shí)鐘芯片能否工作時(shí),關(guān)鍵的問(wèn)題就是判斷DS1302工作是否穩(wěn)定,DS1302的外部電路十分簡(jiǎn)單,。該晶振通過(guò)引腳XTALXTAL2直接連接至DS1302,即DS1302是依靠外部晶振與其內(nèi)部的電容配合來(lái)產(chǎn)生時(shí)鐘脈沖的。由于DS1302在芯片本身已經(jīng)集成了6pF的電容,所以,為了獲得穩(wěn)定可靠的時(shí)鐘,對(duì)于晶體振蕩器來(lái)說(shuō),其振蕩頻率與負(fù)載電容之間的關(guān)系是確定的。當(dāng)它工作于所要求的負(fù)載電容時(shí),能較準(zhǔn)確地產(chǎn)生 。當(dāng)它的負(fù)載電容小于6pF時(shí),其振蕩頻率會(huì)正向偏移。當(dāng)它的負(fù)載電容大于6pF時(shí),其振蕩頻率就會(huì)負(fù)向偏移。因此,在其兩端加入輔助電容使晶體起振,然后用頻率計(jì)測(cè)出振蕩頻率。,說(shuō)明負(fù)載電容偏小。,說(shuō)明負(fù)載電容偏大。對(duì)輔助電容逐步調(diào)整,則此時(shí)晶體端所接負(fù)載電容的總和就是適合該晶體的負(fù)載電容。測(cè)試語(yǔ)音電路的關(guān)鍵就是如何檢查錄音無(wú)聲,在放音電路確認(rèn)正常的情況下,首先檢查錄音話筒本身是否損壞,用萬(wàn)用表檢查話筒引線接觸不良或斷路等。在檢查錄音無(wú)聲時(shí),除檢查話筒、引線、輸入電路連接情況外,還檢查了錄音輸出電路。硬件檢查通過(guò)后就是軟件調(diào)試,軟件調(diào)試的目的是檢查程序是否有語(yǔ)法錯(cuò)誤,能否實(shí)現(xiàn)軟件的功能。對(duì)于軟件的設(shè)計(jì),本次設(shè)計(jì)所用的是μVision3,μVision3集成開發(fā)環(huán)境是一個(gè)基于Windows的8051系列單片機(jī)C語(yǔ)言軟件開發(fā)平臺(tái),由德國(guó)Keil公司開發(fā),它可以用來(lái)輸入和編譯C源程序、匯編源程序、連接和重定位目標(biāo)文件和庫(kù)文件、調(diào)試目標(biāo)程序、創(chuàng)建HEX文件等,圖51就是在用μVision3調(diào)試一段程序時(shí)的畫面。圖51 調(diào)試程序截圖(1)調(diào)試顯示當(dāng)前時(shí)間,即把當(dāng)前時(shí)間的初值存儲(chǔ)在相應(yīng)的存儲(chǔ)單元中(詳細(xì)見表41),然后通過(guò)送顯示程序把當(dāng)前時(shí)間值送至第一至第四個(gè)數(shù)碼管進(jìn)行顯示。剛開始調(diào)試程序時(shí),直接把時(shí)間值通過(guò)位選和段選送到數(shù)碼管顯示,結(jié)果顯示極其不穩(wěn)定,在加了顯示延時(shí)程序后,數(shù)碼管能夠穩(wěn)定顯示時(shí)間。(2)調(diào)試切換日期程序:通過(guò)鍵盤掃描檢測(cè)到切換鍵被按下時(shí),即把日期所在的45H、46H中的內(nèi)容分別送到第一至第四個(gè)數(shù)碼管進(jìn)行顯示。 MOV A,45H PUSH ACC ANL A,0FH ADD A,10H ;把“日”的個(gè)位送到第一個(gè)數(shù)碼管顯示 MOV P1,A ACALL DELAY POP ACC SWAP A ANL A,0FH ADD A,20H ;把“日”的十位送到第二個(gè)數(shù)碼管顯示 MOV P1,A ACALL DELAY MOV A,46H PUSH ACC ANL A,0FH ADD A,40H ;把“月”的個(gè)位送到第三個(gè)數(shù)碼管顯示 MOV P1,A ACALL DELAY POP ACC SWAP A ANL A,0FH ADD A,80H ;把“月”的十位送到第四個(gè)數(shù)碼管顯示 MOV P1,A ACALL DELAY RET(3)對(duì)按鍵檢測(cè)程序進(jìn)行調(diào)試:把P3端口全部置為高電平,通過(guò)隨時(shí)對(duì)P3口掃描,當(dāng)檢測(cè)到有鍵按下時(shí),就可以通過(guò)跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)到相應(yīng)的語(yǔ)句執(zhí)行相應(yīng)的命令。當(dāng)檢測(cè)到“時(shí)間設(shè)置”鍵被按下時(shí),調(diào)用時(shí)間設(shè)置子程序?qū)Α靶r(shí)”和“分”的值進(jìn)行+1操作,同時(shí)設(shè)置被調(diào)整位的范圍。同理設(shè)置日期值、定時(shí)時(shí)間的思路與設(shè)置當(dāng)前時(shí)間一樣,只是把它們存放的地址不同而已。在這個(gè)調(diào)試過(guò)程中對(duì)按鍵延時(shí)消抖是很重要的,否則就會(huì)出現(xiàn)數(shù)碼管的數(shù)值顯示不穩(wěn)定。 MOV A,0FFH MOV P3,A ;對(duì)P3口置高電平
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1