本帖最后由 STC89C51 于 2023-11-22 15:55 编辑
.
2023实验日记 STC 32位 8051 单片机
STC32G12K128-实验箱-V9.62 2023-05-19
STC 32位 8051 单片机
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=323
STC 32位 8051单片机
STC32G12K128-实验箱-V9.62 2023-05-19
非常感谢冲哥老师的辛苦教学
还有STC公司美女业务员的大力支持
非常感谢 感谢
1933892258
.
..........................................................................................
8位数码管 显示8个 不同的数字 程序代码
修改成需要显示的数字代码位置
u8 Show_Tab[8] = {3,3,8,9,2,2,5,8};
..........................................................................................
- #include "COMM/stc.h"
- #include "COMM/usb.h"
-
- #define SEG_Delay 1
-
- #define MAIN_Fosc 24000000UL
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
-
- u8 SEG_Tab[10] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };
- u8 COM_Tab[8] = { 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe };
- u8 Show_Tab[8] = {3,3,8,9,2,2,5,8};
-
- void sys_init();
-
- void delay_ms(u16 ms);
-
- void main()
- {
- u8 num = 0;
- sys_init();
- usb_init();
- EA = 1;
-
- while(1)
- {
- if( DeviceState != DEVSTATE_CONFIGURED )
- continue;
- if( bUsbOutReady )
- {
- usb_OUT_done();
-
- }
- P70 = 0;
-
- P7 = COM_Tab[num];
- P6 = SEG_Tab[Show_Tab[num]];
- delay_ms(SEG_Delay);
-
- num++;
- if( num >7 )
- num = 0;
- }
- }
-
- void sys_init()
- {
- WTST = 0;
- EAXFR = 1;
- CKCON = 0;
-
- P0M1 = 0x00; P0M0 = 0x00;
- P1M1 = 0x00; P1M0 = 0x00;
- P2M1 = 0x00; P2M0 = 0x00;
- P3M1 = 0x00; P3M0 = 0x00;
- P4M1 = 0x00; P4M0 = 0x00;
- P5M1 = 0x00; P5M0 = 0x00;
- P6M1 = 0x00; P6M0 = 0x00;
- P7M1 = 0x00; P7M0 = 0x00;
-
- P3M0 = 0x00;
- P3M1 = 0x00;
-
- P3M0 &= ~0x03;
- P3M1 |= 0x03;
-
-
- IRC48MCR = 0x80;
- while (!(IRC48MCR & 0x01));
-
- USBCLK = 0x00;
- USBCON = 0x90;
- }
-
- void delay_ms(u16 ms)
- {
- u16 i;
- do
- {
- i = MAIN_Fosc/6000;
- while(--i);
- }while(--ms);
- }
复制代码
.
|