历史上的今天
今天是:2024年10月29日(星期二)
2019年10月29日 | PIC单片机按键控制PWM输出LED灯亮度C语言程序
2019-10-29 来源:51hei
#include __CONFIG(0x3b31); //定义配置字,晶振类型:XT,启动开门狗,禁止低电压编程 //************************************************************************ #define HC138_A RE2 //定义U6、U7、U8的A为RE2端口 #define HC138_B RE1 //定义U6、U7、U8的B为RE1端口 #define HC138_C RE0 //定义U6、U7、U8的C为RE0端口 //************************************************************************ #define U6_E RA2 //定义U6_E为RA2端口,U6E=1时,U6使能否则失能 #define U7_E RA3 //定义U7_E为RA3端口,U7E=1时,U7使能否则失能 #define U8_E RA1 //定义U8_E为RA1端口,U8E=1时,U8使能否则失能 #define LED PORTB //定义RB 8 point为LED端口 //********************************************************************* #define uchar unsigned char #define uint unsigned int void init(void); //系统初始化 void delay (uint x); void didi(uchar z); //*********************************************************************** void main(void) { init(); //调用系统初始化函数 asm("CLRWDT"); //看门狗喂狗指令 LED=0x00; while(1) { if(RC0==0) { delay (10); if(RC0==0) { didi(1); while(!RC0) { LED=0x0f; } } } if(RC1==0) { delay (10); if(RC1==0) { didi(1); while(!RC1) { LED=0xff; } } } } } //*************************************************************************** void init(void)//系统初始化 { ADCON1=0X06; //所有IO均为数字口,模拟量输入禁止 OPTION=0x80; //关闭RB口电平变化功能 TRISA=0xd1; //RA1,RA2,RA3,RA5置为输出,其他未用设置为输入 TRISB=0x00; //RB4-RB7置为输出,其他RB0-RB3设置为输入 TRISC=0xff; //未用设置为输入 TRISD=0xf3; //未用设置为输入 TRISE=0x00; //RE0,RE1,RE2置为输出 LED=0x00; //RB口全部置低电平 RD2=0; //关闭蜂鸣器 RD3=0; //关闭继电器 RA1=0; //关掉数码管、发光二极管 RA2=0; //关掉LED点阵屏左8列 RA3=0; //关掉LED点阵屏右8列 RBIE=1; //RB口电平变化中断open HC138_A=0; //使74HC138的Y0端为0,其他高阻 HC138_B=0; //使74HC138的Y0端为0,其他高阻 HC138_C=0; //使74HC138的Y0端为0,其他高阻 U6_E=0; //U6关闭 U7_E=0; //U7关闭 U8_E=1; //U8打开 asm("CLRWDT"); } //********************************************************************************************* void didi(uchar z) { uchar a; for(a=z;a>0;a--) { RD2=1; delay(800); RD2=0; delay(500); } } //********************************************************************************************** void delay (uint x) { uint a,b; for(a=x;a>0;a--); { for(b=110;b>0;b--); } } //********************************************************
史海拾趣
|
汽车正经历着一场数字革命的洗礼:纯机械系统和模拟电子的时代一去不复返。现今的汽车是数字化的汽车,内置了几十甚至上百个嵌入式处理器,它们通过数字网路相互连接,以控制和优化汽车内几乎每一个系统的运转。将来的汽车会集成更多的处理器,因为 ...… 查看全部问答> |
|
各位大侠,哪位手里有针对ST2410移植好的u-boot?最近做的项目急用,哪位好心帮帮忙!小弟多谢了! 邮箱haishi-qhm@163.com QQ154634556 不胜感激!… 查看全部问答> |
|
viod main() { char str[1024]; .... return; } 这样的程序在嵌入式设备下可能会出现什么问题 应该如何改进 面试题 堆栈小,堆栈溢出的问题?… 查看全部问答> |
|
请教一下,我用F2812扩一个大容量的FLASH,用的是三星的K9K1G系列的,应该怎么接, 因为FLASH芯片的数据口是并口,但地址却是用串行方式产生的… 查看全部问答> |




