单片机课程设计 - 图文 下载本文

南华大学电气工程学院课程设计(论文)

谢辞

首先要感谢汪普林老师,虽然汪普林老师,工作繁忙,教学任务重,但在我们做课程设计时每个阶段,从查阅到设计草案的确定和修改,中期检查,后期详细设计,实物制作等过程都给了我们悉心的知道。

其次要感谢大学三年来所有的授课老师,为我们打下电子专业知识的基础;同时要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次课程设计才会顺利的完成。

通过这次的课程设计我学到了很多课堂上没有的东西,也让我理解了学以致用的道理,希望在以后的学习中能够不断完善自己的知识。

第26页,共69页

南华大学电气工程学院课程设计(论文)

附录Ⅰ 程序

主机程序

//Task.c

#include \#include \volatile uint32_t timeout;

uint8_t flag_gettemp=1;

void SysTick_Configure(void) {

IntMasterEnable();

SysTickPeriodSet(SysCtlClockGet()/1000);

SysTickIntEnable(); SysTickEnable(); }

void SysTick_Handler(void) {

if(timeout !=1000) {

timeout++; } else {

timeout=0; } }

void Task(void) {

if(timeoutP==0) { } }

//Task.h

#ifndef _SYSTICK_H_ #define _SYSTICK_H_ #include

第27页,共69页

南华大学电气工程学院课程设计(论文)

#include

#include\#include\#include\#include\#include\#include\#include\#include\#include\#include\#include \#include \

extern uint8_t flag_gettemp;

void Task(void);

void SysTick_Configure(void); #endif //lcd1602.c

#include \

void Lcd1602_GPIO_Config(void) {

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

GPIOPinTypeGPIOOutputOD(GPIO_PORTB_BASE,DATA_PIN); GPIOPinWrite(GPIO_PORTB_BASE,DATA_PIN,DATA_PIN);

GPIOPinTypeGPIOOutputOD(GPIO_PORTC_BASE,LCD_CMD_PIN); GPIOPinWrite(GPIO_PORTC_BASE,LCD_CMD_PIN,LCD_CMD_PIN); }

void LCD1602_DATA_Mode_IN(void) {

GPIOPinTypeGPIOInput(GPIO_PORTB_BASE,DATA_PIN); }

void LCD1602_DATA_Mode_OUT(void) {

第28页,共69页

南华大学电气工程学院课程设计(论文)

GPIOPinTypeGPIOOutputOD(GPIO_PORTB_BASE,DATA_PIN); }

void LcdWaitReady(void) {

uint8_t sta;

LCD1602_DATA_Mode_OUT();

LCD_DATA_OUT(0xFF); LCD_RS_L; LCD_RW_H;

LCD1602_DATA_Mode_IN(); do{

LCD_EN_H;

sta=LCD_DATA_IN; LCD_EN_L; }while(sta & 0x80);

LCD1602_DATA_Mode_OUT(); }

void LcdWriteCmd(uint8_t cmd) {

LcdWaitReady(); LCD_RS_L; LCD_RW_L;

LCD_DATA_OUT(cmd); LCD_EN_H; LCD_EN_L; }

void LcdWriteDat(uint8_t dat) {

LcdWaitReady(); LCD_RS_H; LCD_RW_L;

LCD_DATA_OUT(dat); LCD_EN_H; LCD_EN_L; }

void LcdSetCursor(uint8_t x,uint8_t y) {

uint8_t addr; if(y==0)

addr=0x00+x; else

第29页,共69页