基本輸出埠實習—跑馬燈.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本輸出埠實習—霹靂燈 實習目的: .瞭解 MCS-51 基本輸出埠的使用 .瞭解 MCS-51 組合語言的寫法 .以 MCS-51 的輸出埠控制 LED 實習功能: .利用8個LED,作霹靂燈 .由最左邊第一個LED先亮 .再來亮第二個LED,第三個LED... .每次只亮一個LED .LED亮到最右邊的時候,重新開始 .重複上述LED亮的動作,永不停止 .每次轉換LED時間為0.5秒 .顯示圖型: * . . . . . . . . * . . . . . . . . * . . . . . . . . * . . . . . . . . * . . . . . . . . * . . . . . . . . * . . . . . . . . * :表LED亮 .:表LED熄 硬體分析: 要達成本實習所需的功能,除了MCS-51外,尚須 LED 的驅動電路,以驅動 LED ,因此其硬體方塊圖如下: .硬體方塊圖: MCS-51 LED電路 (含驅動電路) (含: 重置(Reset)電路 振盪電路) 圖4-1.1 霹靂燈方塊圖 .MCS-51電路: MCS-51電路包含了,重置(Reset)電路,OSC振盪電路,這部份如果使用者,使用ICE(模擬器)作實驗,亦可不接,因為ICE內部,己經有這些電路,但接了也無妨,可以經由一般的ICE功能選項中,選擇要用內部振盪器(ICE內),或是外部振盪器(自己接的振盪電路),其詳細電路如下: 圖4-1.2 MCS-51 CLK和OSC電路 .LED驅動電路: 所以適當的控制PORT x.x為Lo或Hi即可控制LED是否亮 (PORT x.x為8051四個埠中任一位元皆可) 圖4-1.3 LED驅動電路 注意:一般目前使用的MCS-51大都是CMOS元件,因此輸出時電流較小,LED可能不太亮,因此建議可在MCS-51和LED之間再加一個緩衝器(74244)以增加驅動能力,提高 LED 的亮度如下: 圖4-1.4 以緩衝器(74LS244)驅動LED 在本實習中,以埠2(Port 2)來驅動LED,使用者亦可使用其它的I/O埠,但若使用埠0(Port 0),則注意須在Port 0 加提昇電阻,否則將無法驅動LED亮。 .完整電路圖: 將上述兩個電路圖結合起來,即為本實習之完整的電路圖。如下: 圖4-1.5 霹靂燈完整電路圖 .實習接線: 若以本書之ALI_MCS-51實驗板作本實習,則僅需依下列步驟即可完成本實習之硬體電路: .JP1開路(使用內部記憶體); .JP2開路,JP3短路(以JUMP連接,使用12MHz之振盪器); .將LED板(ALI_MCS-51_002),以排線或直接插入實驗母板(ALI_MCS-51_001)上的PORT2-1上。如圖4-1.6: 圖4-1.6 實驗模板之接線 軟體分析: 在本實習中,將以三種較常用的方法,介紹如何控制 LED 的亮或熄,來達到本實習的功能要求,此三種方法分別為:立即定址法、旋轉法、查表法,以下分別介紹這三種方法: 方法一:立即定址法 此種方法是將欲顯示的LED,透過控制埠(本實習使用埠2),直接送”Lo”,而對不顯示的LED則送”Hi”即可。 軟體架構: 圖4-1.7 以立即定址法製作霹靂燈之軟體架構 使用指令: MOV(搬移指令):用來將資料送到控制埠; ACALL(副程式呼叫指令):用來呼叫延遲副程式,此副程式控制LED變化時間; SJMP(短程跳躍指令):用來造成無窮迴圈,使LED燈號循環顯示。 主程式段流程如下: 圖4-1.8 立即定址法製作霹靂燈之主程式流程圖 主程式解析: 上述流程圖中,其對應的指令,如: MOV LED_PORT, 其中: LED_PORT:表示本實習控制LED的輸出埠,此埠視實際硬體電路而定,在本實習中,使用埠2,所以在程式的初始位置要加以定義如下: LED_PORT REG P2 ;表示LED PORT 使用埠2 :表示使用立即定址法,最低位元(BIT 0)為”Lo”,其餘為”Hi”,後面的 B 表示使用二進位表示法。 ACALL DELAY0.5  ;表示呼叫延遲0.5這個副程式 SJMP $1 ;直接跳回區域標題$1的地方繼續執行 另外要注意的是,程式中若有使用標題的地方,如 $1 則在撰寫程式(KEY IN)時,標題名稱需在該行第一個位置的地方,其它指令,則至少要空一個空格。 ;──────────────────────────────── 副程式解析: 本程式

文档评论(0)

ailuojue1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档