?? main.c
字號:
/****************************************Copyright (c)**************************************************
** ADEmbed Development Co.,LTD.
** http://www.adembed.com
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2008-12-13
** Last Version: 1.0
** Descriptions: StopWatch.
**
**------------------------------------------------------------------------------------------------------
** Created by: junbolu
** Created date: 2008-12-13
** Version: 1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
**ICC-AVR application builder : 2008-12-13
**Target : M16
**Crystal: 7.3728Mhz
**PA0~PA7口接LED的段碼
**PB0~PB3口接LED的位選
**描述:這是一個LED數碼管測試程序。采用共陰LED數碼管,動態顯示固定數字2009。
** 沒有一點多余的代碼,清晰明了。
**
**涉及知識點:
** DO輸出
** for 循環的應用
** 數組的簡單應用
*******************************************************************************************************/
#include<iom16v.h>
#include<macros.h>
unsigned char DISP_NUM; //顯示的位數
unsigned char BitTab[]={0xFE,0xFD,0xFB,0xF7}; //三位位選碼
unsigned char DispTab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //LED字形碼
unsigned char DISP_DATA[4]={2,0,0,9}; //顯示的數字
void Display(void);
void Delay_us(unsigned int time)
{
while(time--);
}
void Delay_ms(unsigned int time)
{
while(time--)
{
Delay_us(10000);
}
}
//顯示函數,DISP_NUM決定顯示哪個LED
void Display(void)
{
PORTA=0x00; //清除顯示再位選
PORTB=BitTab[DISP_NUM]; //PB口接位選
PORTA=DispTab[DISP_DATA[DISP_NUM]]; //PA口接LED的段碼
DISP_NUM++; //先顯示低位,再顯示高位
if(DISP_NUM==4)
DISP_NUM=0;
}
void main(void)
{
DDRA=0XFF;
PORTA=0X00;
DDRB=0X0F;
PORTB=0X00;
DISP_NUM=0;
for(;;)
{
Delay_us(200);
Display();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -