资源简介
pic16f877a跑马灯源程序和电路图,简单实在

代码片段和文件信息
/*******************************************************************************
* 标 题: PIC_ST_V3.0学习板演示程序--跑马灯
* 文 件 名: 跑马灯
* 建立日期: 2009.8.4
* 修改日期: 2011.11.20
* 版 本: V1.0
* 作 者: simomli
********************************************************************************
* 跳线接法:用短接帽短接P14
* 功能描述: 8位LED接PORTD,L1~L8分别对应RD0~RD7
对PIC16F877A单片机的IO口简单的操作(输出模式)
不同的方式点亮LED灯加深理解对IO的输出操作
对PORTD的操作,详细见PIC16F877A数据手册4.4章节内容
********************************************************************************
*【版权】Copyright(C) 2009-2019 All Rights Reserved
*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
*******************************************************************************/
//#include
#include
#define uint8 unsigned char
#define uint16 unsigned int
__CONFIG(WDTDIS & LVPDIS & HS & PWRTDIS & BORDIS);//设置配置位
//WDTDIS:disable watchdog timer 看门狗禁止
//LVPDIS:low voltage programming disabled 低电压编程禁止
//HS:high speed crystal/resonator 4M以上晶振选择HS高速
//PWRTDIS:disable power up timer
//BORDIS:disable brown out reset
#define SCK_595 RA5
#define RCK_595 RE0
#define SER_595 RC0
void DelayMS(uint16 delay);
void HC595_Init(void);
void HC595_Write_Byte(uint8 data);
/*******************************************************************************
* 函 数 名: DelayMS(uint16 delay)
* 函数功能: 毫秒延时 for20MHZ
* 入口参数: delay
* 返 回: 无
*******************************************************************************/
void DelayMS(uint16 delay)
{
uint16 i;
for(;delay>0;delay--)
for(i=0;i<453;i++);
}
/******************************************************************************
* 函 数 名: HC595_Init(void)
* 函数功能: 74HC595初始化
* 入口参数: 无
* 返 回: 无
*******************************************************************************/
void HC595_Init(void)
{
ADCON1 = 0x8E;
TRISA5 = 0;
TRISE0 = 0;
TRISC0 = 0;
}
/******************************************************************************
* 函 数 名: HC595_Write_Byte(uint8 data)
* 函数功能: 74HC595写8位数据
* 入口参数: 无
* 返 回: 无
*******************************************************************************/
void HC595_Write_Byte(uint8 data)
{
uint8 i;
for(i=0;i<8;i++)
{
if(data&0x80)
{
SER_595 = 1;
}
else
{
SER_595 = 0;
}
SCK_595 = 0;
data <<= 1;;;
SCK_595 = 1;
}
RCK_595 = 0;
;;
RCK_595 = 1;
}
/*******************************************************************************
* 函 数 名: main(void)
* 函数功能: 跑马灯
*******************************************************************************/
void main(void)
{
uint8 i;
//下面的代码的作用是关闭点阵显示和数码管显示,本例程不用关心其中具体的操作
HC595_Init(); //74HC595初始化
HC595_Write_Byte(0x00); //写0x00数据,关掉LED点阵显示
TRISA &= 0xE3; //RA2、RA3、RA4设置成输出模式
PORTA |= 0x1C; //RA2 = 1、RA3 = 1、RA4 = 1,不选通任何数码管,则关掉数码管显示
//下面的代码是对PORTD的操作,仔细查看数据手册,结合本例,掌握对IO口的操作
TRISE &= 0xEF; //配置PORTD为普通IO口,对PORTD的操作务必加上这句
TRISD = 0x00; //设置PORTD为输出
while(1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-05-02 19:42 NO2_Run_Light\
文件 137215 2012-02-18 15:21 NO2_Run_Light\NO2_Run_Light接法图解.jpg
目录 0 2013-05-02 19:42 NO2_Run_Light\Run_Light\
文件 4082 2012-02-10 21:06 NO2_Run_Light\Run_Light\run_light.c
文件 1532 2012-02-18 15:28 NO2_Run_Light\Run_Light\Run_Light.hex
文件 989 2011-08-20 21:08 NO2_Run_Light\Run_Light\Run_Light.mcp
文件 26112 2012-02-18 15:29 NO2_Run_Light\Run_Light\Run_Light.mcw
- 上一篇:人工智能四子棋对抗AI
- 下一篇:51单片机彩灯控制器的设计(仿真图、程序)
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- 实验1.zip arduino跑马灯led灯实验,串口
- STM32跑马灯
- 自定义垂直跑马灯LinearLayout
- 实验1 跑马灯FreeRTOS实验.zip
- 转盘跑马灯
- UE4 跑马灯文本
- LabView的温度报警和跑马灯程序
- 基于proteus的跑马灯仿真分析
- 流水灯/跑马灯设计 verilog实现
- 基于AT89S52单片机的多模式带音乐跑马
- 可编程逻辑器件 Verilog HDL 跑马灯电路
- 8086 花式跑马灯 protuse仿真
- c51单片机跑马灯单键控制
- Labview 呼吸灯 跑马灯
- Xilinx ISE11.1的跑马灯程序,基于Spart
- 库函数驱动外设的应用:应用STM32的
- STM32F401CCU6跑马灯实验性源程序
- 两种基于Verilog语言跑马灯源代码
- 基于LABVIEW的跑马流水灯的设计
- 多模式带音乐跑马灯
- labview跑马灯129587
- qt QPainter 绘制跑马灯
- 单片机的4个课程 原理闪烁LED灯 跑马
- STM32定时器实现跑马灯
- 51单片机跑马灯完整程序与电路仿真图
- Proteus8.9 VSM Studio Keil编译器仿真UCOSI
- Labview跑马灯
- 跑马灯.rar
- 跑马灯 八灯循环闪亮 单片机实验
评论
共有 条评论