迷庆太 迷庆太
关注数: 20 粉丝数: 3 发帖数: 2,014 关注贴吧数: 7
关于89c52的PWM亮度调节和adc0832的数据输出 想做一个根据光照调节亮度的LED灯 pwm调节亮度和adc0832的数据输出是两个子程序 分别拿来测试都测试不行 更别说组合起来了.. 输出都为P1口 接了8个发光二极管每个二极管都串联了1K的电阻 adc0832是打算读取光照传感器的数据直接在P1输出 这是测试一 程序就是网上找的 自己也写过 时序也对照过了 应该是没问题的 可是仿真的时候改变传感器光照输出的数据也没有变化 在实物上也一样 改变光照也是输出的灯的个数都是没有变化的 adc0832的程序如下 #include<reg52.h> #include<intrins.h> #define uchar unsigned char sbit DO=P2^2; sbit CLK=P2^0; sbit DI=P2^1; sbit CS=P2^3; uchar adc0832_data() { uchar i,Dat1=0,Dat2=0; CLK = 0;DI = 1;CS = 0;_nop_();CLK = 1;//第一个上升沿 CLK = 0;DI = 1;_nop_();CLK = 1;//第二个上升沿 DI=1表示 双通道 单极性 输入 CLK = 0;DI = 0;_nop_();CLK = 1;//第三个上升沿 DI=0表示选择通道1(CH0) _nop_();CLK = 0;//第四个下降沿 开始输出转换数据 for(i=0;i<8;i++)//读取8位数据 { CLK = 1; CLK = 0; _nop_(); if(DO) Dat1|=0x80>>i; } for(i=0;i<8;i++)//读取8位相反数据 { if(DO) Dat2|=0x01<<i; CLK = 1; CLK = 0; _nop_(); } CS = 1;DI = 1; CLK = 1;//读取完成释放总线 if(Dat1==Dat2)//数据效验如果正确则返回读取数据 return Dat1; } void main() { uchar a; while(1) { a=adc0832_data(); P1=a;};} 至于pwm调节亮度子程序测试的方法是打算运用定时器完成从最亮到最暗的变化 程序如下 #include<reg52.h> #define uint unsigned int uint LEVEL=10; void LIGHT(void) //PWM点亮程序 { uint n; for(n=0;n<10;n++) //10级 { if(n<=LEVEL) P1=0x00; if(n>LEVEL) //调整占空比 P1=0xff;} } void main() { TMOD=0x01; //T0中断1 TR0=1; ET0=1; TH0=(65535-50000)/256;TL0=(65535-50000)%256; //刷新率20HZ EA=1; while(1) {LIGHT();};} void T0_test(void) interrupt 1 { TH0=(65535-50000)/256;TL0=(65535-50000)%256; if(LEVEL=0)LEVEL=10; LEVEL--; } 仿真时所有的led都是恒定亮度 电压也没有变化 实物也是 不知道问题出在哪 纠结了很久了 求大神们解答 另外 因为纠结这些问题太久了开始怀疑自己的逻辑 按照课本上的一些程序直接输到keil中然后用protues模拟以及输入52中 都得不到应该有的结果 比如说这个程序 #include"reg52.h" sbit PWM=P1^0;//定义输出脚 void main() { TMOD=0x01; //定时器0工作方式1 TH0=(65536-10000)/256; //12M晶振10MS计时常数 TL0=(65536-10000)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1); } //中断函数,启动后每10MS进入一次中断 void T0_time(void) interrupt 1 { TH0=(65536-10000)/256; //12M晶振10MS计时常数 TL0=(65536-10000)%256; if(PWM)PWM=0; //输出脚取反 else PWM=1; } 虽然说我的晶振是11.0592M的但这也应该就影响个时间吧 完全不明白为什么会仿真无结果以及无法在单片机上得出结果 已经快崩溃了.... 是不是我学错了什么.....
【0314】特别的十周年 先祈祷灾区可以尽快摆脱灾情…下面正文… 3.14这天就要过完了,没有什么太惊天动地的举动,我们依旧觉得很幸福。 本来,三月初玄颜就计划着要画海报的。我太懒了她就说她一个人搞定。可是,地震的消息突然来了,我们几乎全部精力都放在了刷消息上,想刷出3只平安的官网来。终于等到3只平安的消息,可却是快考试了。我们都高三,认识的风饭也只有高三的为数不多的几个。我们很沮丧,很无力。 今天就这么平淡的过了,真的好不甘心。这是属于风的日子吖,为什么我们不能向大家宣告。往年我们都穿着演唱会周边的衣服在校园里逛,可是要高考了不能感冒只能作罢。晚上吃完晚饭,收到一个风饭和我同桌的短信,说广播站放了w-inds.的歌!!简直不敢相信!!(我们学校不准放日文歌所以我们一开始就没考虑这个途径)发短信问玄颜,她在吃饭没听到放歌。不过她们那边的风饭说是集体要求的!!集体!!集体!!说明有很多我们不认识的风饭!!多幸福不是么!!有那么多人和我们一样记得这一天! 以前我总认为不把喜欢表现出来就不算喜欢,看来我错得很彻底。我很羞愧,同时也很幸福。这种感觉很难说出来,我语无伦次了,不过,相信大家是能理解我的。 写在最后:w-inds.十年,时刻影响着我,催我成长,给我力量。希望今后我能成为他们力量的一部分,与他们一同进步。w-inds.,加油。
谭绎和释炎在十里不是被重莲杀了么...难道复活了..? RT..我反复看了很多遍... 都没有说他们复活的情节吖.... 一下是片段.. 先是十里红莲艳酒..七十八节: 接连三日,三个重要的人被杀。      武当大弟子谭绎,灵剑山庄毋琴丝,少林高僧释炎。      整个武林人心惶惶。      可怕的并不是有人被杀,而是杀这三人的,是同一个人。而且,是在三天内的同一时间被杀。      从少室山顶到武当山顶,让一个少林高僧连夜赶路,约莫一日便可到达。      让同一个高僧从这两个地方到灵剑山庄,忽略体力大量耗损,分别要五日,三日。      而这个人杀人的顺序是,谭绎,毋琴丝,释炎。      即是:武当,灵剑,少林。      再是内功深厚的人,也无法在这么短的时间内抵达还留有力气准时杀人,不留线索。      此人刻意绕路杀人,还刻留下了痕迹——死者的伤口在颈项,而且很明显为金钗所杀。      血凤凰又出现了。      但我却不能肯定这个血凤凰是步疏。      这人极有可能是借着血凤凰的名义杀人。因为步疏的内力大半个天山的人都知道,绝对无法做到这种境界。      唯一能做到这种程度的人,我只能想到重莲。 在后面也证明了这个猜想..在十里的八十一节最后      “小黄鸟你到底去了哪里?出了这么大的事你都不在!”      我回头。      缺右眼身上全是血,却都不是他的。      山间传来兵器交接声。      我大声说:“这到底是怎么一回事?”      “我也不知道,刚才突然有大量重火宫的人杀上来,内部出现了奸细。”      “什么意思?”      “步疏啊,她刚给大家说了一件惊人的事——血凤凰有两个,其中一个是她,另一个是重莲。” 接着就是月上了...这就没必要发片断了...大家都知道...释炎练了莲神九式...谭绎是172中兵器榜第三... 早就想问这些问题了...也不知道有没有人问过... 望知情者解答..
1 下一页