Sample Code for RDC EET214 Lab3

Dependencies:   mbed

Committer:
YuliangHao
Date:
Mon Sep 25 18:46:00 2017 +0000
Revision:
0:0f219dfaaa4a
Child:
1:f780b7362982
Sample Code for RDC EET214 Course Lab3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YuliangHao 0:0f219dfaaa4a 1 #include "mbed.h"
YuliangHao 0:0f219dfaaa4a 2
YuliangHao 0:0f219dfaaa4a 3 DigitalOut furnace(LED4); //use LeD4 to simualte furnace
YuliangHao 0:0f219dfaaa4a 4 AnalogIn room_T(p20); //Use pin 20 to read room temperature
YuliangHao 0:0f219dfaaa4a 5 int iRoom_T = 0; //Room Temperature in integer
YuliangHao 0:0f219dfaaa4a 6 int iRoom_T_One = 0; //Temperature at one digit
YuliangHao 0:0f219dfaaa4a 7 int iRoom_T_Ten = 0; //Temperature at ten digit
YuliangHao 0:0f219dfaaa4a 8
YuliangHao 0:0f219dfaaa4a 9 int display10( int iRoom_T_Ten); //Function to display ten digits
YuliangHao 0:0f219dfaaa4a 10 int display1( int iRoom_T_One); //Function to display one digits
YuliangHao 0:0f219dfaaa4a 11
YuliangHao 0:0f219dfaaa4a 12 BusOut displayA(p5, p6, p7, p8, p9, p10, p11, p12);
YuliangHao 0:0f219dfaaa4a 13 BusOut displayB(p21,p22,p23,p24,p25,p26,p27,p28);
YuliangHao 0:0f219dfaaa4a 14
YuliangHao 0:0f219dfaaa4a 15 int main() {
YuliangHao 0:0f219dfaaa4a 16 while(1) {
YuliangHao 0:0f219dfaaa4a 17
YuliangHao 0:0f219dfaaa4a 18 //Read sensor and convert the value into integer
YuliangHao 0:0f219dfaaa4a 19 iRoom_T = (int)(( room_T * 3.3 ) /0.01 );
YuliangHao 0:0f219dfaaa4a 20
YuliangHao 0:0f219dfaaa4a 21 //Display Room Temperature
YuliangHao 0:0f219dfaaa4a 22 iRoom_T_Ten = iRoom_T / 10; //Get number at ten digits
YuliangHao 0:0f219dfaaa4a 23 iRoom_T_One = iRoom_T % 10; //Get number at one digits
YuliangHao 0:0f219dfaaa4a 24
YuliangHao 0:0f219dfaaa4a 25 display10(iRoom_T_Ten); //Display ten digits
YuliangHao 0:0f219dfaaa4a 26 display1(iRoom_T_One); //Display one digits
YuliangHao 0:0f219dfaaa4a 27
YuliangHao 0:0f219dfaaa4a 28 //Turn on / off Furnace according to temperature
YuliangHao 0:0f219dfaaa4a 29 if(iRoom_T > 27)
YuliangHao 0:0f219dfaaa4a 30 furnace = 1;
YuliangHao 0:0f219dfaaa4a 31 if(iRoom_T < 25)
YuliangHao 0:0f219dfaaa4a 32 furnace = 0;
YuliangHao 0:0f219dfaaa4a 33
YuliangHao 0:0f219dfaaa4a 34 wait(1); //Wait for 1 second
YuliangHao 0:0f219dfaaa4a 35 }
YuliangHao 0:0f219dfaaa4a 36 }
YuliangHao 0:0f219dfaaa4a 37
YuliangHao 0:0f219dfaaa4a 38 //Display number at ten digits
YuliangHao 0:0f219dfaaa4a 39 int display10( int iRoom_T_Ten)
YuliangHao 0:0f219dfaaa4a 40 {
YuliangHao 0:0f219dfaaa4a 41 switch(iRoom_T_Ten)
YuliangHao 0:0f219dfaaa4a 42 {
YuliangHao 0:0f219dfaaa4a 43 case 0:
YuliangHao 0:0f219dfaaa4a 44 // displayA = 0x3f;
YuliangHao 0:0f219dfaaa4a 45 break;
YuliangHao 0:0f219dfaaa4a 46
YuliangHao 0:0f219dfaaa4a 47 case 1:
YuliangHao 0:0f219dfaaa4a 48 // displayA = 0x3f;
YuliangHao 0:0f219dfaaa4a 49 break;
YuliangHao 0:0f219dfaaa4a 50
YuliangHao 0:0f219dfaaa4a 51
YuliangHao 0:0f219dfaaa4a 52
YuliangHao 0:0f219dfaaa4a 53 default:
YuliangHao 0:0f219dfaaa4a 54 // displayA = 0x00;
YuliangHao 0:0f219dfaaa4a 55 break;
YuliangHao 0:0f219dfaaa4a 56 }
YuliangHao 0:0f219dfaaa4a 57
YuliangHao 0:0f219dfaaa4a 58 return 1;
YuliangHao 0:0f219dfaaa4a 59 }
YuliangHao 0:0f219dfaaa4a 60
YuliangHao 0:0f219dfaaa4a 61 //Display number at one digits
YuliangHao 0:0f219dfaaa4a 62 int display1( int iRoom_T_One)
YuliangHao 0:0f219dfaaa4a 63 {
YuliangHao 0:0f219dfaaa4a 64 switch(iRoom_T_One)
YuliangHao 0:0f219dfaaa4a 65 {
YuliangHao 0:0f219dfaaa4a 66 case 0:
YuliangHao 0:0f219dfaaa4a 67 // displayB = 0x3f;
YuliangHao 0:0f219dfaaa4a 68 break;
YuliangHao 0:0f219dfaaa4a 69
YuliangHao 0:0f219dfaaa4a 70 case 1:
YuliangHao 0:0f219dfaaa4a 71 // displayB = 0x3f;
YuliangHao 0:0f219dfaaa4a 72 break;
YuliangHao 0:0f219dfaaa4a 73
YuliangHao 0:0f219dfaaa4a 74
YuliangHao 0:0f219dfaaa4a 75
YuliangHao 0:0f219dfaaa4a 76 default:
YuliangHao 0:0f219dfaaa4a 77 // displayB = 0x00;
YuliangHao 0:0f219dfaaa4a 78 break;
YuliangHao 0:0f219dfaaa4a 79 }
YuliangHao 0:0f219dfaaa4a 80
YuliangHao 0:0f219dfaaa4a 81 return 1;
YuliangHao 0:0f219dfaaa4a 82 }