搜索

[技术支持] HC89S003F4芯片2.1-2.6引脚接数码管

[复制链接]
47|2
 楼主 | 2020-10-14 13:20 | 显示全部楼层 |阅读模式
  1. void LED_Scan1(void)
  2. {
  3.         SEG++;
  4. if(SEG>23)SEG=1;
  5.         P2 = 0xFC;
  6.         P2M3 = 0x99; //PIN1 2.6
  7.         P2M2 = 0x99; //PIN2 PIN3 2.5 2.4
  8.         P2M1 = 0x99; //PIN4 PIN5 2.3 2.2  
  9.         P2M0 = 0x99; //PIN6      2.1
  10.        
  11. if(SEG == 1){ //A1
  12.                         if(Data1[3]&0x01){
  13.                                         P2M2 = 0x98; //PIN3
  14.                                   P2M2 = 0X89; //PIN2                                       
  15.                                         P2 = 0xf4;//PIN2LOW
  16.                         }
  17.         }
  18.         if(SEG == 2){ //B1
  19.                         if(Data1[3]&0x02){
  20.                                         P2M1 = 0x89; //PIN4
  21.                                         P2M2 = 0x89; //PIN2
  22.                                         P2 = 0xf4;//PIN2LOW
  23.                         }
  24.         }
  25.   if(SEG == 3){ //C1
  26.                         if(Data1[3]&0x04){
  27.                                         P2M2 = 0x89; //PIN2
  28.                                         P2M1 = 0x98; //PIN5
  29.                                         P2 = 0xBC;//PIN5LOW
  30.                         }
  31.         }       
  32.         if(SEG == 4){ //D1
  33.                         if(Data1[3]&0x08){
  34.                                         P2M2 = 0x89;//PIN2
  35.                                         P2M0 = 0x83; //PIN6
  36.                                         P2 = 0xF4;//PIN2LOW
  37.                         }
  38.         }       
  39.         if(SEG == 5){ //E1
  40.                         if(Data1[3]&0x10){
  41.                                         P2M2 = 0x89;//PIN2
  42.                                         P2M1 = 0x98; //PIN5
  43.                                         P2 = 0xF4;//PIN2LOW
  44.                         }
  45.         }       
  46.         if(SEG == 6){ //F1
  47.                         if(Data1[3]&0x20){
  48.                                         P2M2 = 0x89;//PIN2
  49.                                         P2M2 = 0x98; //PIN3
  50.                                         P2 = 0xEC;//PIN3LOW
  51.                         }
  52.         }       
  53.         if(SEG == 7){ //G1
  54.                         if(Data1[3]&0x40){
  55.                                         P2M2 = 0x89;//PIN2
  56.                                         P2M1 = 0x89; //PIN4
  57.                                         P2 = 0xDC;//PIN4LOW
  58.                         }
  59.                
  60.         }       
  61.          if(SEG == 8){ //DP1
  62.                         if(Data1[3]&0x80){
  63.                                         P2M3 = 0x98;//PIN1 P02
  64.                                         P2M2 = 0x89;//PIN2
  65.                                
  66.                                         P2 = 0xF4;//PIN2LOW
  67.                         }
  68.                        
  69.         }       
  70.         if(SEG == 9){ //A2
  71.                         if(Data1[4]&0x01){
  72.                                         P2M1 = 0x88;//PIN4
  73.                                        
  74.                                         P2 = 0xBC;//PIN5LOW
  75.                         }
  76.         }       
  77.         if(SEG == 10){ //B2
  78.                         if(Data1[4]&0x02){
  79.                                         P2M1 = 0x98;//PIN5
  80.                                         P2M2 = 0x98; //PIN3
  81.                                         P2 = 0xEC;//PIN3LOW
  82.                         }
  83.                
  84.         }       
  85.                         if(SEG == 11){ //C2
  86.                         if(Data1[4]&0x04){
  87.                                         P2M1 = 0x88;//PIN5
  88.                                        
  89.                                         P2 = 0xDC;//PIN4LOW
  90.                         }
  91.         }       
  92.                         if(SEG == 12){ //D2
  93.                         if(Data1[4]&0x08){
  94.                                         P2M1 = 0x89; //PIN4
  95.                                         P2M2 = 0x98; //PIN3
  96.                                         P2 = 0xEC;//PIN3LOW
  97.                         }
  98.         }       
  99.                         if(SEG == 13){ //E2
  100.                         if(Data1[4]&0x10){
  101.                                         P2M2 = 0x98;//PIN3
  102.                                         P2M0 = 0x89; //PIN6
  103.                                         P2 = 0x7C;//PIN6LOW
  104.                         }
  105.                        
  106.         }       
  107.                         if(SEG == 14){ //F2
  108.                         if(Data1[4]&0x20){
  109.                                         P2M1 = 0x89; //PIN4
  110.                                         P2M2 = 0x98; //PIN3
  111.                                         P2 = 0xDC;//PIN4LOW
  112.                         }
  113.         }       
  114.                         if(SEG == 15){ //G2
  115.                         if(Data1[4]&0x40){
  116.                                         P2M2 = 0x98;//PIN3
  117.                                         P2M1 = 0x98; //PIN5
  118.                                         P2 = 0xBC;//PIN5LOW
  119.                         }
  120.         }       
  121.                         if(SEG == 16){ //DP2
  122.                         if(Data1[4]&0x80){
  123.                                         P2M3 = 0x98;//PIN1
  124.                                         P2M2 = 0x98; //PIN3
  125.                                         P2 = 0xEC;//PIN3LOW
  126.                         }
  127.         }       
  128.                         if(SEG == 17){ //A3
  129.                         if(Data1[5]&0x01){
  130.                                         P2M0 = 0x89;//PIN6
  131.                                         P2M3 = 0x98; //PIN1
  132.                                         P2 = 0xF8;//PIN1LOW
  133.                         }
  134.         }       
  135.                         if(SEG == 18){ //B3
  136.                         if(Data1[5]&0x02){
  137.                                         P2M0 = 0x89;//PIN6
  138.                                         P2M2 = 0x98; //PIN3
  139.                                         P2 = 0xEC;//PIN3LOW
  140.                         }
  141.         }       
  142.         if(SEG == 19){ //C3
  143.                         if(Data1[5]&0x04){
  144.                                         P2M0 = 0x89;//PIN6
  145.                                   P2M1 = 0x98; //PIN5
  146.                                         P2 = 0xBC;//PIN5LOW
  147.                         }
  148.         }               
  149.         if(SEG == 20){ //D3
  150.                         if(Data1[5]&0x08){
  151.                                         P2M0 = 0x89;//PIN6
  152.                                         P2M1 = 0x89; //PIN4
  153.                                         P2 = 0x7C;//PIN6LOW
  154.                         }
  155.         }
  156.         if(SEG == 21){ //E3
  157.                         if(Data1[5]&0x10){
  158.                                         P2M0 = 0x89;//PIN6
  159.                                         P2M1 = 0x89; //PIN4
  160.                                         P2 = 0xDC;//PIN4LOW
  161.                         }
  162.         }
  163.         if(SEG == 22){ //F3
  164.                         if(Data1[5]&0x20){
  165.                                   P2M0 = 0x89;//PIN6
  166.                                   P2M1 = 0x98; //PIN5
  167.                                         P2 = 0x7C;//PIN6LOW
  168.                         }
  169.         }
  170.         if(SEG == 23){ //G3
  171.                         if(Data1[5]&0x40){
  172.                                         P2M1 = 0x98;//PIN5
  173.                                         P2M3 = 0x98; //PIN1
  174.                                         P2 = 0xF8;//PIN1LOW
  175.                         }
  176.         }
  177. }
复制代码

这是数码管显示的部分程序,我使用的三位六脚数码管,使用0.2-0.7引脚显示正常,就是2.1-2.6显示有问题,请大师帮忙看看,是不是**作哪里有问题,谢谢啦!!!!

使用特权

评论回复
| 2020-10-16 08:06 | 显示全部楼层
引脚设置不对?

使用特权

评论回复

评论

hefei12 2020-10-16 10:42 回复TA
引脚设置,是按照P0引脚设置的按理说不该有错,就是不知道芯圣003F4这芯片是不是对2.1-2.7这几个复用引脚有什么别的编程方式 
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表