找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2814|回復(fù): 0
收起左側(cè)

some simple c of single chip

[復(fù)制鏈接]
ID:51472 發(fā)表于 2013-7-9 09:00 | 顯示全部樓層 |閱讀模式
#include <reg52.h>        //51單片機(jī)內(nèi)核的庫,里面存放一些地址定義
sbit ADDR0=P1^0;
sbit ADDR1= P1^1;
sbit ADDR2=P1^2;        //此部分需refer相應(yīng)的硬件電路
sbit ADDR3=P1^3;      
sbit ENLED=P1^4;
typedef unsigned char uint8;
uint8 count=0;            //定時(shí)器溢出累加器
void time (void);         //1s定時(shí)函數(shù)原型
int main(void)
{  
uint8 index=0;
uint8 num[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xa7,0xa1,0x86,0x8e};   //定義一個(gè)數(shù)組里面存放數(shù)碼管0~f真值表常量(refer 硬件)
uint8 *pn=num;         //將數(shù)組首地址賦值給指針變量
ADDR3=1;
ENLED=0;                //使能3-8譯碼器(refer 硬件)
ADDR0=1;
ADDR1=0;
ADDR2=1;
while(1)
{
  while(index++<16)   //數(shù)組訪問索引直到數(shù)組末尾即num[15]
  {
    P0=*(pn++);         //指針變量讀取數(shù)組內(nèi)容
    time();                  //調(diào)用一秒定時(shí)函數(shù)
  }
  pn=num;                //指針變量賦初值為了循環(huán)讀取數(shù)組content
  index=0;
}
}
void time (void)      //1S定時(shí)函數(shù)此函數(shù)返回值為空型且不接受參數(shù)
{
TF0=0;
TR0=1;                  //定時(shí)器初始化相關(guān)
TH0=0Xb8;
TL0=0X00;            //20ms初值
TMOD=0X01;
while(count<50)   //20ms 循環(huán)50次 即完成1s定時(shí)   1s=1000ms
  if(TF0)
  {
   TF0=0;
   TH0=0Xb8;      //非中斷溢出需軟件清零并賦初值
   TL0=0X00;
   count++;
  }
count=0;           //count清零為了下次繼續(xù)計(jì)數(shù)}



回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表