资源简介
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单片机彩灯控制器的设计(仿真图、程序)
相关资源
- STM32定时器实现跑马灯
- 51单片机跑马灯完整程序与电路仿真图
- Proteus8.9 VSM Studio Keil编译器仿真UCOSI
- Labview跑马灯87105
- 跑马灯.rar
- 跑马灯 八灯循环闪亮 单片机实验
- 基于msp430f5529的LED跑马灯
- 微机原理 跑马灯源程序
- 北邮微机原理硬件实验报告报告内
- AT89C51的矩阵键盘、跑马灯和呼吸灯设
- 基于华清远见4412UDP通信的pwm按键控制
- 西门子smart跑马灯
- LED信号跑马灯.vi
- Proteus单片机仿真跑马灯程序
- ViewPager实现无限循环(跑马灯)效果
- AYScrollerLabel(跑马灯效果)
- stm32跑马灯实验
- s5pv210 led跑马灯
- stc89c51/52汇编程序
- LABVIEW跑马灯
- qt实现Linux开发板欢乐颂
- 基于51单片机的跑马灯proteus仿真
- 北京大学 数字电路实验Quartus ii课程设
- 在Keil4中用STM32实现跑马灯
- 基于labview的跑马灯程序
- 单片机 一个按键控制的10级变速跑马
- 8086处理器应用仿真--矩阵键盘+跑马灯
评论
共有 条评论