最近剛把 DYS388 項(xiàng)目了結(jié),期間寫了不少程序,寫著寫著想到了一下東西,于是總結(jié)了一下。一、什么是占用式程序一個(gè)進(jìn)程在一個(gè)時(shí)刻只能處理一個(gè)任務(wù)。每個(gè)任務(wù)是為了完成一
將c8051f320單片機(jī)內(nèi)的flash程序區(qū)內(nèi)的數(shù)據(jù)塊:通過usb接口上傳到pc端。通過pc端的應(yīng)用接收軟件,將數(shù)據(jù)塊存成hex數(shù)據(jù)文件。并存放到pc的硬盤中。一次最大的數(shù)據(jù)塊存儲(chǔ)量;是4kb.具體的例程演示和
注釋: (1)TempStoragel是AD中斷服務(wù)程序存放AD采到數(shù)據(jù)(512字節(jié))的變量?! ?2)voidPage_Erase(BYTE*Page—Address)small//flash擦函數(shù)模塊;在主程序main中為“page_erase(2000h)”,在LED
(1)AD數(shù)據(jù)采集程序說明 1)過程簡單說明 使用C8051F32X片內(nèi)10位AD進(jìn)行256個(gè)數(shù)據(jù)(每個(gè)數(shù)據(jù)為10位,占2個(gè)字節(jié))512字節(jié)的數(shù)據(jù)采集?! 〔捎肨IME2定時(shí)溢出觸發(fā)啟動(dòng)AD轉(zhuǎn)換方式?! ≡贏D數(shù)
一般教科書上提供的UART收發(fā)的程序往往是一段采用輪循(Polling)方式完成收發(fā)的簡單代碼。但對于高速的AVR來講,采用這種方式大大降低了 MUC的效率。在使用AVR時(shí),應(yīng)根據(jù)芯片本身的特點(diǎn)(片內(nèi)大容量數(shù)據(jù)存
現(xiàn)在大部分的儀器設(shè)備都要求能過通過上位機(jī)軟件來操作,這樣方便調(diào)試,利于操作。其中就涉及到通信的過程。在實(shí)際制作的幾個(gè)設(shè)備中,筆者總結(jié)出了通信程序的通用寫法,包括上位機(jī)端和下位機(jī)端等 1.
看到網(wǎng)上有一些STC單片機(jī)免斷電下載程序的例子。但是都是要用串口中斷來完成。以下是一個(gè)程序片斷 拿來說明 在調(diào)試程序中加入串口初始化代碼,串口中斷代碼即可實(shí)現(xiàn)不斷電下載程序 TMOD|=0x20; S
//******************************************************************//@FileName: UART51.C//@Controller AT89S52//@Compiler Keil//@Hardware: 一個(gè)普通的I/O,一個(gè)定時(shí)器T0;和TXD//Descripti
#define __JUZHENJIANPAN_H extern u8 KeysCAN(void); extern void GPIO_Config(void); #endif #include "stm32f10x.h" #include"juzhenjianpan.h" #include"gpiobitmap.h" #define PC0 PCo_0
/*--------------------------------- 延時(shí)模塊函數(shù) 說明:只需在工程中加入delay.c和delay.h 文件,即可用 Delayms(__IO uint32_t nTime); Delayus(__IO uint32_t nTime) --------------------
#ifndef __AT24C02_H__ #define __AT24C02_H__ #include"stm32f10x.h" void iICinit(void); void iicwrite(u8 add,u8 Achar); u8 iicread(u8 add); #endif #include"stm32f10x.h" #include"a
標(biāo) 注:用到了 PD_0—7,給PO口(單片機(jī)板液晶數(shù)據(jù)口),PA0_2; 已在函數(shù)中將他們以寄存器形式配置,注踏出再次配置PD時(shí) 不應(yīng)在配置這些口; 在主函數(shù)中需將PD,PA使能。 頭函數(shù):#include"1602.h" 函
/*該程序用于使CCP1模塊產(chǎn)生分辨率為10位的PWM波形,占空比為50%*/ #include "p18f458.h" /*CCP1模塊的PWM工作方式初始化子程序*/ void CCP1INIT() { CCPR1L=0X7F; CCP1CON=0X3C; /*設(shè)置CCP1模
// // 文 件 名: download.c // // 目標(biāo)對象: AT89S52 // // 編 譯 器: ISP // // 功能描述: 下料部單獨(dú)控制程序 // // 修改版本: 0.0 // // //*****************************************************
任務(wù):1、橫排流水2、豎排流水3、斜排流水1、橫排流水 源程序:/*******************************************************************************作者:劉海濤版本:第一次描敘:流水燈 順序P0、P1
在原理圖上我們看到蜂鳴器是接到了P07口上,短接好接口。 #include "config.h" #define BEEP 1 << 7 // P0.7控制蜂鳴器,低電平蜂鳴 包含一個(gè)config.h的頭文件,里面主要
任務(wù):1、在電路板上實(shí)現(xiàn)跑馬燈,一次1匹2、在電路板上實(shí)現(xiàn)跑馬燈,一次2匹3、在電路板上實(shí)現(xiàn)4個(gè)二極管的同時(shí)閃爍源程序1:/***********************************信息********************************
kinetis有多達(dá)6個(gè)UART串口,可支持MODEM、紅外、ISO7816等操作模式。UART寄存器有很多,但基本應(yīng)用只關(guān)注其中的幾個(gè)就夠了。下面介紹常用寄存器: UARTx_BDH:UARTx_BDL- 低13位是波特率發(fā)生器,U
下面是一個(gè)stc89c52單片機(jī)下的矩陣鍵盤程序,P0口接鍵盤,顯示在P2口. #include#define uchar unsigned char#define uint unsigned intsbit key1=P3^2;sbit key2=P3^3;uchar code tab[]={0x3f,0x06,
功能:STC12C2052AD AD轉(zhuǎn)換C程序 +PWM輸出功能 成功使用。 應(yīng)用:AD檢測電壓進(jìn)行過欠壓保護(hù)(繼電器控制)+PWM把直流電壓斬波成脈動(dòng)直流。 板子功能:給手機(jī)電池充電。 降壓用的LM317,小電流應(yīng)用