Если ваш набор инструментов не включает стандартную библиотеку C или вы хотите выяснить, как сделать это самостоятельно, вот подход, который я бы выбрал:
Объявите буфер с таким количеством символов, которое может отобразить ЖК-дисплей. Запишите вашу фиксированную строку в начало этого буфера. Определите, сколько символов будет ваша переменная (здесь я оставлю некоторую математику, но я думаю, что это разумное упражнение). Используя эту длину и длину фиксированной строки, определите, куда в буфере попадут цифры вашего номера. Используя те же математические конструкции, что и раньше, запишите цифры в это пространство, одну за другой. Существует трюк с языком C (требуется стандартом), который позволяет вам определить символьное значение десятичной цифры по выражению '0' + digit
. Надеюсь, вы видите, как это работает. Наконец, завершите буфер, как ожидает ваша функция lcd_write_string
, и вызовите его в буфере.
Как указали другие респонденты, это, по сути, реализует небольшую часть семейства функций printf
стандартной библиотеки. Я думаю, что стоит выяснить реализацию, даже если вы можете (и должны!) Использовать библиотеку в рабочем коде.
Поскольку это пахнет как домашняя работа, я пока не буду вдаваться в подробности. Если вам нужна помощь по конкретным вопросам, я поищу обновления для вопроса.