作者IOP14759 (iop14759)
看板Electronics
标题[问题] PIC用Timer0来输出方波
时间Thu Oct 26 17:31:39 2017
小弟算刚学单晶片,目前手边就是两本书+MPLAB内建的仿真
方波都是用WHILE回圈里面直接RB0=1;RB0=0;这样来做
今天知道可以用Timer0来输出方波可以做到有点向PWM那样控制脉波宽度
GOOGLE一下看的还是雾萨萨,可能我找资料能力较差
想请问有大大有这方面的资料吗?(目前是学C语言的,单晶片是Microchip的PIC)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.158.217
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1509010303.A.F6C.html
1F:推 guecet: Microchip 产品很多捏 10/26 22:47
2F:推 stool100: 变数uc p;TIMER中断 out=(p++>n)?1:0; 10/26 23:00
3F:推 HiJimmy: 是指用计时中断?? 10/27 00:45
16F57好像没有Interrupt的功能的样子,我看SPEC只有TIMER0暂存器
4F:→ HiJimmy: 给看是正在用的是那一颗,这样比较好举例 10/27 00:46
我是用PIC16F57,只要有相关资料参考就可以
※ 编辑: IOP14759 (60.248.158.217), 10/27/2017 09:05:48
※ 编辑: IOP14759 (60.248.158.217), 10/27/2017 09:10:23
5F:→ MasterChang: 57很旧了,去上RTC课程看现在他们用哪颗。 10/27 09:27
我自己查了一些资料,目前写出来是
void main(void)
{
unsigned char T0B; // 记录 Timer0 计数值
TRISC=0b00000000; // 设定 PORTC
OPTION = 0b00000100; // 开启 Timer0 并设定除频
T0B =*********; //TMR0最後一个BIT
while (1)
{RC0=T0B;
}
}
我想请教要在******那段怎样填才能抓到TMR0最後一个BIT?
又或者我目前这样写的是完全错误的?
※ 编辑: IOP14759 (60.248.158.217), 10/27/2017 11:17:29
6F:→ weiweider: 官方不是有范例code?,改一下就好了 10/27 14:14
7F:推 zzss2003: 我也正在学习喔,可以一起讨论y 10/29 11:50