程序介绍:使用同一个IO口进行设置,高字节为按键,低字节为灯,流程中嵌入关系式变化:
FCV_COUNT = FCV_COUNT>>4;
FCV_COUNT = FCV_COUNT & 0x0f;
//** Date: Wednesday, November 21, 2012 20:50:00
//本程序版权所有: 51hei.com
#define MX_PIC
//Defines for microcontroller
#define P16F690
#define MX_EE
#define MX_EE_SIZE 256
#define MX_SPI
#define MX_SPI_BCB
#define MX_SPI_SDI 4
#define MX_SPI_SDO 7
#define MX_SPI_SCK 6
#define MX_UART
#define MX_UART_B
#define MX_UART_TX 7
#define MX_UART_RX 5
#define MX_I2C
#define MX_MI2C
#define MX_I2C_B
#define MX_I2C_SDA 4
#define MX_I2C_SCL 6
#define MX_PWM
#define MX_PWM_CNT 1
#define MX_PWM_TRIS1 trisc
#define MX_PWM_1 5
//Functions
#define MX_CLK_SPEED 19660800
#ifdef _BOOSTC
#include
#endif
#ifdef HI_TECH_C
#include
#endif
//Configuration data
//Internal functions
#include "F:Program FilesMatrix MultimediaFlowcode V4FCDinternals.h"
//Macro function declarations
//Variable declarations
char FCV_COUNT;
//Macro implementations
void main()
{
//Initialisation
ansel = 0;
anselh = 0;
//Interrupt initialisation code
option_reg = 0xC0;
//Loop
//Loop: While 1
while (1)
{
//Input
//Input: PORT C -> count
trisc = trisc | 0xff;
FCV_COUNT = portc;
//Calculation
//Calculation:
// count = count>>4
// count = count AND 0x0f
FCV_COUNT = FCV_COUNT>>4;
FCV_COUNT = FCV_COUNT & 0x0f;
//Output
//Output: count -> PORT C
trisc = 0x00;
portc = FCV_COUNT;
}
mainendloop: goto mainendloop;
}
void MX_INTERRUPT_MACRO(void)
{
}
关键字:PIC单片机 多路开关
引用地址:
PIC单片机多路开关程序
推荐阅读最新更新时间:2024-03-16 14:04
PIC单片机之温度采集
大家好, 通过前一期的学习, 我们已经对ICD2 仿真烧写器和增强型PIC 实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键、数码管、RS232 串口、步进电机等资源,体会到了学习板的易用性与易学性,看了前几期实例,当你实验成功后一定很兴奋,很有成就感吧!现在我们就趁热打铁,再向上跨一步,一起来学习一下DS18B20 数字温度传感器的工作原理及使用方法,这样我们用单片机来读取温度数值,可以做出很多温控方面的小产品来,如温度计,温度控制继电器的应用系统。 一、 单总线温度传感器DS18B20简介 DS18B20 是DALLAS 公司生产的单总线式数字温度传感器,它具有微型化、低功
[单片机]
PIC单片机学习心得
1.前言 为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见. 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616 这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4
[单片机]
PIC单片机的复位系统模块
PIC16F87X系列单片机的复位功能设计得比较完善,引起单片机内部复位的条件和原因可以大致归纳成以下5种. 1.上电复位 每次单片机加电时,上电复位电路都要对电源电压VDD的上升过程进行检测,当VDD值上升到规定值1.6~1.8V时,就产生一个有效的复位信号,需经过72ms加1024个时钟周期的延时,才会使单片机复位。 2.人工复位(单片机在执行程序期间) 无论是单片机在按预先设定的正常顺序运行程序,还是出现单片机进入不可预知的某一个死循环,都必须认为单片机在执行程序。单片机在执行程序期间,只要在人工复位端MCLR加入一个低电平信号,就会令其复位。 3.人工复位(单片机在睡眠期间) 单片机处在睡眠
[单片机]
PIC单片机对9346EEPROM程序的读写设计
由于在使用时,找了很久也没找到相关的程序,因此把自己后来编写的程序贴出来,希望能给后来者借鉴参考!;实验目的:熟悉SPI总线以及9346EEPROM的读写 ;RBO键按下时把DATA和DATA2写入到EEPROM中以EE—ADDR为地址的单元内, ;完成后,单个数码观显示“9”做为完成标志 ;RB1键按下时,读取EEPROM中以EE—ADDR为地址的单元,并送数码管显示 ;硬件要求:S3、S5、S6拨码管置ON,S1第7、8位置ON。 LIST P=16F877A, R=DEC include “P16F877A.inc” ;包含头文件 __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_
[单片机]
PIC单片机增强型开发板产生两路PWM
//************************************************************* // |-| |-| |-| // | | | | | | // __| |________| |_______|_|_____------ PWM1 // // |----| |----| |----| // | | | | | | // __| |_____| |____| |_------ PWM2 //本实验利用PIC单片机的CCP模块功能产生PWM功能,PWM的周期为: //(PR2+1)*4TOSC*(TMR2预分频值) //了解CCP模
[单片机]
PIC单片机C语言精确控制时间
很多朋友说C不能精确控制延时时间,不能像汇编那样直观。其实不然,对延时函数深入了解一下就能设计出一个理想的筐架出来。一般我们都用for(VX=100;--X){;}此句等同于X=100;while(--X){;};或Vfor(x=0;x 100;x++){;}. 来写一个延时函数。 在这里要注意:X=100,并不是表示只运行100个指令就跳出循环。 可以看看编译后的汇编: X=100;while(--x){;} 汇编后: movlw 100 bcf 3,5 bcf 3,6 movwf _delay l2 decfsz _delay goto 12 return 从代码中可以看出总的指令是303个,其公式是8+3*(x-1).注
[单片机]
PIC单片机的读写93C46程序
; THIS ROUTE IS USED FOR 93C46 (Configue as ; 16 bits organizaTIo) READ & WRITE ROUTE RA EQU 5 RB EQU 6 BIT-COUNT EQU DATA_HI EQU 10H ; HI half of words DATA_LO EQU 11H ; LO half of words ROM_AD EQU 12H ; the address of 93c46 TEMR EQU 13H ; BIT_COUNT EQU 14H ; CM_EWEN EQU 30H CM_EWDS EQU 0H ;RA CS EQU 0 SK EQU 1 DI
[单片机]
基于AVR单片机的多路遥控开关编解码实现
负荷缸是船舶电力核心发电机性能的负荷试验必备的重要工装设备,通过负荷试验,可以检验发电机长期工作的性能稳定的情况(静态特性)和对突加突卸负荷的应变能力(动态特性)。AVR单片机具有高性能低价格的优点,在本文中利用AVR单片机对发电机负荷缸的多路远程遥控开关量进行采集监控并进行数字信号编解码,用2芯的电缆取代原来40芯的粗电缆传输控制信号,有效地解决了工作中遇到的问题。 1 问题的提出 我们通过把由发电机供电的通电极板放到负荷缸水电阻中,用充气升降极板和补给水调节水电阻大小的方法控制试验发电机所带负荷的大小,对发电机的性能进行试验。体积庞大的负荷缸一般放置在码头,在船舶发电机的负荷试验中需要在船舶配电板处控制负荷缸的
[单片机]