完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#define MAIN_Fosc 11059200L //定义主时钟
#include "15W4KxxS4.H" #define uint unsigned int #define uchar unsigned char #define T1MS (65536-MAIN_Fosc/1000) /******************************************** 引脚别名定义 *********************************************/ ***it LED_R=P0^6; //三色指示灯之红色LED用IO口P06 uchar cnt = 0; void timer0Init(void) { AUXR = 0x80; //定时器0为1T模式 TMOD &= 0xF8; //定时器0为16位自动重装模式 TMOD |= 0x08; //定时器0为16位自动重装模式 TL0 = T1MS; TH0 = T1MS >> 8; TR0 = 1; //定时器开始计时 ET0 = 1; //使能定时器0中断 } void timer0_int (void) interrupt 1 { cnt++; if(cnt ==1000) //定时的是1ms进一次中断,但是为什么我这里写1000灯就不亮了?????????? { LED_R = ~LED_R; //点亮红色指示灯 cnt = 0; } } //主函数 int main() { ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为 // 高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用 //相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P0M1 = 0; P0M0 = 0; //设置P0.0~P0.7为准双向口 P1M1 = 0; P1M0 = 0; //设置P1.0~P1.7为准双向口 P2M0 = 0; P2M1 = 0; //设置P2.0~P2.7为准双向口 P3M1 = 0; P3M0 = 0; //设置P3.0~P3.7为准双向口 P4M1 = 0; P4M0 = 0; //设置P4.0~P4.7为准双向口 P5M1 = 0; P5M0 = 0; //设置P5.0~P5.7为准双向口 Timer0Init(); EA = 1; //使能总中断 while(1); } |
|
相关推荐
8个回答
|
|
char cnt; 这个 char是8位 就是说最大是256 而你的是cnt是1000, 就是说cnt加不到1000.
|
|
|
|
定时器和串口通信你搞懂了吗
|
|
|
|
uint cnt
|
|
|
|
三克油
|
|
|
|
三克油
|
|
|
|
已解决,谢谢
|
|
|
|
嗯嗯,三克油
|
|
|
|
数据类型,数据类型,数据类型!
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
8996 浏览 16 评论
4051 浏览 18 评论
1109浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 00:46 , Processed in 1.626946 second(s), Total 94, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号