;实验目的:本程序主要实现一个简单的流水灯程序
;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。)
;硬件要求:拨码开关S11全部置ON。
#include ;调用头文件
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
;**********************用户寄存器定义********************
count equ 20h ;移位次数寄存器
del_va1 equ 0ffh ;外层延时参数
del_va2 equ 0afh ;内层延时参数
org 00h ;程序人口地址
;**********************主程序开始***********************
main
nop ;ICD所需要的一条空指令
clrf PORTC ;先清楚C口所有显示
banksel TRISC ;选择I/O口方向寄存器所在的体
clrf TRISC ;设置C口全为输出
clrf STATUS ;返回体0
movlw .8
movwf count ;装载循环次数8(C口共8位)
bsf STATUS,C ;置进位标志位为1,因循环移位是带进位循环的
loop
rlf PORTC,1 ;C口左移1位
call delay
call delay
CALL delay ;调用三次延时程序(保证亮度,以及流水灯闪烁速度)
bcf STATUS,C ;清0进位标志位(永远只有一只LED亮)
DECFSZ count,1 ;判断是否一轮循环结束
goto loop ;否,继续循环移位
GOTO main ;是,程序重头开始
;***********************延时程序*************************
delay
movlw del_va1 ;延时程序外层参数
movwf 30h
movlw del_va2 ;延时程序内层参数
movwf 31h
decfsz 31h,1
goto $-1
decfsz 30h,1
goto $-4
return
;********************程序结束****************************
end
关键字:PIC单片机 跑马灯 实验程序
引用地址:
PIC单片机“跑马灯”实验程序代码
推荐阅读最新更新时间:2024-03-16 14:44
pic单片机定时器/计数器模块
前言 在单片机中,对于广大初学者来说,定时器、计数器此章节不仅应用广泛,而且还是单片机入门的敲门砖。在此,笔者就以此章节为重点,对定时器/计数器学习做出基本介绍。 -------------------------------------------------------------------------------------------------** 提示:以下是本篇文章正文内容,下面案例仅供参考 定时器/计数器模块的基本用途 如今,在许多世界著名的半导体制造公司开发型号繁多的单片机芯片内部,定时器/计时器模块是一种基本上普遍配置的常用外围设备模块,区别仅在于:配备的数量和规格不同(如:规格是否附带预分频器和
[单片机]
PIC单片机学习之独立按键
硬件电路:独立按键接RA5 效果:让RD0口的LED,当独立按键为0时,点亮。 注意:PORTA口的默认状态不是数字IO口,我们要将他配置成数字IO口。这涉及到了ADCON1寄存器。 //按键的基本应用 独立按键 //现象:按下S18,LED1点亮 #include pic.h #include ../head/config.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);//对熔丝位进行设置 void main(void) { ADCON1 = 0x07;//让PORTA口都是数字IO功能,参看数据手册130页 TRISA = 0xff; // PORTA = 0xff;
[单片机]
PIC单片机入门指南
第一步首先得下载个开发环境,PIC的开发环境有,MPLAB IDE和MPLAB X IDE其中X的需要安装JAVA的东西, 所以这里先推荐安装旧版的,以下是连接, http://www.microchip.com/stellen ... 9&part=SW007002 打开后在下面找到最大的那个压缩包下载。 下载完毕后解压出来,运行setup.exe安装, 猛点下一步,如果需要更改路径就要更改下,直到安装完毕。 下载XC8编译器 http://www.microchip.com/pagehandler/zh-cn/devtools/mplabxc/ 连接在左边的 XC8 Windows -- 点这个下载完后运行x
[单片机]
PIC单片机控制DS18B20 源程序
P IC 单片机 控制DS18B20 源程序 ORG PIC54 GOTO MAIN ORG 0 ;---------------------- ;---------------------------- DELAY22 MOV LW D 200 ; DELAY 2*250=500mS MOV WF COUNT1 DE32 MOV LW D 250 ; 8*250=2mS MOV WF COUNT2 DE42 NOP ; 1+2+1=5uS DECFSZ COUNT2,1 GOTO
[单片机]
PIC单片机使LCD面板产生闪烁效果的设计
使用LCD面板,信息可以通过多种方式显示。例如,如何将用户的注意力吸引到LCD面板的特定部分?一种不需要任何附加段的方式是产生闪烁效果。 以常见的时钟(见下图)应用为例。小时和分钟之间的“:”通常每秒闪烁一次(显示半秒,隐藏半秒)。 在缺少滴答声或通常伴随模拟外观时钟的秒针时,这可以显示时钟正在计时。它起到一种重要的作用,让用户知道时钟正在工作。 如果电源的电能即将耗尽,则通常整个时钟显示会开始闪烁。这使用户可以立即了解时钟不再显示正确的时间。 在用户设置时间时,通常使用闪烁来显示已进入了新模式,例如闪烁小时来指示正在设置小时,或者闪烁分钟来指示正在设置分钟。在简单时钟中,闪烁用于多种不同用途。如果没有闪烁效果,则
[单片机]
关于PIC单片机的定时器精准计时的计算
在此用了16C711单片机的TMR0做定时中断,希望实现精准计时,在程序中,TMR0用了晶振的32分频,初值#0FCH,因此POPBEAR兄弟计算出每个定时中断的计时时间为(256-X)*32*4/32768=0.015625秒。注意,问题就在这里!实际上这个时间是TMR0的初值被置入后两个指令周期后(见PIC单片机定时器/计数器资料)到下一次中断发生时的时间。如果要用到定时器的精准定时,必须理解这一概念! 如采用32768Hz的晶振,每个指令周期为122us,在中断处理程序中,到TMR0的初值被置入,共有7条指令,加上TMR0的初值被置入后两个指令周期,如果中断处理程序不直接放在0004H地址而采用GOTO指令的两个周期,一共
[单片机]
基于PIC单片机的智能目标跟踪系统设计方案
摘 要: 通过借鉴嵌入式系统在电子技术、信号处理以及计算机等领域应用的成功经验,在分析目标检测与跟踪算法的基础上,将目标检测与跟踪算法与嵌入式技术相结合,设计一种基于嵌入式PIC32单片机的目标检测与跟踪系统,可以实现目标检测跟踪系统的小型化,智能化,并以具体飞行目标为例进行了目标的识别和跟踪。 研究目的 随着现代社会对军用和民用设备需求的不断扩大及要求的不断提高,运动目标的识别和跟踪技术已经迅速发展成为现代信息处理领域中一项非常重要的技术,也是无人机野外战场侦察技术中的重点和难点,并在许多领域内发挥着不可替代的作用。目前,基于PC 机的目标检测与跟踪技术已趋于成熟,但其在嵌入式平台的应用研究还处于初级阶段。由于嵌入式系统具有
[单片机]
MSP430F5438单片机时钟设置实验程序
//================================================================// // // // 文件: MAIN.C // // 说明: MSP430F5438开发板单片机时钟设置实验程序 // // 设置单片机时钟为外部高频晶振或外部低频晶振+DCO, // // 并将辅助时钟、主时钟和子主时钟通过IO引脚输出, // // 可通过插针将信号引出并用示波器观察。 // // // // MSP430F5438 // // ----------------- // // /|| XIN|- // // | | | XTAL1 = 32.768k // // --|RST
[单片机]