找回密码
 立即注册
查看: 336|回复: 0

Ai8051U创新风格库函数学习打卡

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:30
  • 最近打卡:2025-06-17 16:59:11

12

主题

52

回帖

573

积分

版主

积分
573
发表于 2025-2-12 17:06:24 | 显示全部楼层 |阅读模式
第一集:IO口模式和传统的外部中断
截图202502121704238583.jpg
  1. #include <AI8051U.H>
  2. #include "set_int.h"
  3. #include "set_io.h"
  4. #include "intrins.h"
  5. void Delay1ms(void)        //@40MHz
  6. {
  7.         unsigned long edata i;
  8.         _nop_();
  9.         _nop_();
  10.         _nop_();
  11.         i = 9998UL;
  12.         while (i) i--;
  13. }
  14. void main(void)
  15. {
  16.         
  17.         EAXFR=1;
  18.         CKCON=0;
  19.         WTST=0;
  20.         
  21.         set_io_mode(pu_mode,Pin40,Pin00,Pin01,Pin02,Pin03,Pin_End);
  22.         P40=0;
  23.         //set_io_mode(pp_mode,Pin40,Pin00,Pin01,Pin_End);
  24.         set_io_mode(hz_mode,Pin32,Pin33,Pin34,Pin35,Pin_End);
  25.         set_io_mode(en_pur,Pin32,Pin33,Pin34,Pin35,Pin_End);
  26.         //打开内部上拉电阻后,最好加一段1ms延时,以等待端口被拉高
  27.         Delay1ms();//1ms的延时
  28.         //set_io_mode(dis_pur,Pin32,Pin33,Pin_End);
  29.         //set_io_mode(en_pur,Pin33,Pin32,Pin_End);//参数顺序无所谓
  30.         set_int_mode(falling_edge_mode,Int0,Int1,Int_End);
  31.         EA=1;
  32.         while(1)
  33.         {
  34.                 if(get_int_state(Int0))
  35.                 {
  36.                         P00=~P00;
  37.                 }
  38.                         if(get_int_state(Int1))
  39.                 {
  40.                         P01=~P01;
  41.                 }
  42.                         P02=P34;
  43.                         P03=P35;
  44.         }
  45. }
复制代码

io 手敲代码.zip

82.12 KB, 下载次数: 10

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 23:53 , Processed in 0.257928 second(s), 49 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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