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

正文內(nèi)容

課程設(shè)計(jì)-帶有l(wèi)cd顯示的音樂倒數(shù)計(jì)數(shù)器設(shè)計(jì)-文庫吧

2024-12-29 18:58 本頁面


【正文】 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:振蕩器反向放大器的輸出端。 STC89C51單片機(jī)最小系統(tǒng)的設(shè)計(jì)STC89C51單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS51單片機(jī)共有4個(gè)8位的I/O口(P0、PPP3),每一條I/O線都能獨(dú)立地作輸出或輸入。單片機(jī)的最小系統(tǒng)如圖35所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。結(jié)合本設(shè)計(jì)的要求采用內(nèi)部振蕩方式,所選的晶振為12MHz。第9引腳為復(fù)位輸入端,接上電容,電阻構(gòu)成上電復(fù)位電路。圖35 單片機(jī)最小系統(tǒng) 單片機(jī)時(shí)鐘電路 AT89C52單片機(jī)的時(shí)鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在本設(shè)計(jì)中,采用內(nèi)部振蕩方式。電路見圖36所示。 圖36 時(shí)鐘電路圖單片機(jī)引腳XTAL1和XTAL2外接晶振12MHz,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振蕩時(shí)鐘脈沖。電容器CC2起穩(wěn)定振蕩頻率,快速起振作用。電容值一般為530pF,內(nèi)容振蕩方式所得時(shí)鐘信號比較穩(wěn)定,實(shí)用電路中使用較多。 單片機(jī)復(fù)位電路 本設(shè)計(jì)系統(tǒng)的復(fù)位電路見圖37所示。圖37復(fù)位電路圖復(fù)位操作完成單片機(jī)內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。當(dāng)STC89C51單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時(shí),單片機(jī)就完成了復(fù)位電路操作。需要注意的是,如果RST持續(xù)為高電平,單片機(jī)就會處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此,要求單片機(jī)復(fù)位后能夠脫離復(fù)位狀態(tài)。本系統(tǒng)的復(fù)位電路采用上電開關(guān)復(fù)位電路。上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已經(jīng)在運(yùn)行時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇C=1030uF,R=10K?。 本設(shè)計(jì)所使用功能 在本設(shè)計(jì)中,使用了單片機(jī)的最小系統(tǒng),復(fù)位電路和內(nèi)部震蕩方式。使用了P0端口作為LCD的數(shù)據(jù)輸出端, P2端口作為LCD的使能端選擇輸出端,實(shí)現(xiàn)置數(shù)、功能切換等。 STC15F104單片機(jī) STC15F100系列單片機(jī)簡介 STC15F100系列單片機(jī)是STC生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/高可靠/低功耗超強(qiáng)抗干擾的新一代8051單片機(jī)。,采用第八代加密技術(shù),加密性超強(qiáng)。內(nèi)部高度集成R/C時(shí)鐘,177。1%溫飄,常溫下溫飄5‰。5MHz~35MHz寬范圍可設(shè)置,可徹底省掉外部昂貴的晶振。內(nèi)部高可靠復(fù)位,8級可選復(fù)位門檻電壓,可徹底省掉外部復(fù)位電路。1增強(qiáng)型 8051 CPU,1T,單時(shí)鐘/機(jī)器周期,速度比普通805快62倍 2 工作電壓: STC15F00 系列工作電壓: (5V 單片機(jī)) STC15L00 系列工作電壓: (3V 單片機(jī)) 3 內(nèi)部高可靠復(fù)位,8級可選復(fù)位門檻電壓,徹底省掉外部復(fù)位電路4 內(nèi)部高?度R/C時(shí)鐘?177。%溫飄(40oC~+85oC)?常溫下溫飄5‰?內(nèi)部時(shí)鐘從5MHz ~ 35MHz可選( / .0592MHz / / )5 工作頻率范圍:5MHz ~ 35MHz,相當(dāng)于普通805的60MHz~420MHz6 低功耗設(shè)計(jì):低速模式,空閑模式,掉電模式/停機(jī)模式(可由外部中斷喚醒)7 支持掉電喚醒的管腳:INT0/, INT/, INT2, INT3, INT4 8 , 擦寫次數(shù)10萬次以上9 片上集成28字節(jié)RAM10 有EEPROM功能,擦寫次數(shù)10萬次以上11 ISP/IAP,在系統(tǒng)可編程/在應(yīng)用可編程,無需編程器/仿真器12 2個(gè)16位可重裝載定時(shí)器,兼容普通8051的定時(shí)器T0/T1并可實(shí)現(xiàn)時(shí)鐘輸出和PWM功能。13 可編程時(shí)鐘輸出功能,?(也可2分頻輸出IRC_CLK/2)。14 硬件看門狗(WDT)15 串口功能可由[,P3.]結(jié)合定時(shí)器實(shí)現(xiàn)16 先進(jìn)的指令集結(jié)構(gòu),兼容普通8051指令集,有硬件乘法/除法指令17 6個(gè)通用I/O口,復(fù)位后為: 準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置四種模式:準(zhǔn)雙向口/?上拉,強(qiáng)推挽/弱上拉,僅為輸入/高阻,開漏推挽/ 上拉,僅為輸入/高阻,開漏每個(gè)I/O口驅(qū)動能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過70mA。18 封裝:SOP8, DIP819 全部75oC 八小時(shí)高溫烘烤,高品質(zhì)制造保證。 圖38 STC15F104 引腳圖 STC15F104單片機(jī) 表32 STC15F104單片機(jī)引腳功能表 GDM1602LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表33所示:序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 表33:控制命令表1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。 四 系統(tǒng)控制及軟件設(shè)計(jì) 系統(tǒng)控制流程圖 圖 41 系統(tǒng)控制流程圖 控制操作及功能 控制說明本系統(tǒng)是利用STC89C51的時(shí)間中斷0,每經(jīng)過1S系統(tǒng)運(yùn)行一次,在時(shí)間中斷執(zhí)行的程序中調(diào)用萬年歷置數(shù)、萬年歷運(yùn)行、鬧鐘置數(shù)、鬧鐘運(yùn)行、音樂觸發(fā)等子函數(shù)。所以,每次按鍵必須按住,等待LCD數(shù)字變化,持續(xù)時(shí)間0t2S。需要連續(xù)調(diào)整的,直接按住按鍵,數(shù)字變化間隔為1S,直至對應(yīng)位顯示所需要的時(shí)間。 設(shè)置萬年歷圖 4—2 萬年歷顯示模式 接通電源,或者按復(fù)位鍵,則會出現(xiàn)圖 4—2 萬年歷顯示模式,這是萬年歷的設(shè)置模式,如果跳過這個(gè)模式,需要調(diào)整時(shí)間,則需要按復(fù)位鍵復(fù)位系統(tǒng)?,F(xiàn)是處于時(shí)、分、秒的設(shè)置模式,控制方法:kkkkkk6設(shè)置萬年歷:時(shí)十位、個(gè)位、分十位、個(gè)位、秒十位、個(gè)位。調(diào)好,按住K7(持續(xù)超過1S)確定。按K7后,進(jìn)入年份的調(diào)試 kkkk4設(shè)置萬年歷年份:年千位、百位、十位、個(gè)位。調(diào)好,按住K8(持續(xù)超過1S)確定。按K8后,進(jìn)入月份、星期的調(diào)試kkkkk5設(shè)置萬年歷月份:月十位、個(gè)位、日十位、個(gè)位、星期調(diào)好,按住K7(持續(xù)超過1S)確定。進(jìn)入年歷運(yùn)行。 設(shè)置鬧鐘圖 42 鬧鐘模式顯示在萬年歷運(yùn)行的狀態(tài)按住k9(持續(xù)超過1S),進(jìn)入鬧鐘置數(shù)模式,萬年歷的時(shí)間同樣顯示在上方。控制方式kkkkkk6設(shè)置鬧鐘:時(shí)十位、個(gè)位、分十位、個(gè)位、秒十位、個(gè)位。調(diào)好,按住K7(持續(xù)超過1S)確定。按K7后,進(jìn)入鬧鐘倒數(shù)模式。當(dāng)鬧鐘倒數(shù)為零時(shí),鬧鐘音樂《世上只有媽媽好》將響起。該編程是利用Keil uVision2,設(shè)置多個(gè)不同功能頭文件進(jìn)行編程。 STC89C51主函數(shù)includeincludeinclude //LCD功能的頭文件include //按鍵調(diào)整的頭文件include //萬年歷運(yùn)作頭文件include //鬧鐘運(yùn)作頭文件void main(){ LCD_init()。 TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=1。 while(1) { while(flag_a) a_main()。 while(flag_t) t_main()。 }}//計(jì)數(shù)器0中斷,50000微妙進(jìn)行一次t++。void time0() interrupt 1{ TH0=(6553650000)/256。 TL0=(6553650000)%256。 t++。 } LCD功能的頭文件ifndef lcd_hdefine lcd_hsbit rs = P2^6。sbit rw = P2^5。sbit ep = P2^7。unsigned char shi,ge。unsigned char code dis[] = {0123456789}。//LCD1602位置參考0x0x 0123456789abcdefunsigned char code dis1[] = {20120101 00:00}。// 0x4x 0123456789abcdefunsigned char code dis2[] = { Hello Sun 00 }。unsigned char code dis3[7][4] ={Sun,Mon,Tue,Wed,Thu,Fri,Sat}。//LCD1602位置參考 0x0x 0123456789abcdefunsigned char code dis4[] = { Time 00:00:00 }。unsigned char code dis5[] = {Clock 00:00:00 }。// 0x4x 0123456789abcdefunsigned char code dis6[] = { Hi Alarm Clock }。bit lcd_pd() //判斷,指令8,判斷是否忙碌,忙碌—循環(huán){ bit result。 rs = 0。 _nop_()。 rw = 1。 _nop_()。 ep = 1。 _nop_()。 result = (bit)(P0 amp。 0x80)。 ep = 0。 return result。}void lcd_kz(unsigned char kz)//寫入控制指令{ while(lcd_pd())。 //判斷LCD是否忙碌 rs = 0。 rw = 0。 ep = 0。 _nop_()。 P0 = kz。 _nop_()。 ep = 1。 _nop_()。 ep = 0。}void lcd_wz(unsigned char wz)//光標(biāo)位置{ lcd_kz(wz | 0x80)。}void lcd_data (unsigned char dat)//顯示內(nèi)容{ while(lcd_pd())。//判斷LCD是否忙碌 rs = 1。 rw = 0。 ep = 0。 P0 = dat。 _nop_()。 ep = 1。 _nop_()。 ep = 0。}void lcd_two_xs(void)//顯示函數(shù){ lcd_data(dis[shi])。//顯示內(nèi)容 lcd_data(dis[ge])。}void LCD_init() //初始化LCD1602{ lcd_kz(0x38)。 _nop_()。 lcd_kz(0x0c)。 _nop_()。 lcd_kz(0x06)。 _nop_()。 lcd_kz(0x01)。 _nop_()。}endif 按鍵調(diào)整的頭文件//按鍵響應(yīng)間隔為1S//單步調(diào)試時(shí),每個(gè)按鍵按下控制在1~2S內(nèi)//連續(xù)調(diào)試,按住不放就行ifndef anjian_hdefine an
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1