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

正文內(nèi)容

畢業(yè)設(shè)計-基于at89s51單片機的led點陣顯示系統(tǒng)設(shè)計(存儲版)

2025-01-12 19:36上一頁面

下一頁面
  

【正文】 圖二: 圖 2 單片機模塊電路 v 系統(tǒng)總電路 本系統(tǒng)采用 AT89S51單片機 最小應(yīng)用系統(tǒng) 作控制器,整個電路主要由單片機控制及其接口 電路、驅(qū)動顯示電路、電源電路等部分組成。 行驅(qū)動電路 此電路采用 4/16 譯碼器 74HC154 作為點陣的行驅(qū)動。由于此脈動的直流電壓還含有較大的紋波,必須經(jīng)過濾波電路加以濾波(一般有 10%左右的波動)負載和溫度的變化而變化。 圖 7 系統(tǒng) PCB圖 第三章程序流程圖 程序在初始化后將存儲在 ROM 內(nèi)部的站點信息讀出,送至單片機的 RAM,初步的進行漢字點陣轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù) 處理 送至行驅(qū)動和列驅(qū)動, 一般行的用 74LS154,列用 74HC595控制,工作原理是當(dāng) 154 掃描到某一行時, 595 決定哪一列該亮,就這樣快速掃描,形成了圖像了 。估計原因: ( 1)電路是否有出現(xiàn)斷路現(xiàn)象。 最后測試:最后測試左、右、上、下移動,移動正常。 三、 文章給出了系統(tǒng)具體的硬件設(shè)計方案 , 硬件結(jié)構(gòu)電路圖,軟件流程圖和具體匯編語言程序設(shè)計與調(diào)試等方面。 //列控制函數(shù) void send8bit(unsigned int n)。 //鬧鐘處理函數(shù) void check_shijian(void)。 //將待顯示圖片 2 存至緩沖區(qū) void display(void)。 //595 時鐘信號 sbit so=P3^6。 //調(diào)整選擇標志 0:正常走時; 1:溫度; 2:字幕;3:動畫 uchar set_st=0。字幕顯示速度標志 ;圖片顯示速度標志 uchar speed=7。 //初始化定時器 TR0=1。 //系統(tǒng)時基清零 hour= DS1302_r(0x85)。 // 開秒閃 if(set_key_st) {set_key()。 //讀取時間信息 deal_naozhong()。z=0。 //計算得到分鐘十位數(shù)字 t=nm%10。EX1=1。} //改變 speed 可以改變字幕顯示速度 if(b179*16) b=0。 if(c8) {g++。} //改變 c 可以改變圖片顯示速度 if(g24) g=0。i125。y++。amp。 set_key_st=1。 //分鐘 DS1302_w(0x80,0x00)。 //讀取日數(shù)據(jù) // month= DS1302_r(0x89)。 } //關(guān)整點報時 } /*****MOD 鍵處理程序 *****/ void mod_key(void) { if(!MOD){mod_st++。 //關(guān)閉設(shè)置鍵標志 } /*****設(shè)置時間函數(shù) *****/ void Set_time(unsigned char sel) //引入調(diào)整選擇標志 { signed char address,item。} //分鐘 // if(sel==3) {address=0x80。mini=1。//讀取 1302 某地址上的數(shù) 值轉(zhuǎn)換成 10 進制賦給 item if(!ADD){item++。} if(itemmax) item=mini。 max=23。z=0。} //小時 if(sel==2) {nm=item。!nz) { speak=0。while(!ADD){display()。}。 //計算得到分鐘個位數(shù)字 */ m=1。 //計算得到個位數(shù)字 p=im*100n*10。a32。 if(a==30) disbuf[a]=dian1。a64。a64。a++){disbuf[a]=hanzi1[a+b*2]。a++) {disbuf[a]=0x00。 for(a=0。 //加載溫度十位信息 } for(a=16。a64。 //由于使用移位寄存 74hc595,先發(fā)送一列的下半部分 send8bit(i1+32)。 delay()。 clock=1。 /**左移一 位 **/ unsigned char code shuzi1[]={ 0x3F,0xFE,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x3F,0xFE,0x00,0x00,0x00,0x00,/*0,0*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x00,0x00,0x00,0x00,/*1,1*/ 0x20,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0x82,0x00,0x00,0x00,0x00,/*2,2*/ 0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x00,0x00,0x00,0x00,/*3,3*/ 0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x3F,0xFE,0x00,0x00,0x00,0x00,/*4,4*/ 0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0xFE,0x00,0x00,0x00,0x00,/*5,5*/ 0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0xFE,0x00,0x00,0x00,0x00,/*6,6*/ 0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x3F,0xFE,0x00,0x00,0x00,0x00,/*7,7*/ 0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x00,0x00,0x00,0x00,/*8,8*/ 0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x00,0x00,0x00,0x00,/*9,9*/ }。 count++。//右移 (7q)位,從低位到高位取。 //產(chǎn)生上升沿鎖存信號 lie()。i=31。a++){disbuf[a]=shuzi3[p*16+a32]。a++) { if(m==0)disbuf[a]=0x00。a++) {disbuf[a]=0x00。 for(a=0。 for(a=0。 if(a==33) disbuf[a]=dian4。a++){disbuf[a]=0。a32。a++){disbuf[a]=0。 //獲取溫度值并減去 DS18B20 的溫漂誤差 m=i/100。 //計算得到分鐘十位數(shù)字 t=minamp。} //屏幕字右移一個 if(!DEC){b=16。if(speed14) speed=14。(min2==nm)amp。 //查看數(shù)值有效范圍 if(itemmini) item=max。while(!ADD){display()。 signed char max,mini。}。mini=1。} //年 // if(sel==5) {address=0x88。 max=59。}} if(set_st3) set_st=0。 } //開整點報時 if(f100) { speak=1。 //讀取分鐘數(shù)據(jù) /*在本電子鐘中暫不需要讀取以下信息,暫時屏蔽 */ sec = DS1302_r(0x81)。 //日 16 DS1302_w(0x84,0x00)。 mod_key_st=1。x=0。 TL0=0xff。 } /***(n)ms 延時子程序 **/ void delayms(uint n) { uchar i。 if(c8) {g++。} if(!set_st) { load_tupian1()。 if(cspeed) {b++。 //加載溫度 display()。 //計算得到小時十位數(shù)字 n=nh%10。EX1=1。set_st0) Set_time(set_st)。set_st==3) {set_st=0。 //開啟外部中斷 1 EX1=1。 //等待芯片復(fù)位,目的是穩(wěn)定檢測是否需要初始化 while(SET==0) //通電前按下 SET 鍵不放,接通電源時便初始化時間信息 { DS1302_Initial()。 //時基便于從某種狀態(tài)中自動還原 uint z,b,f,c,g。 //定義時間映射全局變量 uchar dian1,dian2,dian3,dian4。 //蜂鳴器 sbit dat=P3^7。 //將待顯示漢字 2 存至緩沖區(qū) //void load_tupian1(void)。 //設(shè)置時間函數(shù) void Set_naozhong(unsigned char sel)。 //初始 化 ds1302 void initTimer(void)。 二、 本文設(shè)計的 LED顯示屏能夠?qū)崿F(xiàn)在目測條件下 LED 顯示屏各點亮度均勻、充足,可顯示文字,顯示文字應(yīng)穩(wěn)定、清晰無串?dāng)_。結(jié)果點陣屏能正常顯示預(yù)期的字樣,但閃爍感強烈。測試結(jié)果無誤。我們采用的是單面布線策略,多處還使用到跳線、排針與排線來連接。直流穩(wěn)壓電源一般由電源變壓器、整流濾波器電路以及穩(wěn)壓電路所組成。 故在此我們采用 74HC595 作為列驅(qū)動。 P2 口的另外 4個 I/O口是用作按鍵開關(guān)。 LED 顯示采用動態(tài)掃描方式 實現(xiàn),控制電路部分由 1片 74HC154和 4片 74HC595傳輸信號,傳輸出來的信號通過 74HC595輸出。 按顯示器件分類 LED 數(shù)碼顯示屏:顯示器件為 7 段碼數(shù)碼管,適于制作時鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。 LED 顯示屏分為圖文顯示屏和條幅顯示屏,均由 LED 矩陣塊組成。 關(guān)鍵字: AT89S51 單片機; LED 點陣顯示; 動態(tài)顯示 Abstract This article describes a dotmatrix LED display system, which produced the United States, 40 feet ATMEL AT89S51 microcontroller core, the use of serial transmission, dynamic scanning techniques. LEDscreen display circuit and the MCU control circuit as the core, the use of C language programming via the serial munication interface display on the LED display system parameter setting and realize the simple dotmatrix LED display numbers, letters, characters, graphics and so on. The system is controlled by S51 chip, a line drive and four column driver 74HC154 74HC595 to drive the display shows. Comprehensive application o
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1