久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC12C5410AD的學(xué)習(xí)筆記

[復(fù)制鏈接]
ID:262 發(fā)表于 2014-6-10 03:44 | 顯示全部樓層 |閱讀模式
最近開始學(xué)習(xí)STC12C5410AD單片機。首先,這仍是一個51架構(gòu)的單片機,目前來看,普通功能在編程時,可以直接套用“reg51.h”這類的頭文件。但筆者之所以要學(xué)習(xí)這個單片機,最主要的原因就是它集成了AD轉(zhuǎn)換功能。如果是這樣的話,一些特殊的寄存器在“reg51.h”的頭文件中應(yīng)該是沒有聲明的,所以單純套用“reg51.h”的頭文件似乎就行不通了。所以還是要建立一個新的頭文件。
較新版的STC的程序下載軟件可以生成12C5410AD的頭文件。筆者的版本是“STC-ISPV6.57”。
頭文件的生成方法:
頭文件的生成方法
往keil4添加STC數(shù)據(jù)庫的方法:
往KEIL4中添加STC數(shù)據(jù)庫的方法

先說說STC12C5410AD的IO口。和89C51相比,這個家伙的IO口專業(yè)了許多。89C51的IO口只有雙向一種模式。這事就好也不好了。對初學(xué)者來說,寄存器這個東西自然是越少越好,而設(shè)置IO口狀態(tài)的話當然也就要通過專門的寄存器來設(shè)定。所以說,89C51的IO口只有一種狀態(tài),對初學(xué)者是好事。但這就限制了一些功能的發(fā)揮。也就不得不提到為什么要區(qū)分IO口是IN還是OUT,抑或別的狀態(tài)。
STC12C5410AD的IO口狀態(tài)有4種,分別是弱上拉(雙向口)、強上拉(輸出時用)、高阻(輸入時用)以及漏極開路(什么時候用合適待考)。筆者首先描述一個實驗現(xiàn)象:給單片機的任意4個IO口(如P1.0~P1.3)分別設(shè)定為以上4種狀態(tài),并寫入1111,再在IO口輸出端分別接上一個LED和一個限流電阻(其實可以不加,但保險起見)。通電后,發(fā)現(xiàn)弱上拉的IO口后級LED有微弱的亮光(IO口電壓實測2.8V),強上拉的IO口后級LED發(fā)光正常(IO口電壓實測5V),其余兩個則不亮。


0022iV1pty6Ep3duYEK8e&690.jpeg
圖1 不同類型IO口測試電路圖


上周到工廠參觀實習(xí),每天早出晚歸,基本沒更新,終于到周末啦。
說說程序的燒寫吧。由于stc12c5410AD內(nèi)部有大約5M的時鐘,所以不用外接晶振也可以燒寫。但其內(nèi)部時鐘穩(wěn)定性不好,如果要實現(xiàn)多機通信等功能,最好好是用晶振。其他的和89c51的燒寫電路和方法是完全一致的。
上文說過IO口分四種狀態(tài),這就要使用P*M0和P*M1(*代表0,、1、2、3四個寄存器,但這個芯片沒有P0口的輸出引腳,所以實際不會用到P0M0和P0M1)這些寄存器了。具體使用方法可以參照stc官網(wǎng)上的芯片手冊或數(shù)據(jù)表。這里,筆者只列出一個更明了的表格:

表1 P1M0和P1M1寄存器設(shè)定舉例










P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0
MO11111100
M111111010


這里P1.0口設(shè)定為弱上拉,P1.1設(shè)定為強上拉(輸出),P1.2設(shè)定為高阻(輸入),P1.3到P1.7都是集電極開路狀態(tài)。
其實看的就是M0M1的狀態(tài):
00代表弱上拉,01代表強上拉,10代表高阻,11代表集電極開路。相應(yīng)的C程序為:
P1M0 = 0xfc;
P1M1 = 0xfa;

接下來說說關(guān)于stc12c5410ad的定時器的使用。其實和51單片機是一模一樣的,只是應(yīng)為內(nèi)部的時鐘是5M到6M的振蕩器,所以在計算定時器初值的時候需要注意一下。這里先貼一段測試通過的代碼,然后在說說怎么計算:
#include

sbit T1Rdrive=P2^6;
sbit T2Wdrive=P2^7;
unsigned int k=0;  //定時器累加標志
unsigned int l=0;  //定時器累加標志

void delay();   //1s
void delayless();  //1ms

void delay()
{
    int i, j;

    for (i=0; i<1000;i++)
    for (j=0; j<500;j++);
}
void delayless()
{  int j;
      for(j=0; j<500; j++);
}
void main()
{
P2M0=0X3f; //定義P2.6,P2.7為強上拉輸出口
P2M1=0Xff;
T1Rdrive=0;

TMOD=0x00; //使用定時器0,模式0(13位計數(shù)器)
AUXR=0x00;
TL0=0X18;
TH0=0X62;
EA=1; //開啟中斷控制
ET0=1; //定時器0的中斷申請允許位
TR0=1; //開啟計數(shù)器

while(1)
{
T2Wdrive=~T2Wdrive;
delay();

}
}
void t0int() interrupt 1
{
TL0=0X18;
TH0=0X62;
if(++k==100)
{T1Rdrive=~T1Rdrive;
  k=0;}
}


待續(xù)--

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久久久久久久久 | 风间由美一区二区三区在线观看 | 久久久久国产视频 | 日韩一区二区在线视频 | 国产成在线观看免费视频 | 亚洲国产成人精品女人久久久 | 一区二区三区亚洲 | 欧美精品一区二区三区在线播放 | 精品少妇一区二区三区日产乱码 | 欧美激情视频一区二区三区免费 | 免费精品视频一区 | 久久夜视频 | 久久福利 | 日本一区二区高清不卡 | 伊人网91 | 久久久久久亚洲 | 日本特黄a级高清免费大片 国产精品久久性 | 亚洲日韩中文字幕一区 | 免费看大片bbbb欧美 | 男女羞羞视频在线免费观看 | 国产精品日韩高清伦字幕搜索 | 国产精品久久久久久久久久久久久久 | 久久99深爱久久99精品 | 久久久久亚洲精品 | 精品乱码一区二区 | av黄色在线 | 国产99在线 | 欧美 | 欧洲一区二区三区 | 91精品久久久久久久 | 精品婷婷| 婷婷免费视频 | 成人欧美日韩一区二区三区 | 黄色一级大片在线免费看产 | 久久精品网 | 欧美在线免费 | 国产女人叫床高潮大片免费 | 久久精品久久精品久久精品 | 午夜精品久久久久久久99黑人 | 久久亚洲精品视频 | 四虎网站在线观看 | 欧美成人高清 |