|
晶振:12Mhz 型号:STC任意
P2口连接1位共阳数码管 上电显示0,每隔1秒显示十六进制累加:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 。
- #include "STC12C5A60S2.h"
- #include "intrins.h"
- #define u8 unsigned char
- #define u16 unsigned int
- #define feed_dog() WDT_CONTR |= 0x10 //看门狗喂狗
- u8 code nbr[16] = { //共阳数码管段码16进制
- 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,
- };
- void InitTimer0(){
- TMOD = 0x01;
- TH0 = 0x0B;
- TL0 = 0xDC;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
- }
- u8 a = 0;
- void main(){
- WDT_CONTR = 0x27;
- InitTimer0();
- while (1) {
- feed_dog();
- }
- }
- void Timer0Interrupt() interrupt 1 { //12Mhz 62.5mS 定时器中断
- static u8 j = 15;
- TH0 = 0x0B;
- TL0 = 0xDC;
- if (++j >= 16) {
- j = 0;
- P2 = nbr[a++];
- if (a >= 16) {
- a = 0;
- }
- }
- }
复制代码 |
|