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

正文內(nèi)容

基于c51多功能電子密碼鎖設(shè)計源程序代碼畢業(yè)設(shè)計-wenkub

2023-03-09 09:06:01 本頁面
 

【正文】 只讀存儲器( FPEROMFlash Programable and Erasable Read Only Memory )的低電壓,高性能 COMOS8 的微處理器,俗稱單片機(jī)。 ④ 可編程輸入 /輸出引腳( 32 根) STC89C52 單片機(jī)有 4 組 8 位的可編程 I/O 口,分別位 P0、 P P P3 口,每個口有 8 位( 8 根引腳),共 32 根。本設(shè)計中使用的這個 4*4 鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比如清空顯示功能等。 當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為 1。其中 權(quán)限 鍵的功能是設(shè)置密碼修改權(quán)限,只有管理員可以登錄修改密碼。未輸入密碼時,單獨按下 0鍵具有 切換模式 功能,密碼輸入后 0 作為數(shù)字鍵。同理只有按下退出按鍵后顯示器才處于 屏保 狀態(tài)。若密碼修改太簡單,則顯示“ Code Is Too Simple”。 當(dāng)密碼連續(xù)輸入 3次錯誤之后語音芯片給出語音提示“連續(xù) 3 次密碼輸入錯誤,鍵盤已鎖定”。當(dāng) 89C52 的 口輸出為低電平時,蜂鳴器產(chǎn)生蜂鳴音, 89C52 輸出為高電平時,蜂鳴器不發(fā)聲。 //高四位置高,低四位拉低 電子綜合設(shè)計與制作實踐 設(shè)計報告 12 if(KeyPort!=0xf0) //表示有按鍵按下 { delay(10)。 Val+=0x0e。 return Val。 Val+=0x0d。 return Val。 Val+=0x0b。 return Val。 Val+=0x07。 return Val。//1 按下相應(yīng)的鍵顯示相對應(yīng)的碼值 case 0xde:return 2。//3 case 0xed:return 4。//5 case 0xbd:return 6。//7 case 0xdb:return 8。//9 case 0xe7:return 10。//0 模式 case 0xb7:return 11。//開啟 case 0x7d:return 14。//退出 case 0x77:return 16。 } } 三.液晶顯示設(shè)計 由于是顯示數(shù)據(jù),所以就要用到如下幾個顯示子程序,分別是:開鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯誤后的提示子程序。 i _nop_()。 lcden = 1。 _nop_()。 return result。 lcden = 0。 _nop_()。 lcden = 1。 _nop_()。 rs = 1。 _nop_()。 lcden = 1。 _nop_()。 lcd_wcmd(0x0c)。 lcd_wcmd(0x01)。 // 初始化 LCD display2(date)。 //設(shè)置顯示位置為第一行的第 1 個字符 i = 0。 i++。 //控制兩字之間顯示速度 } delay_gd(200)。 rs=0。 delay(5)。 lcden=0。 lcden=0。 write_(0x0c)。 write_(0x01)。 TL1=(6553650000)%256。 } void w_cht(uchar dat) { uchar dat1,dat2。 write_date(0x30+dat1)。 t0++。 else TR1=0。i16。 write_(0x80+0x40)。 tab++。 { if(num==0x01){StartAdr=0x001e。} else if(num==0x03){StartAdr=0x0034。} else if(num==0x05){StartAdr=0x0046。} else if(num==0x07){StartAdr=0x005f。} else if(num==0x09){StartAdr=0x007a。} else if(num==0x0b){StartAdr=0x0097。} else if(num==0x0d){StartAdr=0x00b2。} else if(num==0x0f){StartAdr=0x00d7。} 電子綜合設(shè)計與制作實踐 設(shè)計報告 19 else if(num==0x11){StartAdr=0x00f7。} else if(num==0x13){StartAdr=0x0123。// SS=1。 SS=1。//RD_REC_PTR 錄音寄存器 ISD_SendData(0x0C)。 while((statuamp。 SS=1。 ISD_SendData(StartAdramp。0x00ff)。 ISD_SendData(0x05)。 while((statuamp。 SS=1。 } //******************功 能 : 發(fā)送數(shù)據(jù) 返回接收 數(shù)據(jù) uchar ISD_SendData(uchar BUF_ISD) { uchar i,dat=BUF_ISD。i8。0x01) { MOSI=1。 } SCLK=1。 } 五.蜂鳴器發(fā)聲設(shè)計 蜂鳴器的工作原理 蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它,單片機(jī) IO 引腳輸出的電流較小,單片機(jī)輸出的 TTL 電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路,一多半采取一個三極管來放大驅(qū)動蜂鳴器。 蜂鳴器簡單發(fā)聲程序: void beep_( uint frq,uint time) { uint tt1,tt2。 for(tt2=frq。 for(tt2=frq。有源蜂鳴器內(nèi)部帶振蕩源,無源蜂鳴器內(nèi)部不帶振蕩源。對于無源的我們可以先讓 BUZZ=1 接著延時一小段時間,在又關(guān)閉 BUZZ(即 BUZZ=0)。 //超高音 1234567 //頻率 半周期數(shù)據(jù)表 低八位 code unsigned char FREQL[] = { 0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6, //低音 1234567 0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F,//1,2,3,4,5,6,7,i 0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D, //高音 234567 0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16}。 // //送別 數(shù)據(jù)表 code unsigned char sszymmh3[] = { 5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,1, 6,2,1, 5,2,4, 5,2,2, 1,2,1, 2,2,1, 3,2,2, 2,2,1, 1,2,1, 2,2,4, 0,0,0}。 //先關(guān)閉 T0 beep=!beep。 //啟動 T0 } // void delay_fmq(unsigned char t) //延時程序 ,控制發(fā)音的時間長度 { unsigned char t1。t1t。 //延時期間 , 可進(jìn)入 T0中斷去發(fā)音 TR0=0。 //啟動 T0, 由 T0輸出方波去發(fā)音 delay_fmq(time)。 //開 T0中斷 EA=1。 while(time){ k=sszymmh[i]+7*sszymmh[i+1]1。 //讀出時間長度數(shù)值 i+=3。 ,排除斷 路、短路(虛焊、漏焊等)等故障。 waveK51/L 仿真器對電子密碼鎖進(jìn)行仿真調(diào)試,發(fā)現(xiàn)蜂鳴器不能在執(zhí)行子程序的時候不能正確發(fā)出響聲以及 LCD 亮滅不準(zhǔn)確。要確保設(shè)計后的成品經(jīng)得住檢驗,就必須要保證程序有很好的容錯功能。 本次設(shè)計中,我們遇到過很多的困難。通過上網(wǎng)查資料,問老師同學(xué),這些問題都能一一解決。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,對單片機(jī) 編程 語言掌握得不好,通過這次 課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。 sbit lcdrw = P3^0。 sbit MOSI=P1^2。 void Play(uchar num)。 uchar temp。 //數(shù)據(jù)定義 uchar data correct_code_qx[]={4,8,3,7}。 uchar code wele[]= Wele 。 uchar code enter_[]= Enter AD Code 。 uchar code error_code[]= Code Error 。 uchar code simple[]= Too Simple 。 uchar code old_code[]= Enter Old Code 。 uchar code fail[]= Failed 。 uchar code _large[]= Large 。 uchar flag=0。 uchar j=0,j_qx=0,kk。 uchar xxx=0。 uchar counter_qx=0。 //標(biāo)志位定義 uchar conflag=0,out=0。 uchar code dis1[] = { CQ University }。 uchar code mode_d[]= Default Mode 。 電子綜合設(shè)計與制作實踐 設(shè)計報告 29 uchar code codm[]= Code Modify 。 uchar code yes_[]= yes 。 uchar code admini_[]= Administrator 。 uchar code _dig[]=Code Must 6 Dig 。 uchar code hello[]= Hello 。 uchar data save_code1[6]。 uint StartAdr,EndAdr。 uchar KeyPro(void)。 void I_delay(void)。 sbit SS=P1^0。 參考資料 [1]程序設(shè)計技術(shù) 重慶大學(xué) 出版社 熊壯 編著 [2]單片機(jī)原理及應(yīng)用 清華大學(xué)出版社 任勇 王永東 何偉 編著 [3] MCS51 系列單片機(jī)使用接口技術(shù) [M] 北京航空航天大學(xué)出版社 李華 編著 [3] MCS51 系列單片機(jī)使用接口技術(shù) [M] 機(jī)械工業(yè)出版社 沈杰等編著 電子綜合設(shè)計與制作實踐 設(shè)計報告 26 附錄 一.元器件清單 二.工具 名 稱 數(shù)量 STC89C52 單片機(jī) 1個 IDS1760 語音芯片 1個 LCD 液晶顯示屏 1個 揚(yáng)聲器 1個 發(fā)光二極管 2個 12MHZ 晶振 1個 蜂鳴器 1個 底座 若干 歐電阻 3個 1k歐電阻 7個 歐電阻 3個 10K 歐電阻 2個 200 歐電阻 1個 100 歐電阻 8個 100 歐排阻 2個 33pF 電容 3個 30pF 電容 2個 22uf 電解電容 1個 電容 3個 電容 5 個 NPN 三極管 6個 按鍵 22個 導(dǎo)線 若干 麥克風(fēng) 1個 10K 滑動變阻器 1個 名稱 數(shù)量 電 烙 鐵 1個 鉗 子 1個 鑷 子 1個 電子綜合設(shè)計
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1