打印
[菜农助学交流]

助学板“数码管显示实验”

[复制链接]
3258|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 strang 于 2011-8-19 00:31 编辑

/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2009 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/
#include <stdio.h>
#include "NUC1xx.h"
#include "Driver\DrvGPIO.h"
#include "Driver\DrvSYS.h"

unsigned char Table[18]=
{
        0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0xff
};
/*
*********************************************************************************************************
** 函数名称 :
** 函数功能 :
** 调试说明 :
*********************************************************************************************************
*/

unsigned char disp(unsigned int data,unsigned char weixuan)
{
        GPIOA->DOUT|=(0xff<<0);
        GPIOA->DOUT&= ~(Table[data]<<0);
        switch(weixuan)
        {
                case 1:
                                GPIOA->DOUT&=~(1<<9);
                                GPIOA->DOUT|=(1<<8);
                                break;
                case 2:
                                GPIOA->DOUT&=~(1<<8);
                                GPIOA->DOUT|=(1<<9);
                                break;
                                default:break;
        }
}
unsigned char dispsiwei(unsigned char qian,unsigned char bai)
{
        unsigned int i;
        for(i=0;i<=7500;i++)
        {
        }
        disp(qian,1);
        for(i=0;i<=7500;i++)
        {
        }
        disp(bai,2);
        for(i=0;i<=7500;i++)
        {
        }
}
/*************************************************************************************
** Function name:      
** Descriptions:        
**                     
** input parameters:   
** output parameters:   
** Returned value:      
*************************************************************************************/
int main (void)
{        
        unsigned int i;
        unsigned int j;
        /* SYSCLK =>12Mhz*/          //外部晶振使能
        UNLOCKREG();
        SYSCLK->PWRCON.XTL12M_EN = 1;
        LOCKREG();
        GPIOA->PMD.PMD0=1;
        GPIOA->PMD.PMD1=1;
        GPIOA->PMD.PMD2=1;
        GPIOA->PMD.PMD3=1;
        GPIOA->PMD.PMD4=1;
        GPIOA->PMD.PMD5=1;
        GPIOA->PMD.PMD6=1;
        GPIOA->PMD.PMD7=1;
        GPIOA->PMD.PMD8=1;
        GPIOA->PMD.PMD9=1;
        while (1)
        {
                for(j=0;j<=17;j++)
                {
                        for(i=0;i<=100;i++)
                        {
                                 dispsiwei(j,j);
                        }
                }        
        }
    return 0;
}
/*

作者:21IC_strang

2011-08-15

实现功能:0~9,A~F 循环,数码管显示

接线方式:        主板        显示板        
                        PA.0----La
                        PA.1----Lb
                        PA.2----Lc
                        PA.3----Ld
                        PA.4----Le
                        PA.5----Lf
                        PA.6----Lg
                        PA.7----Ldp
                        PA.8----S1
                        PA.9----S2
                        VDD        ----VCC
                        
*/

Protel Schematic.pdf (59.63 KB)    显示板原理图
   显示板照片
cortex-m0两位数码管.rar (536.75 KB)    数码管显示程序

收到板子,了解硬件结构,看了好几天数据手册,寄存器和库文件,终于能下手了,本人白天上班,只有晚上才有时间学习,所以进度比较慢。由于助学板只能通过串口助手看数据,为了方便,就外接了两位数码管(显示板是原来做项目用的),本人初学,如有错误和不当之处,请多多指教,谢谢!

相关帖子

沙发
plc_avr| | 2011-8-19 05:52 | 只看该作者
不错,顶一下!问一下楼上的,另一块板子上面的漏电保护是如何实现的专用芯片还是直接用运放?零序互感器有现成的厂家吗?

使用特权

评论回复
板凳
Swallow_0322| | 2011-8-19 09:10 | 只看该作者
先顶楼主!
烈火为什么那么关心漏电啊?

使用特权

评论回复
地板
plc_avr| | 2011-8-19 11:01 | 只看该作者
三心:因为我的一个新项目上面用到了漏电保护,样品已经搞出来了,零序互感器是从插座上面拆下来的,要找个厂家批量,哈哈。

使用特权

评论回复
5
strang|  楼主 | 2011-8-19 21:05 | 只看该作者
4# plc_avr

当时就是用互感器做的,直接向单片机输入一个模拟量,测量它的电压,从而可以实现漏电保护,由于那个项目当初是在网上兼职做的,他的互感器是这家公司的.http://www.sthg.cn/

使用特权

评论回复
6
plc_avr| | 2011-8-20 06:09 | 只看该作者
谢谢,我看了你给的网站,那个体积太大了,用不上,呵呵。

使用特权

评论回复
7
Swallow_0322| | 2011-8-20 07:47 | 只看该作者
烈火:你需要什么样的互感器啊,我公司从家用漏电保护器到800A的漏电保护器均有,但是互感器从哪里采购的俺还不晓得,抽空帮你问下!

使用特权

评论回复
8
plc_avr| | 2011-8-20 09:33 | 只看该作者
我现在在做一个含有漏电保护的控制器,小功率电机上面用的,一般最大才2KW,漏电流15ma左右保护,啥时拍个图片上来,这个互感器很小的。谢谢三心。

使用特权

评论回复
9
Swallow_0322| | 2011-8-20 17:06 | 只看该作者
烈火:我们的互感器是从浙江乐清那边采购的,今天采购没见,具体什么地方不清楚,如果需要的话采购来了给你问问!

使用特权

评论回复
10
plc_avr| | 2011-8-21 06:59 | 只看该作者
烈火:我们的互感器是从浙江乐清那边采购的,今天采购没见,具体什么地方不清楚,如果需要的话采购来了给你问问!
Swallow_0322 发表于 2011-8-20 17:06

好的,帮我问下吧,谢谢三心。

使用特权

评论回复
11
Swallow_0322| | 2011-8-21 10:44 | 只看该作者
烈火:我们的电流互感器一般从乐清市存余磁环线圈厂采购!

使用特权

评论回复
12
plc_avr| | 2011-8-21 15:18 | 只看该作者
收到,谢谢三心。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:技术工程师
简介:

48

主题

3141

帖子

9

粉丝