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

正文內容

畢業(yè)設計-基于at89s51單片機的led點陣顯示系統(tǒng)設計-wenkub.com

2025-11-19 19:36 本頁面
   

【正文】 /**右移一位 **/ unsigned char code shuzi2[]={ 0x00,0x00,0x00,0x00,0x3F,0xFE,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x3F,0xFE,/*0,0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,/*1,1*/ 0x00,0x00,0x00,0x00,0x20,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0x82,/*2,2*/ 0x00,0x00,0x00,0x00,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,/*3,3*/ 0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x3F,0xFE,/*4,4*/ 0x00,0x00,0x00,0x00,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0xFE,/*5,5*/ 0x00,0x00,0x00,0x00,0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0xFE,/*6,6*/ 0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3F,0xFE,/*7,7*/ 0x00,0x00,0x00,0x00,0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,/*8,8*/ 0x00,0x00,0x00,0x00,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,/*9,9*/ }。 if(count==16) { count=0。 //寄存器時鐘上跳沿,將一位數據存入移位寄存器。0x01)。 //調用延時子程序 gate=1。 so=1。 //后發(fā)送一列的上半部分,第 2 個字 send8bit(i)。 for(i=1。a++){disbuf[a]=fuhao[a48]。a48。a32。a16。a64。a64。} for(a=16。} } /**將待顯示圖片 1 存至緩沖區(qū) */ /*void load_tupian1(void) { uchar a。} } /****將待顯示漢字存至緩沖區(qū) ****/ void load_hanzi2(void) { uchar a。 //加鬧鐘標志 } } } /****將待顯示漢字存至緩沖區(qū) ****/ void load_hanzi1(void) { uchar a。a++) { disbuf[a]=shuzi[t*16+a48]。 if(a==32) disbuf[a]=dian3。a++){disbuf[a]=0。a48。 if(a==31) disbuf[a]=dian2。} for(a=16。a++){disbuf[a]=0。a16。 //計算得到小數位數字 } /****將待顯示時間內容存至緩沖區(qū) ****/ void load_shijian(void) { uchar a。 i=ReadTemperature()5。 //計算得到小時十位數字 n=2。 //計算得到小時個位數字 p=min4。} //屏幕字左移一個 } } /*****讀取時間 *****/ void check_shijian(void) { /* read_clockS()。}。}。}。 } //鬧鐘報 警條件 if(f1000||nz) { speak=1。amp。} //分鐘 } /**鬧鐘處理函數 **/ void deal_naozhong(void) { uchar min2,hour2。} if(itemmax) item=mini。} if(!DEC){item。} //分鐘 if(!ADD){item++。mini=0。 //寫保護,禁止寫操作 } /*****設置鬧鐘函數 *****/ void Set_naozhong(unsigned char sel) //引入調整選擇標志 { signed char item。 //查看數值有效范圍 if(itemmini) item=max。while(!DEC){display()。while(!ADD){display()。 max=7。} //月 // if(sel==6) {address=0x86。 mini=0。 max=0。} //小時 if(sel==2) {address=0x82。 signed char max,mini。while(!MOD){display()。while(!MOD){display()。!set_st) { speak=0。 //讀取月數據 // week = DS1302_r(0x8b)。 //讀取小時數據 min = DS1302_r(0x83)。 //秒 DS1302_w(0x90,0xa5)。 //月 2 DS1302_w(0x86,0x10)。 //開啟設置鍵標志 } /****初始化 DS1302*******/ void DS1302_Initial (void) { DS1302_w(0x8e,0x00)。} } /*****外部中斷 0 服務程序 *****/ void int0(void) interrupt 0 { EX0=0。ss==1) {dian1=dian3=0x00。} //系統(tǒng)時基、工作節(jié)拍控制 if(x80){k=~k。z++。 //賦初值 } /*****定時器 0 中斷服務程序 *****/ void time0(void) interrupt 1 { TH0=0xab。i++)。n++)。 display()。 //加載圖片 c++。c=0。EX1=1。 display()。 //加載漢字 c++。} if(set_st) { if((!ADD||!DEC)amp。 //讀取溫度信息 load_wendu()。 //計算得到分鐘個位數字 display()。} // 調節(jié)鍵按下 m=nh/10。}} //進入調時選中狀態(tài)后如果長時間無調整則自動退出 if(set_st==3) nz=~nz。 //關秒閃 if(set_key_st) {set_key()。 //鬧鐘處理函數 display()。amp。EX1=1。amp。 //讀取小時數據 check_wendu()。 IT1=1。 //開啟定時器 0 ET0=1。 //關閉顯示,防止花屏 delayms(500)。 //字幕顯示速度 /**主函數 **/ void main() { nh=8。 //秒閃爍標志 ,調時閃爍標志 ,調鬧鐘秒不閃爍標志 uchar x,y。 //顯示調整標志 0: uchar mod_key_st=0。 //緩沖區(qū)中間量 uchar min,hour,sec,hour1,nh,nm。 //595 鎖存信號 sbit gate=P3^4。 //減鍵 sbit speak=P0^3。 //顯示子程序 sbit MOD=P3^2。 //將待顯示漢字 1 存至緩沖區(qū) void load_hanzi2(void)。 //讀取時間 void load_shijian(void)。 //調節(jié)漢字函數 void Set_time(unsigned char sel)。 //發(fā)送字函數 void mod_key(void)。 //顯示掃描延時 void DS1302_Initial (void)。 四、 在這次畢業(yè)設計的過程中學會了 Protel 99se 的基本使用,感到 Protel 99se 對電子 專業(yè)的同學來說是一門 非常重要且 很有用的課程。以下是我在制作過程中 ,主要做了下面幾點較突出的工作: 一、 通過查閱大量的相關資料,詳細了解了 LED 的發(fā)光原理和 LED 顯示屏的原理,了解了 LED 的現狀,清楚地了解了 LED 顯示屏與其它顯示屏相比較有那些優(yōu)點,明確了研究目標。 最后畢業(yè)設計實物調試成功。我們將原電路的 12M 晶振換為 16M 晶振。經萬用表測試,各導線連接全部正常。 點陣屏測試:用 2節(jié) 直流干電池串聯(lián)的到 3V 電壓,連接點陣屏測試各行各列點陣工作是否正常,顯示順序是否正確。 它是用動態(tài)顯示的原理工作的 , 即每個時刻只有一個 LED 被點亮 ,因 為它的工作頻率很高 ,所以人的眼睛看不出來它是動態(tài)的 ,LED 點陣輸入端有行和列 ,在不同的行和列之間接入信號相應的 LED 就會被點亮 ,但同時只能有一個行和列被接入信號 ,否則會亂碼 . 為讓人眼能看清楚字的顯示,對它進行延時以控制顯示效果,使其循環(huán)處理。本設計用的元件數量不算多,用到 2塊集成塊、一片單片機與多個電阻和三極管及 16*32 的點陣屏,但是他們的連接卻是相當復雜的,因此我們設 計兩塊 PCB 圖,即主控制電路圖和點陣屏電路圖。因而在整流、濾波電路之后, 還需接穩(wěn)壓電路。當第一行需要顯示的數據經過 8 4=32 個 CLK 時鐘后將全部移入 74HC595 中,此時產生一個數據鎖存信號 STR,使數據鎖存在 74HC595 的后級鎖存器中,同時由行掃描控制電路產生信號使第一行掃描管導通,相當于第一行 LED 的正端都接高平,顯然第一行 LED 管子的亮、滅取決于 74HC595 中所鎖存的信號;在第一行 LED管子點亮的同時,在 74HC595 中移入第二行需要顯示的數據,隨后將其鎖存,并同時由行掃描控制電路將第一行掃描管關閉而接通第二行,使第二行 LED管子點亮 ?? 以此類推,當第十六行掃描過后再回到第一行,只要掃描速度足夠高,就可形成一幅完整的文字或圖像, 其列驅動電路如圖 5 所示: 圖 5 列驅動電路 電源模塊 設計采用 5V 電源電壓為其供電。將從 RAM 輸出四個信號分別輸入到 74HC154 譯碼器,然后輸出 16位行信號,經過 16 個 1K 的電阻,再輸入 16 個 PNP8550三極管的 B 極來進行對行信號的放大,其中所有的三極管的 E 極相連接 +5V 的電源,所有的 C極接 16 個 1K 歐姆的電阻,得到的信號作為點陣 LED 的行輸入信號,通過對 154 的四個輸入信號進行控制,改變行信號。這樣,本行已準備好的數據打入并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數據,而不會影響本行的顯示。 總電路原理圖如圖 3所示。 P2口的 4個口與“寫”控制信號配合,輸出列控制信號。 該器件采用 ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的 MCS51指令集和輸出管腳相兼容。 采用的 AT89S51 單片機
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1