完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 月光下你的面庞 于 2017-4-17 13:47 编辑
中断程序中要重新赋值th0 tl0,但是今天做了个实验发现没重装也可以。是程序错了吗?请教后来调试了一下,果然th0tl0到那个地方重装了,搞得我很蒙圈了。 这是代码 #include #include ***it wela=P2^7; ***it dula=P2^6; #define uint unsigned int #define uchar unsigned char uint num,tt; uchar aa; //void delayms(uint xms); void main() { tt=0; wela=1; P0=0xea; wela=0; dula=1; P0=0x3f; dula=0; //这是不用管 TMOD=0x01; //set the timer0 as the work-way1 TH0=(65536-50000)/256; //senior 8bit setting TL0=(65536-50000)%256; //junior 8bit setting EA=1; // superior inter on ET0=1; //interrupt timer0 on TR0=1; //timer0 start up aa=0xfe; while(1) { if(tt==10) { tt=0; P1=aa; aa=_crol_(aa,1); } } } void exter0() interrupt 1 //timer inter 0 { //TH0=(65536-50000)/256; //TL0=(65536-50000)%256; //(为什么我没有重装,实验效果相同?) tt++; } /*void delayms(uint xms) { uint x,y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } */ |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:57 , Processed in 0.521338 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号