完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位高手,小弟正在基于STC单片机开发程序,在定时器1中断处理程序中,添加LCD显示程序。系统运行后,LCD显示乱码。在主函数中也添加了LCD显示代码,能够正常显示。请教其中的原因。谢谢!
/*****************************定时器1中断子程序*****************/ void time1(void) interrupt 3 using T1_INTNO { ET1 = 0;/*关闭定时器1中断*/ /*打印count1和count2*/ qian1=(count1/1000)+48; /*为了便于显示,转换为ASCII码*/ bai1=(count1%1000/100)+48; //百位转换成字符 shi1=(count1%100/10)+48; //十位转换成字符 ge1=(count1%100%10)+48; //个位转换成字符 qian2=(count2/1000)+48; bai2=(count2%1000/100)+48; shi2=(count2%100/10)+48; ge2=(count2%100%10)+48; LCD_write_char(2,1,qian1); LCD_write_char(3,1,bai1); LCD_write_char(4,1,shi1); LCD_write_char(5,1,ge1); LCD_write_char(8,1,qian2); LCD_write_char(9,1,bai2); LCD_write_char(10,1,shi2); LCD_write_char(11,1,ge2); TH1=(65536-10)/256; //重新给定时器赋初值 TL1=(65536-10)%256; t++; //每中断一次t加1 if(t<=count1) //电机1调速占空比为count1 : 100 { pwm1=1; } else { pwm1=0; } if(t<=count2) //电机2调速占空比为count2 : 100 { pwm2=1; } else { pwm2=0; } if(t>=100) //设置总占空比时间为1Kus { t=0; } TF1 = 0;/*清除中断标志位*/ ET1 = 1;/*打开定时器1中断*/ } |
|
相关推荐
1个回答
|
|
中断里面少放东西
|
|
|
|
只有小组成员才能发言,加入小组>>
3133 浏览 9 评论
2830 浏览 16 评论
3340 浏览 1 评论
8713 浏览 16 评论
3933 浏览 18 评论
9549浏览 3评论
886浏览 3评论
460浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
458浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2178浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 04:15 , Processed in 1.062244 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号