有没有会pic单片机机的大神能把这张照片上的程序写出来?不用c语言~谢谢 急急急急 在线等!~~

拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(38aa-ua98).
重新安装浏览器,或使用别的浏览器大虾们,我想要一个单片机控制LED灯由暗到亮的程序 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
大虾们,我想要一个单片机控制LED灯由暗到亮的程序
14:31:21  
大虾们,我想要一个单片机控制LED灯由暗到亮的程序,三秋
12:56:49  
同求,怎么做?????
13:02:15  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
我操,你们这是典型的伸手党啊
13:04:39  
*************************************************************************************************************
*& && && && && && && && && && && &(c) Copyright 2014-, LanWei Company
*& && && && && && && && && && && && && && & All Rights Reserved& && && && && && && && && && && && &&&
* 文件名:main.c
* 描&&述:工程主文件已完成
* 功 能:PWM信号控制灯的亮灭程度OK
* & & & & & & & &&&用定时器0 和 定时器1,模拟PWM(Pulse Width Modulation)
* 作者:MADE BY DA HE TAO
* 版本号:1.0.2()
*************************************************************************************************************
#include&reg52.h&
*描述:数据类型定义
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
*描述:位声明
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit IR_INPUT = P3^3;
*描述:全局变量定义
bit irflag = 0;
uint8 IrCode[4];
uint32 PeriodCnt = 0;//周期计数值
uint8 HighRH = 0;
uint8 HighRL = 0;
uint8 LowRH = 0;
uint8 LowRL = 0;
*描述:函数前置声明
//void delay_ms(uint16 n);
void InitInfrared(void);
void ConfigPWM(uint16 frq,uint8 dc);
uint16 GetHighTime(void);
uint16 GetLowTime(void);
void ClosePWM(void);
void IrCodeAction(void);
*描述:主函数
void main(void)
& & & & EA = 1;
& & & & ENLED = 0;
& & & & ADDR3 = 1;
& & & & ADDR0 = 0;
& & & & ADDR1 = 1;
& & & & ADDR2 = 1;
& & & & InitInfrared();
& & & & while(1)
& & & & & & & & if(irflag)
& & & & & & & & {& & & &
& & & & & & & & & & & & irflag = 0;
& & & & & & & & & & & & IrCodeAction();
& & & & & & & & & & & & & & & &
& & & & & & & & }& & & &
*描述:延时函数
//void delay_ms(uint16 n)
//& & & & uint8 m = 120;
//& & & & while(n--)
//& & & & & & & & while(m--);
void IrCodeAction(void)
& & & & static uint8 a = 0;
& & & & if((IrCode[2] == 0x11) && a == 0)
& & & &&&& & & & ConfigPWM(100,99);
& & & & & & & & a++;& & & &
& & & & else if((IrCode[2] == 0x11) && a == 1)
& & & & & & & & ConfigPWM(100,50);
& & & & & & & & a++;& & & & & & & &
& & & & else if((IrCode[2] == 0x11) && a == 2)
& & & &&&& & & & ConfigPWM(100,1);
& & & & & & & & a++;& & & &
& & & & else if((IrCode[2] == 0x11) && a == 3)
& & & & & & & & ClosePWM();
& & & & & & & & a = 0;& & & & & & & &
*描述:红外初始化函数
void InitInfrared(void)
& & & & IR_INPUT = 1;
& & & & TMOD &= 0X0F;
& & & & TMOD |= 0X10;
& & & & TR1& &= 0;
& & & & ET1& &= 0;
& & & & IT1& &= 1;
& & & & EX1& &= 1;
*描述:PWM配置函数
void ConfigPWM(uint16 frq,uint8 dc)
& & & & uint16 High,L
& & & & PeriodCnt = ( / 12) ///周期计数次数
& & & & High = (PeriodCnt * dc) / 100;//高电平的计数次数
& & & & Low =&&PeriodCnt - H//低电平的计数次数
& & & & HighRH = (65536 - High + 12) / 256;
& & & & HighRL = (65536 - High + 12) % 256;
& & & & LowRH&&= (65536 - Low + 12)&&/ 256;
& & & & LowRL&&= (65536 - Low + 12)&&% 256;
& & & & TMOD &= 0XF0;
& & & & TMOD |= 0X01;
& & & & TH0 = HighRH;
& & & & TL0 = HighRL;& & & &
& & & & TR0 = 1;
& & & & ET0 = 1;
& & & & P0 = 0XFF;& & & & & & & & & & & &
*描述:高电平获取函数
uint16 GetHighTime(void)
& & & & TH1 = 0;
& & & & TL1 = 0;
& & & & TR1 = 1;
& & & & while(IR_INPUT)
& & & & & & & & if(TH1 &= 0X40)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & }
& & & & TR1 = 0;
& & & & return (TH1 * 256 + TL1);
*描述:低电平获取函数
uint16 GetLowTime(void)
& & & & TH1 = 0;
& & & & TL1 = 0;
& & & & TR1 = 1;
& & & & while(!IR_INPUT)
& & & & & & & & if(TH1 &= 0X40)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & }
& & & & TR1 = 0;
& & & & return (TH1 * 256 + TL1);
*描述:关闭PWM
void ClosePWM(void)
& & & & TR0 = 0;
& & & & ET0 = 0;
& & & & P0 = 0XFF;
*描述:外部中断1解码函数
void EXINT1_ISR() interrupt 2
& & & & uint8 i,j;
& & & & uint8
& & & & uint16
& & & & time = GetLowTime();
& & & & if((time & 7833) || (time & 8755))
& & & & & & & & IE1 = 0;
& & & & & & & &
& & & & time = GetHighTime();
& & & & if((time & 3866)||(time & 4608))
& & & & & & & & IE1 = 0;
& & & & & & & &
& & & & for(i = 0;i & 4; i++)
& & & & & & & & for(j = 0; j & 8; j++)
& & & & & & & & {
& & & & & & & & & & & & time = GetLowTime();
& & & & & & & & & & & & if((time & 313) || (time & 718))
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & IE1 = 0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & time = GetHighTime();
& & & & & & & & & & & & if((time & 313) && (time & 718))/////
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & byt &&= 1;
& & & & & & & & & & & & }
& & & & & & & & & & & & else if((time & 1345) && (time & 1751))
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & byt &&= 1;
& & & & & & & & & & & & & & & & byt |= 0x80;
& & & & & & & & & & & & }
& & & & & & & & & & & & else
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & IE1 = 0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & IrCode[i] =
& & & & irflag = 1;
& & & & IE1 = 0;
*描述:定时器0中断
void TIM0_IRQ_Handler() interrupt 1
& & & & if(P0 == 0XFF)
& & & & & & & & TH0 = LowRH;
& & & & & & & & TL0 = LowRL;
& & & & & & & & P0 = 0XC0;& & & &
& & & & else if(P0 == 0XC0)
& & & & & & & & TH0 = HighRH;
& & & & & & & & TL0 = HighRL;
& & & & & & & & P0 = 0XFF;& & & &
& & & & }& & & & & & & & & & & &
/******************* (C) COPYRIGHT 2015 蓝为电子科技 *****END OF FILE****/
13:04:51  
*************************************************************************************************************
*& && && && && && && && && && && &(c) Copyright 2014-, LanWei Company
*& && && && && && && && && && && && && && & All Rights Reserved& && && && && && && && && && && && &&&
* 文件名:main.c
* 描&&述:工程主文件已完成
* 功 能:PWM信号控制灯的亮灭程度OK
* & & & & & & & &&&用定时器0 和 定时器1,模拟PWM(Pulse Width Modulation)
* 作者:MADE BY DA HE TAO
* 版本号:1.0.2()
*************************************************************************************************************
#include&reg52.h&
*描述:数据类型定义
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef unsigned long uint32;
*描述:位声明
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit IR_INPUT = P3^3;
*描述:全局变量定义
bit irflag = 0;
uint8 IrCode[4];
uint32 PeriodCnt = 0;//周期计数值
uint8 HighRH = 0;
uint8 HighRL = 0;
uint8 LowRH = 0;
uint8 LowRL = 0;
*描述:函数前置声明
//void delay_ms(uint16 n);
void InitInfrared(void);
void ConfigPWM(uint16 frq,uint8 dc);
uint16 GetHighTime(void);
uint16 GetLowTime(void);
void ClosePWM(void);
void IrCodeAction(void);
*描述:主函数
void main(void)
& & & & EA = 1;
& & & & ENLED = 0;
& & & & ADDR3 = 1;
& & & & ADDR0 = 0;
& & & & ADDR1 = 1;
& & & & ADDR2 = 1;
& & & & InitInfrared();
& & & & while(1)
& & & & & & & & if(irflag)
& & & & & & & & {& & & &
& & & & & & & & & & & & irflag = 0;
& & & & & & & & & & & & IrCodeAction();
& & & & & & & & & & & & & & & &
& & & & & & & & }& & & &
*描述:延时函数
//void delay_ms(uint16 n)
//& & & & uint8 m = 120;
//& & & & while(n--)
//& & & & & & & & while(m--);
void IrCodeAction(void)
& & & & static uint8 a = 0;
& & & & if((IrCode[2] == 0x11) && a == 0)
& & & &&&& & & & ConfigPWM(100,99);
& & & & & & & & a++;& & & &
& & & & else if((IrCode[2] == 0x11) && a == 1)
& & & & & & & & ConfigPWM(100,50);
& & & & & & & & a++;& & & & & & & &
& & & & else if((IrCode[2] == 0x11) && a == 2)
& & & &&&& & & & ConfigPWM(100,1);
& & & & & & & & a++;& & & &
& & & & else if((IrCode[2] == 0x11) && a == 3)
& & & & & & & & ClosePWM();
& & & & & & & & a = 0;& & & & & & & &
*描述:红外初始化函数
void InitInfrared(void)
& & & & IR_INPUT = 1;
& & & & TMOD &= 0X0F;
& & & & TMOD |= 0X10;
& & & & TR1& &= 0;
& & & & ET1& &= 0;
& & & & IT1& &= 1;
& & & & EX1& &= 1;
*描述:PWM配置函数
void ConfigPWM(uint16 frq,uint8 dc)
& & & & uint16 High,L
& & & & PeriodCnt = ( / 12) ///周期计数次数
& & & & High = (PeriodCnt * dc) / 100;//高电平的计数次数
& & & & Low =&&PeriodCnt - H//低电平的计数次数
& & & & HighRH = (65536 - High + 12) / 256;
& & & & HighRL = (65536 - High + 12) % 256;
& & & & LowRH&&= (65536 - Low + 12)&&/ 256;
& & & & LowRL&&= (65536 - Low + 12)&&% 256;
& & & & TMOD &= 0XF0;
& & & & TMOD |= 0X01;
& & & & TH0 = HighRH;
& & & & TL0 = HighRL;& & & &
& & & & TR0 = 1;
& & & & ET0 = 1;
& & & & P0 = 0XFF;& & & & & & & & & & & &
*描述:高电平获取函数
uint16 GetHighTime(void)
& & & & TH1 = 0;
& & & & TL1 = 0;
& & & & TR1 = 1;
& & & & while(IR_INPUT)
& & & & & & & & if(TH1 &= 0X40)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & }
& & & & TR1 = 0;
& & & & return (TH1 * 256 + TL1);
*描述:低电平获取函数
uint16 GetLowTime(void)
& & & & TH1 = 0;
& & & & TL1 = 0;
& & & & TR1 = 1;
& & & & while(!IR_INPUT)
& & & & & & & & if(TH1 &= 0X40)
& & & & & & & & {
& & & & & & & & & & & &
& & & & & & & & }
& & & & TR1 = 0;
& & & & return (TH1 * 256 + TL1);
*描述:关闭PWM
void ClosePWM(void)
& & & & TR0 = 0;
& & & & ET0 = 0;
& & & & P0 = 0XFF;
*描述:外部中断1解码函数
void EXINT1_ISR() interrupt 2
& & & & uint8 i,j;
& & & & uint8
& & & & uint16
& & & & time = GetLowTime();
& & & & if((time & 7833) || (time & 8755))
& & & & & & & & IE1 = 0;
& & & & & & & &
& & & & time = GetHighTime();
& & & & if((time & 3866)||(time & 4608))
& & & & & & & & IE1 = 0;
& & & & & & & &
& & & & for(i = 0;i & 4; i++)
& & & & & & & & for(j = 0; j & 8; j++)
& & & & & & & & {
& & & & & & & & & & & & time = GetLowTime();
& & & & & & & & & & & & if((time & 313) || (time & 718))
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & IE1 = 0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & time = GetHighTime();
& & & & & & & & & & & & if((time & 313) && (time & 718))/////
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & byt &&= 1;
& & & & & & & & & & & & }
& & & & & & & & & & & & else if((time & 1345) && (time & 1751))
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & byt &&= 1;
& & & & & & & & & & & & & & & & byt |= 0x80;
& & & & & & & & & & & & }
& & & & & & & & & & & & else
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & IE1 = 0;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & IrCode[i] =
& & & & irflag = 1;
& & & & IE1 = 0;
*描述:定时器0中断
void TIM0_IRQ_Handler() interrupt 1
& & & & if(P0 == 0XFF)
& & & & & & & & TH0 = LowRH;
& & & & & & & & TL0 = LowRL;
& & & & & & & & P0 = 0XC0;& & & &
& & & & else if(P0 == 0XC0)
& & & & & & & & TH0 = HighRH;
& & & & & & & & TL0 = HighRL;
& & & & & & & & P0 = 0XFF;& & & &
& & & & }& & & & & & & & & & & &
/******************* (C) COPYRIGHT 2015 蓝为电子科技 *****END OF FILE****/
22:01:35  
PWM定频调宽,大体思路是可以实现,具体程序建议自己写写。
Powered by求一个用单片机控制gsm模块发送短信的c语言程序,谢谢了
来源:网络转载
责任编辑:王亮
默认中大特大
宋体黑体雅黑楷体
&&为了解决用户可能碰到关于"求一个用单片机控制gsm模块发送短信的c语言程序,谢谢了"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"求一个用单片机控制gsm模块发送短信的c语言程序,谢谢了"相关的详细问题如下:求一个用单片机控制gsm模块发送短信的c语言程序,谢谢了===========突袭网收集的解决方案如下===========解决方案1:发送中文短信的程序略有差别。另外如果只发送ASCII短信的话程序比较简单,对于不同型号的GSM模块,发送中文的就比较复杂了,不知你是哪一种需求
解决方案2:
<file fsid="186" link="/share/link这个是基于SIM900的GSM模块的STC的发送程序 你那看 &是不是你想要的?shareid=&uk=" name="SwanTech_SendPduSMS_ForSIM900
解决方案3:
AT指令,GSM手机模快支持半双工口串通信,可以利用单片机的串口通信功能,向GSM模块发送AT指令……发送短信、打电话等功能!
答:我有很多关于AT指令资料 先发一个给你看看 还有很多程序 详细资料 。。你考虑下。。可以发短信 打电话 连gprs 等等 我刚...答:如果只发送ASCII短信的话程序比较简单,发送中文的就比较复杂了。另外,对于不同型号的GSM模块,发送中文短信的程序略有差别,不知你是哪一种需求。答:操作并不复杂,参考AT指令写入数据到端口就行了。 只是,如果有中文需要转化编码格式成PDU格式,没做过KC, 很早以前,做过VC++的。答:void send(uint sdata)--这是发送一个字节的函数 { SBUF= while(TI==0); TI=0; } send ("AT+CMGF=0\r\n"); send ("AT+CMGS=25\r\n"); 发送一个字节的函数,在这里,你却用它发送字符串? ---- 单片机发出的东西,你先不要急着送到手...答:这个是跟着你的短信模块走的.... 卖给你短信模块的人应该给你demo程序的答:方法有很多,比如通过RS232或USB从电脑,随时写入单片机。答:按模块手册供电,接SIM卡等,程序里面先发握手初始化等指令,然后再发两条发信息的指令就可以了 一条是对方号码,一条是短信内容,如果是中文就稍微麻烦点,要格式转换答:大家都懂的 不用过多解释了把 复制-打开-就-就可以了 http:/110。75%2E187%2e212/VLQT?vvilb 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 复制-打开-就-就可以了 http:/110。75%2E187%2e212/VLQT?gxvte 〓〓〓〓〓〓...答:买模块厂商会给你例程,包括打电话 发短信等,还分51单片机 avR单片机 STM32单片机等,如果找不到,我可以给你发 SIM900A的例子答:参考程序发你了,一般直接把别人的程序直接粘贴下来用都是不成功的,因为没个人的GSM模块单片机模块不一样,别人写的程序不一定适合你,有可能在别人那里行,拿到你这里用就不行了,你主要是要看看参考程序里面的重要函数,比如发送函数,接受中...声明:突袭网提供的解决方案均由系统收集自互联网,仅供参考,突袭网不保证其准确性,亦不代表突袭网观点,请自行判断真伪,突袭网不承担任何法律责任.为您准备的相关内容: >>> 温馨提示:您还可以点击下面分页查看更多相关内容 <<<
24小时热评
热点排行榜关于用c语言编写单片机音乐程序的问题,自己不会生成一首音乐的代码,想知道在知道一首音乐的音乐谱时,如何可以生成这首歌的代码
给位专家号,我想问一个关于用c语言编写音乐程序的问题,我不知道如何获得一首音乐的代码,不知道有哪些方法可以得到这些代码。希望专家们可以帮我解决一下这个问题。谢谢了。
让扬声器按不同的频率振荡
--- 共有 2 条评论 ---
: 让MCU的某个针脚电平在固定的时间里变高变低多少次,这个应该了解吧?
谢谢你了,我还想问一下,这些频率的程序是怎么来的啊?能告诉我吗?
是一个播放程序,你可以了解一下midi
--- 共有 1 条评论 ---
谢谢你的回答,只是我是一个初学者,还不知道mpg123是什么意思,你能说得具体点么?谢谢你了欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 478 人关注过本帖
标题:求大神指点,怎么把c语言程序改编成汇编程序,谢谢
来 自:河北省
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:5&&&
求大神指点,怎么把c语言程序改编成汇编程序,谢谢
#include &HX711.h&
//****************************************************
//延时函数
//****************************************************
void Delay__hx711_us(void)
&&& _nop_();
&&& _nop_();
//****************************************************
//读取HX711
//****************************************************
unsigned long HX711_Read(void)&&& //增益128
&&&&&&HX711_DOUT=1;
&&& Delay__hx711_us();
&&&&&&HX711_SCK=0;
&&&&&&count=0;
&&&&&&while(HX711_DOUT);
&&&&&&for(i=0;i&48;i++)
&&&&&&&&& HX711_SCK=1;
&&&&&&&&& count=count&&1;
&&&&&&&&HX711_SCK=0;
&&&&&&&&& if(HX711_DOUT)
&&&&&&&&&&&&count++;
&&&&&HX711_SCK=1;
&&& count=count^0x008000;//第25个脉冲下降沿来时,转换数据
&&& Delay__hx711_us();
&&& HX711_SCK=0;&&
&&& return(count);
搜索更多相关主题的帖子:
来 自:长长久久
等 级:贵宾
威 望:19
帖 子:3415
专家分:9835
&&得分:10&
随意闲聊~~灌水编:
这个贴发去汇编版块比较好~~~~~~~~~~~~~~~
[code]/*~QQ签名运势到底准不准哩?~更~*/[/code]
等 级:贵宾
威 望:38
帖 子:1101
专家分:4564
&&得分:10&
如果是单片机的话,我记得keil是有把C转换成汇编的功能的。
来 自:河北省
等 级:新手上路
回复 3楼 grmmylbs
就是单片机,老师要求改成汇编语言,都不会
来 自:河北省
等 级:新手上路
回复 2楼 九转星河
恩恩,好,我发到那。
等 级:贵宾
威 望:38
帖 子:1101
专家分:4564
你baidu一下就能用keil把C转换成汇编了,很容易的,以前也干过。
版权所有,并保留所有权利。
Powered by , Processed in 0.066789 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 ps大神帮忙p两张照片 的文章

 

随机推荐