收藏0 举报
//PIC18F26K83 //配置字关闭了外部振荡器,启用内部64M时钟,其它的默认 //看门狗默认开启,使用内部31K时钟定时2s //#include "Configuration.h" #pragma config CONFIG1L=0b00000100 //配置字设置:时钟=内部64M,分频=1,外部振荡器关闭 #include <xc.h> #include "BIT.h" #include "DELAY_LONG.h" #include "FONT0805.h" #include "MCUIIC.h" #include "SH1106.h" #define out LATB unsigned int ii, nn; unsigned char xx, aa; unsigned char test(unsigned char dat) { unsigned char yy; yy=dat; return yy; } void __interrupt(irq(TMR0),high_priority) myTmrIsr(void) //增强型PIC18有很多个中断向量 { nn++; LATC1=1; //LED亮 __asm("CLRWDT"); //清狗 TMR0IF=0; //清零中断标记 OLED_gotoxy(71,3); //显示时间 OLED_show(nn); LATC1=0; if(aa) //显示:程序在1600K个CPU时钟里运行for()语句的次数 { aa=0; OLED_gotoxy(35,3); OLED_show(ii); } } void main(void) { OSCCON1=0b01100000; //高4位是时钟选择,本例选择高频内部时钟HFINTOSC,低4位是“后”分配器选择,0000=1分频 OSCFRQ=8; //高频内部时钟HFINTOSC的频率选择,=8就是64MHz WDTCON1=7; //看门狗溢出时间=65536/31K=2s,窗口期100%,窗口期就是说什么时候可以清狗,什么时候清狗属于违规 IIC_init(); OLED_init(); OLED_clear(); OLED_gotoxy(11,1); OLED_string("PIC18F26K83>SH1106"); OLED_gotoxy(11,5); OLED_string("21IC.COM PANXIAOYI"); TRISC1=0; //输出驱动LED,测试T0计数溢出中断 TRISC2=0; //输出驱动LED,测试T0输出,LED不会闪烁,不正常 RC2PPS=0x25; //某端口定义为由计数器TMR0计数溢出输出驱动电平翻转 TMR0H=195; TMR0IP=1; //高级中断 TMR0IE=1; //中断允许 ei(); //总中断使能 T0CON1 B6H; //Fosc/4=16M时钟 T0CON1 B3H; //预分频8192 T0CON1 B2H; T0CON1 B1L; T0CON1 B0H; T0CON0 B4L; //使用8位模式 T0CON0 B7H; //启动计时器 aa=1; ii=1; nn=0; while(1) { for(ii=0; ii<65535; ii++) //全部语句可以运行8988次 { xx=test(37); //注释这条可以运行9580次 out=xx; if(xx>47) xx=57; else xx=67; //注释这条可以运行9998次 out=xx; xx<<=1; //注释这条可以运行9248次 out=xx; xx>>=1; //注释这条可以运行9248次 out=xx; xx|=1; //注释这条可以运行9142次 out=xx; xx&=1; //注释这条可以运行9142次 out=xx; xx=~xx; //注释这条可以运行9142次 out=xx; xx=xx^1; //注释这条可以运行9142次 out=xx; xx+=1; //注释这条可以运行9090次 out=xx; xx-=1; //注释这条可以运行9090次 out=xx; xx*=3; //注释这条可以运行9523次 out=xx; xx/=3; //注释这条可以运行9523次 out=xx; xx%=3; //注释这条可以运行9638次 out=xx; } while(1); } } 代码如下:
您需要 登录 才可以下载或查看,没有账号?注册
panxiaoyi 发表于 2021-4-23 12:15 AVR比较简单,放假回去我也让ATmega48跑一遍试试,现在手头没有工具
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号