找回密码
 立即注册
查看: 887|回复: 4

滚屏显示电话号码

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:490
  • 最近打卡:2025-05-03 06:32:49
已绑定手机

20

主题

293

回帖

4444

积分

论坛元老

积分
4444
发表于 2023-5-10 12:18:28 | 显示全部楼层 |阅读模式
滚屏显示电话号码:




  1. #include "COMM/stc.h"               
  2. #include "COMM/usb.h"
  3. #define MAIN_Fosc 24000000UL       
  4. char *USER_DEVICEDESC = NULL;
  5. char *USER_PRODUCTDESC = NULL;
  6. char *USER_STCISPCMD = "@STCISP#";
  7.        
  8. u8 SEG_Tab[21] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xFF};        //0-9段码,0-9带小数点,熄灭
  9. u8 COM_Tab[8] = { 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe };        //0-7的位码数组
  10. u8 Show_Tab[14]= {1,5,2,3,4,8,5,2,8,6,6,20,20,20};
  11. u8 num = 0;
  12. u8 segdig;
  13. u16  segdelay;
  14. void sys_init();       
  15. void delay_ms(u16 ms);       
  16. void Timer0_Init(void)                //1毫秒@24.000MHz
  17. {
  18.         AUXR &= 0x7F;               
  19.         TMOD &= 0xF0;               
  20.         TL0 = 0x30;                       
  21.         TH0 = 0xF8;                       
  22.         TF0 = 0;                               
  23.         TR0 = 1;                               
  24.         ET0 = 1;                               
  25. }
  26. void main()                               
  27. {
  28.         sys_init();                               
  29.         usb_init();                               
  30.         Timer0_Init();
  31.         EA = 1;                                       
  32.         while(1)       
  33.         {
  34.                 if( DeviceState != DEVSTATE_CONFIGURED )
  35.                         continue;
  36.                 if( bUsbOutReady )                                                               
  37.                 {
  38.                         usb_OUT_done();
  39.                 }
  40.           for(num=0;num<8;num++)
  41.     {
  42.       if(num+segdig < 14)
  43.                   {
  44.                     P7 = COM_Tab[num];                       
  45.               P6 = SEG_Tab[Show_Tab[num+segdig]];
  46.                   }
  47.                   if(num+segdig >= 14)
  48.                   {
  49.                                 P7 = COM_Tab[num];               
  50.               P6 = SEG_Tab[Show_Tab[num+segdig-14]];
  51.                   }
  52.             delay_ms(1);       
  53.           }
  54.   }
  55.        
  56. }
  57. void Timer0_Isr(void) interrupt 1
  58. {
  59.                 segdelay++;                                                                                                                                                               
  60.         if(segdelay == 1000) segdelay = 0;                                                                       
  61.         if(segdelay == 0) segdig++;                                                                                                       
  62.         if(segdig >13) segdig = 0;                                                                                                       
  63. }
  64. void sys_init()                //函数定义
  65. {
  66.     WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
  67.     EAXFR = 1; //扩展寄存器(XFR)访问使能
  68.     CKCON = 0; //提高访问XRAM速度
  69.         P0M1 = 0x00;   P0M0 = 0x00;   //设置为准双向口
  70.     P1M1 = 0x00;   P1M0 = 0x00;   //设置为准双向口
  71.     P2M1 = 0x00;   P2M0 = 0x00;   //设置为准双向口
  72.     P3M1 = 0x00;   P3M0 = 0x00;   //设置为准双向口
  73.     P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
  74.     P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
  75.     P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
  76.     P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
  77.        
  78.     P3M0 = 0x00;
  79.     P3M1 = 0x00;
  80.    
  81.     P3M0 &= ~0x03;
  82.     P3M1 |= 0x03;
  83.     //设置USB使用的时钟源
  84.     IRC48MCR = 0x80;    //使能内部48M高速IRC
  85.     while (!(IRC48MCR & 0x01));  //等待时钟稳定
  86.     USBCLK = 0x00;        //使用CDC功能需要使用这两行,HID功能禁用这两行。
  87.     USBCON = 0x90;
  88. }
  89. void delay_ms(u16 ms)        //unsigned int
  90. {
  91.         u16 i;
  92.         do
  93.         {
  94.                 i = MAIN_Fosc/6000;
  95.                 while(--i);
  96.         }while(--ms);
  97. }
复制代码

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-28 14:10:14

19

主题

385

回帖

2508

积分

版主

积分
2508
QQ
发表于 2023-5-10 15:58:47 | 显示全部楼层
感谢分享,楼主可以将原视频直接分享到论坛哦,上传视频的方法可以参考此帖:如何在本论坛发视频 - 开源广场及教学视频交流 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区  https://www.stcaimcu.com/forum.p ... &extra=page%3D3
QQ:1463035472,微信:19952583954
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:490
  • 最近打卡:2025-05-03 06:32:49
已绑定手机

20

主题

293

回帖

4444

积分

论坛元老

积分
4444
发表于 2023-5-10 17:19:28 | 显示全部楼层
本帖最后由 马永锋 于 2023-9-10 12:19 编辑

之前视频可能无法正常显示,重新上传。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2023-5-11 09:48:17 | 显示全部楼层
恭喜楼主小有所成
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:490
  • 最近打卡:2025-05-03 06:32:49
已绑定手机

20

主题

293

回帖

4444

积分

论坛元老

积分
4444
发表于 2023-5-11 15:04:02 | 显示全部楼层
电子DI*** 发表于 2023-5-11 09:48
恭喜楼主小有所成

这得感谢冲哥,还有官方的支持啊。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:14 , Processed in 0.286860 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表