很多朋友在使用單片機(jī)串口的時(shí)候存在著一定的問題,我根據(jù)自己的經(jīng)驗(yàn),給大家總結(jié)如下:串口調(diào)試經(jīng)過調(diào)試,以上功能基本實(shí)現(xiàn),目前可以通過上位機(jī)對(duì)單片機(jī)進(jìn)行實(shí)時(shí)控制。程序如下://這是一個(gè)單片機(jī)C51
/*----------------------------------------------------------------*File Name: stc_AD.c -*Description:A/D轉(zhuǎn)換程序*Project: -*MCU type: STC12C5410AD - -*Company: WY -*Compiler: KEIL C51 -*D
//液晶屏為JM12864或FYD12864(帶字庫(kù)),我用這兩種型號(hào)的屏沒問題, 4行*8列漢字=32 串行通信 接/口P1.5--P1.7,可根據(jù)你的電路修改相應(yīng)的接口。#include #include #define uchar unsigned charvoidL
DAC0832
#include #include sfr P1_ADC_EN = 0x97; //A/D轉(zhuǎn)換功能允許寄存器sfr ADC_CONTR = 0xC5; //A/D轉(zhuǎn)換控制寄存器sfr ADC_DATA = 0xC6; //A/D轉(zhuǎn)換結(jié)果寄存器sfr P1M0=0x91;sfr P1M1=0x92; #define uchar
#include sfr ADC_CONTR=0xC5;/*A/D轉(zhuǎn)換寄存器*/sfr ADC_DATA=0xC6;/*A/D 轉(zhuǎn)換結(jié)果寄存器, 為10 位 A/D 轉(zhuǎn)換結(jié)果的高8 位*/sfr ADC_LOW2=0x0BE;/*A/D 轉(zhuǎn)換結(jié)果寄存器, 低2 位有效, 為10 位 A/D 轉(zhuǎn)換結(jié)果
#include //定義的系統(tǒng)頭文件和全局變量#include #define uchar unsigned char#define uint unsigned int#define DogReset() WDT_CONTR=0x35// T1 定時(shí) 0.1ms.作為系統(tǒng)計(jì)時(shí)用,#definevT01ms2#definevT
stc單片機(jī)具有在應(yīng)用編程,調(diào)試起來(lái)比較方便;帶有10位AD;內(nèi)部eeprom;可在1T/機(jī)器周期下工作,速度是傳統(tǒng)51單片機(jī)的12倍;下面是我寫的AD和EEPROM的驅(qū)動(dòng)C代碼:/*----------------------------------
設(shè)計(jì)思路:用定時(shí)器中斷產(chǎn)生最小時(shí)間單位T0,每m個(gè)T0組成一個(gè)子周期T10,其中前n個(gè)T0為L(zhǎng)ED導(dǎo)通時(shí)間,即Ton=n*T0,則Toff=(m-n)*T0;每X個(gè)T10組成一個(gè)母周期T20,其中前y個(gè)T10為有效控制時(shí)間,后續(xù)的(x-y
引 言 MCS-51單片機(jī)的中斷響應(yīng)延遲時(shí)間,取決于其它中斷服務(wù)程序是否在進(jìn)行,或取決于正在執(zhí)行的是什么樣的指令。單中斷系統(tǒng)中的中斷響應(yīng)時(shí)間為3~8個(gè)機(jī)器周期[1]。無(wú)論是哪一種原因引起的誤差,在精
1 前言單片機(jī)內(nèi)部一般有若干個(gè)定時(shí)器。如8051單片機(jī)內(nèi)部有定時(shí)器0和定時(shí)器1。在定時(shí)器計(jì)數(shù)溢出時(shí),便向CPU發(fā)出中斷請(qǐng)求。當(dāng)CPU正在執(zhí)行某指令或某中斷服務(wù)程序時(shí),它響應(yīng)定時(shí)器溢出中斷往
1.實(shí)驗(yàn)任務(wù) 如圖4.1.1所示:在P1.0端口上接一個(gè)發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時(shí)間間隔為0.2秒。2.電路原理圖 圖4.1.13.系統(tǒng)板
1.實(shí)驗(yàn)任務(wù) 如圖4.2.1所示,監(jiān)視開關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開關(guān)狀態(tài),如果開關(guān)合上,L1亮,開關(guān)打開,L1熄滅。2.電路原理圖 圖4.2.
1.實(shí)驗(yàn)任務(wù) 做單一燈的左移右移,硬件電路如圖4.4.1所示,八個(gè)發(fā)光二極管L1-L8分別接在單片機(jī)的P1.0-P1.7接口上,輸出“0”時(shí),發(fā)光二極管亮,開始時(shí)P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅
1.實(shí)驗(yàn)任務(wù) 用P1.0輸出1KHz和500Hz的音頻信號(hào)驅(qū)動(dòng)揚(yáng)聲器,作報(bào)警信號(hào),要求1KHz信號(hào)響100ms,500Hz信號(hào)響200ms,交替進(jìn)行,P1.7接一開關(guān)進(jìn)行控制,當(dāng)開關(guān)合上響報(bào)警信號(hào),當(dāng)開關(guān)斷開告警信號(hào)停止,編
1.實(shí)驗(yàn)任務(wù) 如圖4.13.1所示,P0端口接動(dòng)態(tài)數(shù)碼管的字形碼筆段,P2端口接動(dòng)態(tài)數(shù)碼管的數(shù)位選擇端,P1.7接一個(gè)開關(guān),當(dāng)開關(guān)接高電平時(shí),顯示“12345”字樣;當(dāng)開關(guān)接低電平時(shí),顯示“HELLO”字樣。2.
1.實(shí)驗(yàn)任務(wù) 用AT89S51單片機(jī)的定時(shí)/計(jì)數(shù)器T0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1,秒計(jì)數(shù)到60時(shí),自動(dòng)從0開始。硬件電路如下圖所示2.電路原理圖圖4.15.13.系統(tǒng)板上硬件
1.實(shí)驗(yàn)任務(wù) 當(dāng)按下開關(guān)SP1,AT89S51單片機(jī)產(chǎn)生“叮咚”聲從P1.0端口輸出到LM386,經(jīng)過放大之后送入喇叭。2.電路原理圖圖4.19.13.系統(tǒng)板上硬件連線(1).把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連
1.實(shí)驗(yàn)任務(wù) 根據(jù)設(shè)定好的密碼,采用二個(gè)按鍵實(shí)現(xiàn)密碼的輸入功能,當(dāng)密碼輸入正確之后,鎖就打開,如果輸入的三次的密碼不正確,就鎖定按鍵3秒鐘,同時(shí)發(fā)現(xiàn)報(bào)警聲,直到?jīng)]有按鍵按下3種后,才打開按
1.實(shí)驗(yàn)任務(wù) 利用AT89S51單片機(jī)的T0、T1的定時(shí)計(jì)數(shù)器功能,來(lái)完成對(duì)輸入的信號(hào)進(jìn)行頻率計(jì)數(shù),計(jì)數(shù)的頻率結(jié)果通過8位動(dòng)態(tài)數(shù)碼管顯示出來(lái)。要求能夠?qū)?-250KHz的信號(hào)頻率進(jìn)行準(zhǔn)確計(jì)數(shù),計(jì)數(shù)誤差不超過