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

滚屏显示电话号码

[复制链接]
  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 160 天

    [LV.7]常住居民III

    14

    主题

    282

    回帖

    3333

    积分

    论坛元老

    积分
    3333
    发表于 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. }
    复制代码

    众辕汽修,专业汽车维修
    回复 送花

    使用道具 举报

    该用户从未签到

    9

    主题

    296

    回帖

    1730

    积分

    版主

    积分
    1730
    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
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 160 天

    [LV.7]常住居民III

    14

    主题

    282

    回帖

    3333

    积分

    论坛元老

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

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


    众辕汽修,专业汽车维修
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 99 天

    [LV.6]常住居民II

    41

    主题

    1012

    回帖

    6955

    积分

    荣誉版主

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 160 天

    [LV.7]常住居民III

    14

    主题

    282

    回帖

    3333

    积分

    论坛元老

    积分
    3333
     楼主| 发表于 2023-5-11 15:04:02 | 显示全部楼层

    这得感谢冲哥,还有官方的支持啊。
    众辕汽修,专业汽车维修
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-15 20:49 , Processed in 0.491567 second(s), 50 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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