找回密码
 立即注册
楼主: ly1350

全部直插,洞洞板飞线,5个外围元件的8H8K64U实验板(原理图,程序代码))

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2024-2-29 09:06:27 | 显示全部楼层
ly1*** 发表于 2024-2-29 08:56
好的,马上改正。谢谢,指出错误!

这个特殊应用,相关的 I/O 用开漏模式就行了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-6 17:24:30 | 显示全部楼层
终于有点时间继续学习了。重新写了电子钟的代码。用开关内部上拉电阻来点亮数码管。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-6 17:28:24 | 显示全部楼层
用内部上拉电阻控制数码管:



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-6 17:29:20 | 显示全部楼层
相机拍出来有点闪烁。实际效果,眼睛是看不出来的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-21 10:53:42 | 显示全部楼层
加焊5个led和一个1k限流电阻,准备学习PWM。。。 bc2246ff4176fde1827aa3912a3aedf.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-21 17:24:11 | 显示全部楼层
第一个pwm实验。控制led的亮度。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-21 17:25:14 | 显示全部楼层

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-21 17:26:18 | 显示全部楼层
  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. #include "display.h"
  4. #include "key.h"
  5. #define  Key  P32                                        //按键定义在P32
  6. #define PWM_T 1000                                        //设置周期值
  7. typedef unsigned char u8;
  8. typedef        unsigned int  u16;
  9. typedef unsigned long u32;
  10. void Update();
  11. void Timer0_Init(void);
  12. u16 duty=950;
  13. void main()
  14. {       
  15.         P_SW2|=0x80;                                         //        使能访问扩展寄存器
  16.         P1M0 |= 0x03; P1M1 &= ~0x03;         //  配置P10、p11为推挽输出模式
  17.         PWMA_PS|=0x00;                                        //  设置PWMA通道1p为p10,1n为p11
  18.         PWMA_CCER1|=0x00;                                //        关闭通道1
  19.         PWMA_CCMR1|=0x68;                                //  配置通道1的输出模式;
  20.         PWMA_CCER1|=0x0f;                                //        打开通道1,设置1p、1n
  21.         PWMA_ARRH=(u8)(PWM_T>>8);                //        写自动重装寄存器高8位
  22.         PWMA_ARRL=(u8)(PWM_T);                        //        写自动重装寄存器低8位
  23.         PWMA_ENO|= 0x03;                                //  打开1p、1n输出
  24.         PWMA_BKR|= 0x80;                                //        打开主输出
  25.         PWMA_CR1|= 0x01;                                //        开始计数
  26.         P3M0 &= ~0x04; P3M1 &= ~0x04;         //p32设为标准io
  27.         P3PU |= 0x04;                                         //p32打开上拉电阻
  28.         Timer0_Init() ;
  29.         EA=1;
  30.         P32=1;
  31.         while(1)
  32.         {
  33.                 Update();
  34.                 w1=duty/100;
  35.                 w2=duty/10%10;
  36.                 w3=keymod;
  37.                 w4=P32;
  38.                 display();
  39.                 keyscan();
  40.                
  41.         };
  42. }
  43. void keypro()
  44. {
  45.         if(keymod==1)
  46.                 {
  47.                         duty+=10;
  48.                         if(duty>1000)duty=1000;
  49.                         keymod=0;
  50.                 }
  51.         if(keymod==2)
  52.                 {
  53.                          duty-=10;
  54.                         if(duty<=700)duty=700;
  55.                         keymod=0;
  56.                 }
  57. }
  58. void Update()
  59. {
  60.         PWMA_CCR1H=(u8)(duty>>8);
  61.         PWMA_CCR1L=(u8)(duty);
  62. }
  63. void Timer0_Isr(void) interrupt 1
  64. {
  65.         dc++;
  66.         keycount++;
  67.         if(keycount>60000)keycount=0;
  68. }
  69. void Timer0_Init(void)                //1毫秒@11.0592MHz
  70. {
  71.         AUXR |= 0x80;                        //定时器时钟1T模式
  72.         TMOD &= 0xF0;                        //设置定时器模式
  73.         TL0 = 0xCD;                                //设置定时初始值
  74.         TH0 = 0xD4;                                //设置定时初始值
  75.         TF0 = 0;                                //清除TF0标志
  76.         TR0 = 1;                                //定时器0开始计时
  77.         ET0 = 1;                                //使能定时器0中断
  78. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2025-05-02 00:00:03
已绑定手机

20

主题

329

回帖

1676

积分

金牌会员

积分
1676
发表于 2024-3-21 17:29:46 | 显示全部楼层
限流电阻只找到了1k的。用得小了,亮度调节的效果不明显。80%左右就基本全亮了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-04-30 00:26:42

0

主题

336

回帖

1490

积分

金牌会员

积分
1490
发表于 2024-3-22 15:19:09 | 显示全部楼层
不错,花小钱办大事
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 09:03 , Processed in 0.996075 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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