南华大学电气工程学院课程设计(论文)
谢辞
首先要感谢汪普林老师,虽然汪普林老师,工作繁忙,教学任务重,但在我们做课程设计时每个阶段,从查阅到设计草案的确定和修改,中期检查,后期详细设计,实物制作等过程都给了我们悉心的知道。
其次要感谢大学三年来所有的授课老师,为我们打下电子专业知识的基础;同时要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次课程设计才会顺利的完成。
通过这次的课程设计我学到了很多课堂上没有的东西,也让我理解了学以致用的道理,希望在以后的学习中能够不断完善自己的知识。
第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页