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

正文內(nèi)容

清華大學(xué)單片機(jī)課堂ppt-閱讀頁

2024-12-23 10:46本頁面
  

【正文】 /* 指針變量 pd指向字符型 xdata區(qū),自身在 data區(qū),長度 2字節(jié) */ ? 說明: 1.” * ”號不可少,它表示變量為指針變量。 ? 如果指針可指向任何存貯空間,指針定義為 通用型指針 , 表示此時指針長度為 3字節(jié) 第一字節(jié) 第二字節(jié) 第三字節(jié) 存貯類型編碼 所指地址的高八位 所指地址的低八位 存貯器類型 idata xdata pdata data code 編 碼 () 1 2 3 4 5 編 碼 () 0 0 1 2 1 通用型指針的存貯類型編碼如下: 表中 、 C51的版本 例如指針變量 px值 為 0x021203 ( ) 或?yàn)?0x001203 ( ) 即指針指向 xdata 區(qū)的 1203H地址單元。 ? 指向數(shù)組的指針變量的定義和賦值 設(shè)定義了一個數(shù)組 a[5]和一個指針變量 ap: char data a[5]。 ? 僅此兩句并不能說明變量 ap是指向數(shù)組的,還必須將數(shù)組的起始地址賦給該變量: ap=a。a[0]。a[0]。 char b,c,d。 ap=a。 /* b等于數(shù)組元素 a[2]的地址 */ c=ap+3。 /* d等于數(shù)組元素 a[3]的值, 即 d=44 ,等同于 d=a (3) */ } 編程將 8051的內(nèi)部數(shù)據(jù)存儲器 20H單元和 35H單元的數(shù)據(jù)相乘,結(jié)果存到外部數(shù)據(jù)存儲器中 (位置不定 ) include void main() { int data *point1=0x20。 xdata int result。 } 用并行口設(shè)計 LED數(shù)碼顯示器 和鍵盤電路 ? 鍵盤和顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的輸入輸出裝置。 用并行口設(shè)計 LED顯示電路 1. LED顯示器及其原理 ? LED有著顯示亮度高,響應(yīng)速度快的特點(diǎn),最常用的是七段式 LED ? 七段 LED顯示器內(nèi)部由七個條形發(fā)光二極管和一個小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。 其中 COM為公共點(diǎn),根據(jù)內(nèi)部發(fā)光二極管的接線形式,可分成共陰極型圖 ((b))和共陽極型圖 ((c))。 ? 靜態(tài)接口 為固定顯示方式,無閃爍,其電路可采用一個并行口接一個數(shù)據(jù)管,數(shù)碼管的公共端按共陰或共陽分別接地或 Vcc。 ? 動態(tài)接口 采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示頻率較高時,利用人眼的暫留特性 ,看不出閃爍顯示現(xiàn)象,這種顯示需要一個接口完成字形碼的輸出 (字形選擇 ),另一接口完 成各數(shù)碼管的輪流點(diǎn)亮 (數(shù)位選擇 )。 //數(shù)值‘ 39。 39。 for(x=zz。x) for(y=56。y) 。 P1=0x01。i17。delay(1000)。 } 有什么問題? 從左到右流水燈,從右到左流水燈,熄滅,閃爍 5次,重復(fù) void main() { while(1) { uint i。 //1 for(i=0。i++) {P2=_crol_(P2,1)。} P2=0x7f。i7。 delay(1000)。 for(i=0。i++) //3 { P2=0x00。 P2=0xff。 } }} 1: 必須要加延時,不然第一個 LED的點(diǎn)亮,觀察不到 2:可以不要此條語句 3:可以改成 for(i=0。i++)P2=~P2。 //李今鳴 void delay(uint x) { uint i,k。ix。k60。 } void main() { char i,j,k。 delay(1000)。 delay(1000)。i7。 delay(1000)。j7。 delay(1000)。 delay(1000)。k10。 } } Eg. 數(shù)碼管流水顯示 0~F,熄滅 uint code weix[]={0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0}。 for(i=0。i++) {P1=weix[i]。delay(1000)。 unchar code tab[16]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x76, 0x73 }。i16。 P2=tab[i]。 } } } 數(shù)碼管顯示 temp中的值(兩位數(shù)) void main() { uint temp=13。 while(1) { shi=temp/10。 P1=weix[0]。 delay(10)。 P2=duma[ge]。}} 不加延時語句會是什么現(xiàn)象??? 動態(tài)顯示 寫一個函數(shù),調(diào)用它顯示一個 3位數(shù) void display(uint temp) { uint ge,shi,bai。 shi=temp%100/10。 P1=weix[0]。delay(10)。P2=duma[shi]。 P1=weix[2]。delay(10)。 while(1) {display(num)。 while(1) {if(num==1000) num=0。 delay(1000)。}} 什么現(xiàn)象??? 十位,百位閃爍的厲害 刷新頻率不夠 正確思路 void main() { uint num=0,time。time10。//通過循環(huán)延時 num++。} } 作業(yè): ? 用動態(tài)掃描方式,顯示 12345678 ? 用動態(tài)掃描方式,顯示 1000~9999 用并行口設(shè)計鍵盤電路 ? 鍵盤是計算機(jī)系統(tǒng)中不可缺少的輸入設(shè)備,當(dāng)按鍵少時可接成線性鍵盤 LED +5V Vcc EA RST 10uF 1K 89S51 1K 30P 30P XTAL1 XTAL2 GND 89C51 +5V S19 ? 獨(dú)立鍵盤的檢測: ? 先給對應(yīng) I/O口 P1^0賦 1,然后讀取 I/O口 P1^0的狀態(tài)值 ? 如果 P1^0=0,則按鍵按下 ? 否則,未按下 ? 寫程序完成按下 S19,點(diǎn)亮第一個 LED( P2^0控制) sbit P10=P1^0。 void main() {P10=1。 else P20=1。 uint num=0。 P2=duma[0]。 if(num==10) num=0。} }} ?什么現(xiàn)象? ?為什么? ?按下次數(shù)不能確定 ?怎么解決? ?加松手判斷 if(key1==0) {if(key1==1) {num++。 P2=duma[num]。這是所有機(jī)械觸點(diǎn)式按鍵在狀態(tài)輸出時的共性問題,抖動的時間長短取決于按鍵的機(jī)械特性與操作狀態(tài),一般為 10~100ms,此為鍵處理設(shè)計時要考慮的一個重要參數(shù)。同理,在檢測到按鍵釋放后,也同樣要延遲一段時間,以消除后沿抖動,然后轉(zhuǎn)入對該按鍵的處理。 P2=duma[0]。 //消抖 if(key1==0) //再次確定按鍵是否按下 {num++。P2=duma[num]。 //松開 key1的檢測 用 IF語句可以嗎? }}} 矩陣式鍵盤的結(jié)構(gòu)組成 ?矩陣式鍵盤又叫行列式鍵盤 , 是用 I/O口線組成的行 、列矩陣結(jié)構(gòu) , 在每根行線與列線的交叉處 , 二線不直接相通而是通過一個按鍵跨接接通 。 通過鍵盤掃描程序的行輸出與列輸入就可確認(rèn)按鍵的狀態(tài) , 再通過鍵盤處理程序便可識別鍵值 。0xf0=0xf0(沒有鍵按下,繼續(xù)掃描下一行) 4. ≠0xf0(例如 =1101 0000,則 S2按下) 鍵盤處理程序的任務(wù)是: ? 確定有無鍵按下; ? 判哪一個鍵按下, ? 鍵的功能是什么; ? 還要消除按鍵在閉合或斷開時的抖動。也可由硬件編碼器完成鍵的編碼。 P1=0x02。//剛啟動,關(guān)閉數(shù)碼管 delay(100)。 // 第一行檢測 temp=P0。0xf0。 //消抖 temp=P0。0xf0。break。break。break。break。//顯示 } } 作業(yè): ? S1按下,數(shù)碼管顯示 0,S2按下,數(shù)碼管顯示 1 ...S16按下,數(shù)碼管顯示 F ? S1~S16按下分別顯示 1~16的平方
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1