|
第六章 单片机实验与实例
由于本文篇幅有限,
特别截取几个有代表意义的汇编例子,贴出源程序,以及运行照片,
接线方法, 线路原理图,
供初学者参考。由于本实验仪采用模块化结构,
搭配方式千变万化,读者可举一反三,练习掌握。
更多汇编程序以及C语言程序请参考配套光盘的例子程序,以及www.8951.com
的最新更新!
实验1: 最简单的八路跑马灯
本例实验主要用到了延时子程序,clr,lcall,ajmp
指令, 通过轮流点亮p1.0 …..P1.7
实现效果。用户可以通过此程序的学习, 初步掌握单片机的IO端口操作。
练习1:
怎样把延时的时间改为更短, 或者更长?
练习2:
怎样用P0,P2,P3端口来操作?
练习3:
怎样实现不同的跑马花样?
;实验1最简单的8路跑马灯。用一条8PIN的数据排线把CPU部份的P1口
;(JP44)连接到八路指示灯部份的JP32可以看到8路灯轮流闪烁
;********************************************************************************
;* 日期: 2007-3-25 *
;* 版本: 3.0 *
;* 作者: 深圳学林电子有限公司 专业8051单片机教学站 *
;* 邮箱: sxj1974@163.com *
;* 网站: http://www.51c51.com http://www.8951.com 更多例程请登陆网站 *
;********************************************************************************
;* 硬件:此程序在本公司xlisp系列单片机实验仪运行通过 *
;********************************************************************************
;* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;********************************************************************************
org 0000h ;开始
ajmp loop
org 0080h ;到0030h处避开00-30的敏感地址
loop:
mov p1,#0ffh ;关闭所有灯
clr p1.0 ;点亮灯p1.0
lcall delay ;延时一段时间?
clr p1.1 ;点亮灯p1.1
lcall delay
clr p1.2 ;点亮灯p1.2
lcall delay
clr p1.3 ;点亮灯p1.3
lcall delay
clr p1.4 ;点亮灯p1.4
lcall delay
clr p1.5 ;点亮灯p1.5
lcall delay
clr p1.6 ;点亮灯p1.6
lcall delay
clr p1.7 ;点亮灯p1.7
lcall delay
AJMP LOOP ;到最开始loop处重新运行
delay: mov r5,#20 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end
接线方法:
用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
接线图以及运行瞬间的照片(可以看到8路指示灯轮流点亮)
|