المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : اختكم في ورطة ايها المهندسين********


mrtah full
16-11-2008, 03:52 AM
السلام عليكم انا طالبة هندسة كمبيوتر من سلطنة عمان واطلب من لدية الخبره ان يمد لي المساعدة في مشروع التخرج وهو عباره عن Dot Matrix
يتم توصيل الدائرة ب parallel port

ومن خلال Keyboard نضغط ع اي حرف like A or B يظهر لنا في الشاشة LED matrix

والمطلوب البرنامج المناسب في c++



ارجو المساعدة العاجلة

Pleas

الجوكر
16-11-2008, 09:06 AM
وعليكم السلام ورحمة الله


شكله صعب شوي

بس أن شاء الله سوف احاول ان ابحث عن الحال



الجوكر

The Yemeni Boy
16-11-2008, 08:30 PM
وعليكم السلام ورحمة الله


شكله صعب شوي

بس أن شاء الله سوف احاول ان ابحث عن الحال



الجوكر

الحل

بالتوفيق للجميع


:smile:

mrtah full
17-11-2008, 10:23 AM
الله يخليكم أخواني بس بسرعه لو سمحتو لان موعد التسليم قررررررب واجد
واذا عندكم اي شي ممكن تساعدونا فيه


Thanks

الشاب المعــزبي
18-11-2008, 03:30 AM
نحن لا نحل اي واجبات وانما نساعد اذا معك مشكلة...

...هاتي اللي عندك واحنا نكمل...

mrtah full
18-11-2008, 05:27 AM
انا طلبت مساعدة وفي فرق مابين المساعدة وانك تسوي الشئ كامل
والعموم انا قلت الي يقدر والي يريد واذا ماتريد تساعدنا ترا والله ماغصب
الله يساااااامحك

The Yemeni Boy
18-11-2008, 09:10 AM
لو كانت مشكلتك في مواقع أو قواعد بيانات كان حليتها لكي بسرعه :biggrin:


أعتقد بأن led matrix إلي هيا جريده إلكترونيه

طيب

بخصوص البرامج أعتقد أنا فيجوال بسك أو Microsoft Visual C++


لأنها من أفضل برامج السي

وبالتوفيق

:smile:

الشاب المعــزبي
18-11-2008, 05:04 PM
انا طلبت مساعدة وفي فرق مابين المساعدة وانك تسوي الشئ كامل
والعموم انا قلت الي يقدر والي يريد واذا ماتريد تساعدنا ترا والله ماغصب
الله يساااااامحك

هذا اللي افتهملي من الموضوع

تشتي المشروع كاامل..

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <stddef.h>
#include <math.h>
#include <time.h>
#include <stdexcept>


using namespace std;

void printBin(int n) {
for (int i=7; i>=0; i--) {
int bit = ((n >> i) & 1);
cout << bit;
}
cout << endl;
}

void error(string s) {
cout << s << endl;
exit(0);
}

int* load(const char* file, size_t& n) {

ifstream in(file);

if (in) {

unsigned char dummy;
unsigned char w, h;

in >> dummy;
if (dummy != 0) error("width must be 8");
in >> dummy;
if (dummy != 0) error("height to big (max 255)");
in >> w;
in >> h;

n = h;

if (w != 8) error("width must be 8");
string text = "height modulo 5 must be 0 but height is " + n;
if (n % 5 != 0) error(text);

int* bits = new int[n];

for (int i = 0; i < n; i++) {
unsigned char x;
in >> x;
// printBin(x);
x = ~x;
x <<= 2;

bits[i] = x;
}

in.close();

return bits;

} else {
error("file not found!");
return NULL;
}
}

int mySleep(const int loop) {
int x;
for (int i = 0; i < loop; i++) {
x++;
}
return x;
}

int bestLoopCount(const int numberOfTests, const int loop) {
time_t from = time(NULL);
while (from == time(NULL));

double count = numberOfTests;
for (int i = 0; i < count; i++) mySleep(loop);

time_t to = time(NULL);
int rest = 0;
while (to == time(NULL)) {
mySleep(loop);
rest+= loop;
}

count += (rest + loop / 2) / loop;
time_t secs = to - from;

cout << from << endl;
cout << to << endl;
cout << rest << endl;
cout << count << " in " << secs << " secs => " << (count / secs) << " per second" << endl;

double best = loop / 400 * (count / secs);

cout << "best: " << best << endl;
return (int) best;
}

int main(int argc, char *argv[])
{
typedef UINT (CALLBACK* LPFNDLLFUNC1)(INT,INT);
typedef UINT (CALLBACK* LPFNDLLFUNC2)(INT);
HINSTANCE hDLL; // Handle to DLL
LPFNDLLFUNC1 Output; // Function pointer
LPFNDLLFUNC2 Input; // Function pointer

hDLL = LoadLibrary("inpout32.dll");

if (hDLL != NULL)
{
Output = (LPFNDLLFUNC1)GetProcAddress(hDLL,"Out32");
Input = (LPFNDLLFUNC2)GetProcAddress(hDLL,"Inp32");
if (!Output || !Input)
{
// handle the error FreeLibrary(hDLL);
}
}

INT Addr = 0xC800; // LTP1: 0x378
INT AddrIn = Addr + 1;
INT ctrl = AddrIn + 1;

Output(ctrl, 0x00);
Output(Addr, 2);
Sleep(2);
Output(Addr, 1);
Sleep(2);

size_t n = 0;
const char* file = "hallo.wbmp";
const int* bits = load(file, n);

for (int i = 0; i < n; i++) {
printBin(bits[i]);
}

int loop = (int) bestLoopCount(1000, 100000);

string dummy;
cin >> dummy; // so that you can prepare yourself...

int const SLEEP = 1;
int row = 0;

static const int scrolling = 999;
static const int fix = 998;

int modus = scrolling;
// int modus = fix;

for (int j = 1; j < (5000); j++) {

if (modus == scrolling) {
if (j % 10 == 0) row++;
} else {
if (j % 50 == 0) row+=5;
}

Output(Addr, 0);
mySleep(loop);
Output(Addr, 2 + 1);
mySleep(loop);

for (int z = 0; z < 5; z++) {
const int bin = bits[(row + z) % n];
// printBin(bin);
Output(Addr, bin + 2);
mySleep(loop);
Output(Addr, bin + 1 + 2);
mySleep(loop);
}
}

Output(Addr, 0);
Output(ctrl, 0x0f);

}
http://www.merkisoft.ch/projects/matrix-display/main.cpp

mrtah full
19-11-2008, 03:11 AM
تسلم أخوي الشاب المعزبي
والسموحه ع كلام امس بس والله الحاله كسيفه والوقت مافي صالحنا
ع العموم أعتذر مره ثانية
بس سوال نحن ابتدينا في البرنامج وكان في Command
input parallel port
outout parallel port

لكل حرف من A
الى Z
that means how we can control the parallel pory pins
وماحصلتهم في البرنامج إلي عندك ليش ??????

الجوكر
19-11-2008, 03:38 AM
أعذرني اختي لم اجد الحل

لانه هذا التخصص لم أمر عليه من قبل

الجوكر

mrtah full
19-11-2008, 04:34 AM
الله يخليك ان نشاء الله
واسفين اذا تعبناكم معانا
ومشكوووووور مره ثانية